diff -Nru p11-kit-0.23.18.1/ABOUT-NLS p11-kit-0.23.20/ABOUT-NLS --- p11-kit-0.23.18.1/ABOUT-NLS 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/ABOUT-NLS 2020-01-29 16:42:26.000000000 +0000 @@ -1,1379 +1 @@ -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. - -1.1 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. Installers may use special -options at configuration time for changing the default behaviour. The -command: - - ./configure --disable-nls - -will _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' library and -will decide to use it. If not, you may have to to use the -'--with-libintl-prefix' option to tell 'configure' where to look for it. - - 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.2 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.3 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.4 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of Jun 2014. -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 an ar as ast az be bg bn bn_IN bs ca crh cs - +---------------------------------------------------+ - a2ps | [] [] [] | - aegis | | - anubis | | - aspell | [] [] [] | - bash | [] [] [] | - bfd | | - binutils | [] | - bison | | - bison-runtime | [] | - buzztrax | [] | - ccd2cue | | - ccide | | - cflow | | - clisp | | - coreutils | [] [] | - cpio | | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | | - denemo | [] [] | - dfarc | [] | - dialog | [] [] [] | - dico | | - diffutils | [] | - dink | [] | - direvent | | - doodle | [] | - dos2unix | | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] | - exif | [] | - fetchmail | [] [] | - findutils | [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | [] | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gjay | | - glunarclock | [] [] [] | - gnubiff | [] | - gnubik | [] | - gnucash | () () [] | - gnuchess | | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] | - gramadoir | | - grep | [] [] [] | - grub | [] | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] | - gst-plugins-ugly | [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] | - help2man | | - help2man-texi | | - hylafax | | - idutils | | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | | - kbd | [] | - klavaro | [] [] [] [] [] | - ld | [] | - leafpad | [] [] [] [] | - libc | [] [] [] | - libexif | () | - libextractor | | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] [] | - lilypond | [] [] | - lordsawar | [] | - lprng | | - lynx | [] [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] | - man-db | [] [] | - man-db-manpages | | - midi-instruments | [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | [] | - nano | [] [] [] | - opcodes | | - parted | [] | - pies | | - pnmixer | | - popt | [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] | - pushover | [] | - pwdutils | | - pyspread | | - radius | [] | - recode | [] [] [] | - recutils | | - rpm | | - rush | | - sarg | | - sed | [] [] [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] | - sudoers | [] [] | - sysstat | [] | - tar | [] [] [] | - texinfo | [] [] | - texinfo_document | [] [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | | - trader | | - util-linux | [] | - ve | | - vice | | - vmm | | - vorbis-tools | [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] | - wget | [] | - wyslij-po | | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +---------------------------------------------------+ - af am an ar as ast az be bg bn bn_IN bs ca crh cs - 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 - - da de el en en_GB en_ZA eo es et eu fa fi fr - +--------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] [] | - aegis | [] [] [] [] | - anubis | [] [] [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] | - bfd | [] [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] [] [] [] | - ccd2cue | [] [] [] [] | - ccide | [] [] [] [] [] [] | - cflow | [] [] [] [] [] | - clisp | [] [] [] [] [] | - coreutils | [] [] [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] [] [] [] [] | - cryptsetup | [] [] [] [] [] | - datamash | [] [] [] [] | - denemo | [] | - dfarc | [] [] [] [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] | - dico | [] [] [] [] | - diffutils | [] [] [] [] [] [] | - dink | [] [] [] [] [] [] | - direvent | [] [] [] [] | - doodle | [] [] [] [] | - dos2unix | [] [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] () [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] [] [] [] [] [] | - freedink | [] [] [] [] [] [] [] [] | - fusionforge | [] [] [] | - gas | [] [] [] | - gawk | [] [] [] [] [] | - gcal | [] [] [] [] | - gcc | [] | - gdbm | [] [] [] [] [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] [] | - glunarclock | [] [] [] [] [] | - gnubiff | () [] [] () | - gnubik | [] [] [] [] [] | - gnucash | [] () () () () () () | - gnuchess | [] [] [] [] | - gnulib | [] [] [] [] [] [] [] | - gnunet | [] | - gnunet-gtk | [] | - gold | [] [] [] | - gphoto2 | [] () [] [] | - gprof | [] [] [] [] [] [] | - gramadoir | [] [] [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] () [] [] [] | - gtkam | [] () [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] | - guix | [] [] | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] [] [] | - help2man | [] [] [] [] [] [] [] | - help2man-texi | [] [] [] | - hylafax | [] [] | - idutils | [] [] [] [] [] | - iso_15924 | [] () [] [] () [] () | - iso_3166 | [] () [] [] [] [] () [] () | - iso_3166_2 | [] () () () | - iso_4217 | [] () [] [] [] () [] () | - iso_639 | [] () [] [] () [] () | - iso_639_3 | () () () | - iso_639_5 | () () () | - jwhois | [] [] [] [] [] | - kbd | [] [] [] [] [] [] | - klavaro | [] [] [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () [] [] | - libextractor | [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] () [] | - libgphoto2_port | [] () [] [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] [] | - liferea | [] () [] [] [] [] [] | - lilypond | [] [] [] [] [] [] | - lordsawar | [] [] | - lprng | | - lynx | [] [] [] [] [] [] | - m4 | [] [] [] [] [] [] | - mailfromd | [] | - mailutils | [] [] [] [] | - make | [] [] [] [] [] | - man-db | [] [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] [] [] | - nano | [] [] [] [] [] [] [] | - opcodes | [] [] [] [] [] | - parted | [] [] [] | - pies | [] | - pnmixer | [] [] | - popt | [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] [] | - psmisc | [] [] [] [] [] [] [] | - pspp | [] [] [] | - pushover | () [] [] [] | - pwdutils | [] [] [] | - pyspread | [] [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - recutils | [] [] [] [] | - rpm | [] [] [] [] [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] [] | - skribilo | [] [] [] | - solfege | [] [] [] [] [] [] [] [] | - solfege-manual | [] [] [] [] [] | - spotmachine | [] [] [] [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] [] [] | - sysstat | [] [] [] [] [] [] | - tar | [] [] [] [] [] [] [] | - texinfo | [] [] [] [] [] | - texinfo_document | [] [] [] [] | - tigervnc | [] [] [] [] [] [] | - tin | [] [] [] [] | - tin-man | [] | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] [] [] [] [] [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] [] | - vice | () () () | - vmm | [] [] | - vorbis-tools | [] [] [] [] | - wastesedge | [] | - wcd | [] [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] [] | - +--------------------------------------------------+ - da de el en en_GB en_ZA eo es et eu fa fi fr - 119 131 32 1 6 0 94 95 22 13 4 102 139 - - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - +-------------------------------------------------+ - a2ps | [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] | - binutils | [] [] [] | - bison | [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | | - ccd2cue | [] | - ccide | [] [] | - cflow | [] [] [] | - clisp | | - coreutils | [] [] | - cpio | [] [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] | - cryptsetup | [] | - datamash | | - denemo | [] | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] | - dink | [] | - direvent | [] | - doodle | [] [] | - dos2unix | [] [] | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] [] | - flex | [] | - freedink | [] [] [] [] | - fusionforge | | - gas | [] | - gawk | [] () [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] | - gettext-tools | [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] [] () | - gnubik | [] [] [] | - gnucash | () () () () () | - gnuchess | | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] | - hello | [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | | - hylafax | [] | - idutils | [] [] | - iso_15924 | [] [] [] [] [] [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | [] [] | - iso_4217 | [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | [] [] [] [] | - kbd | [] [] [] | - klavaro | [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] () | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | | - libgnutls | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | | - mailutils | | - make | [] [] [] [] | - man-db | [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] | - mkisofs | [] [] | - myserver | [] | - nano | [] [] [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | | - pnmixer | [] [] | - popt | [] [] [] [] [] [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | [] | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] [] [] [] [] [] | - recutils | | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] [] [] [] [] [] | - sharutils | | - shishi | | - skribilo | [] | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] [] [] | - tar | [] [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] [] | - tigervnc | | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] | - ve | [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | [] | - wcd | | - wcd-man | | - wdiff | [] [] [] | - wget | [] [] [] [] | - wyslij-po | [] [] [] | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] | - +-------------------------------------------------+ - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 - - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - +--------------------------------------------------+ - a2ps | [] [] | - aegis | [] | - anubis | [] [] [] | - aspell | [] [] | - bash | [] [] | - bfd | | - binutils | | - bison | [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | | - ccd2cue | | - ccide | [] [] | - cflow | [] | - clisp | [] | - coreutils | [] [] | - cpio | [] | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | [] [] | - denemo | | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] | - dink | [] | - direvent | [] | - doodle | [] | - dos2unix | [] [] | - dos2unix-man | [] | - e2fsprogs | [] | - enscript | [] | - exif | [] [] [] | - fetchmail | [] | - findutils | [] [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] | - gjay | | - glunarclock | [] [] | - gnubiff | [] | - gnubik | [] [] | - gnucash | () () () () () () () [] | - gnuchess | [] [] | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] [] | - gramadoir | [] | - grep | [] [] | - grub | [] [] [] | - gsasl | [] | - gss | | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] [] [] | - help2man | [] | - help2man-texi | | - hylafax | [] | - idutils | [] | - iso_15924 | () [] [] | - iso_3166 | [] [] [] () [] [] [] [] [] [] | - iso_3166_2 | () [] | - iso_4217 | () [] [] [] | - iso_639 | [] [] () [] [] [] [] | - iso_639_3 | [] () [] | - iso_639_5 | () | - jwhois | [] [] | - kbd | [] | - klavaro | [] [] | - ld | | - leafpad | [] [] [] [] [] | - libc | [] [] | - libexif | [] | - libextractor | [] | - libgnutls | [] [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] | - lilypond | [] | - lordsawar | | - lprng | | - lynx | [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] [] | - man-db | [] | - man-db-manpages | [] | - midi-instruments | [] [] [] [] [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pies | | - pnmixer | [] | - popt | [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] | - recutils | [] | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | [] | - spotmachine | [] | - sudo | [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] | - tar | [] [] [] | - texinfo | [] | - texinfo_document | [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] | - trader | [] | - util-linux | [] | - ve | [] | - vice | [] | - vmm | [] | - vorbis-tools | [] | - wastesedge | [] | - wcd | [] | - wcd-man | [] | - wdiff | [] | - wget | [] [] | - wyslij-po | [] | - xboard | [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +--------------------------------------------------+ - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 - - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - +------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] | - aegis | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] [] [] [] | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] | - ccd2cue | [] [] | - ccide | [] [] [] | - cflow | [] [] [] | - clisp | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cppi | [] [] [] | - cpplib | [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] | - denemo | | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] | - dink | | - direvent | [] [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] | - e2fsprogs | [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - freedink | [] [] [] [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | [] [] [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] | - gnubik | [] [] [] [] | - gnucash | () () () () () [] | - gnuchess | [] [] | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] | - grep | [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] [] | - help2man-texi | [] | - hylafax | | - idutils | [] [] [] | - iso_15924 | [] () [] [] [] [] | - iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | - iso_3166_2 | [] () [] | - iso_4217 | [] [] () [] [] [] [] [] | - iso_639 | [] [] [] () [] [] [] [] [] [] | - iso_639_3 | [] () | - iso_639_5 | () [] | - jwhois | [] [] [] [] | - kbd | [] [] | - klavaro | [] [] [] [] [] | - ld | | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] | - libexif | [] () [] | - libextractor | [] | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] [] | - liferea | [] [] [] [] () [] [] | - lilypond | | - lordsawar | | - lprng | [] | - lynx | [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] | - make | [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] [] | - midi-instruments | [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] | - nano | [] [] [] [] [] [] | - opcodes | | - parted | [] [] [] [] [] [] | - pies | [] | - pnmixer | [] | - popt | [] [] [] [] [] [] | - procps-ng | [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - recutils | [] [] | - rpm | [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] | - shishi | [] [] | - skribilo | [] | - solfege | [] [] [] | - solfege-manual | [] [] | - spotmachine | [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] [] | - ve | [] [] [] | - vice | | - vmm | | - vorbis-tools | [] [] [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] [] [] [] | - wget | [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +------------------------------------------------+ - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - 7 3 6 114 1 12 88 32 82 3 40 45 7 101 - - sv sw ta te tg th tr uk ur vi wa wo zh_CN - +----------------------------------------------+ - a2ps | [] [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | [] [] [] | - ccd2cue | [] [] [] | - ccide | [] [] [] [] | - cflow | [] [] [] [] | - clisp | | - coreutils | [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] | - cpplib | [] [] [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] [] | - denemo | [] | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] [] [] | - dink | [] | - direvent | [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] | - enscript | [] [] [] [] | - exif | [] [] [] [] [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] [] [] | - freedink | [] [] [] | - fusionforge | | - gas | [] | - gawk | [] [] [] | - gcal | [] [] [] | - gcc | [] | - gdbm | [] [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] | - glunarclock | [] [] [] [] | - gnubiff | [] [] | - gnubik | [] [] [] [] | - gnucash | () () () () [] | - gnuchess | [] [] [] | - gnulib | [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] | - grub | [] [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | [] | - hylafax | [] | - idutils | [] [] [] | - iso_15924 | [] () [] [] () [] | - iso_3166 | [] [] () [] [] () [] [] | - iso_3166_2 | () [] [] () [] | - iso_4217 | [] () [] [] () [] | - iso_639 | [] [] [] () [] [] () [] [] | - iso_639_3 | [] () [] [] () | - iso_639_5 | () [] () | - jwhois | [] [] [] [] | - kbd | [] [] [] [] | - klavaro | [] [] [] [] [] [] | - ld | [] [] [] [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () | - libextractor | [] [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | () [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] | - mailfromd | [] [] | - mailutils | [] | - make | [] [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] | - minicom | [] [] | - mkisofs | [] [] [] | - myserver | [] | - nano | [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | [] [] | - pnmixer | [] [] [] | - popt | [] [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] [] | - pushover | [] | - pwdutils | [] [] | - pyspread | [] | - radius | [] [] | - recode | [] [] [] [] | - recutils | [] [] [] | - rpm | [] [] [] [] | - rush | [] [] | - sarg | | - sed | [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] | - skribilo | [] [] | - solfege | [] [] [] [] | - solfege-manual | [] | - spotmachine | [] [] [] | - sudo | [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | | - wcd | [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] | - wget | [] [] [] | - wyslij-po | [] [] | - xboard | [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +----------------------------------------------+ - sv sw ta te tg th tr uk ur vi wa wo zh_CN - 106 1 4 3 0 13 51 115 1 125 7 1 100 - - zh_HK zh_TW - +-------------+ - a2ps | | 30 - aegis | | 9 - anubis | | 19 - aspell | | 29 - bash | [] | 23 - bfd | | 11 - binutils | | 12 - bison | [] | 18 - bison-runtime | [] | 38 - buzztrax | | 9 - ccd2cue | | 10 - ccide | | 17 - cflow | | 16 - clisp | | 10 - coreutils | | 18 - cpio | | 20 - cppi | | 17 - cpplib | [] | 19 - cryptsetup | | 14 - datamash | | 11 - denemo | | 5 - dfarc | | 17 - dialog | [] | 42 - dico | | 6 - diffutils | | 22 - dink | | 10 - direvent | | 11 - doodle | | 12 - dos2unix | [] | 18 - dos2unix-man | | 9 - e2fsprogs | | 15 - enscript | | 21 - exif | | 27 - fetchmail | | 19 - findutils | | 29 - flex | [] | 19 - freedink | | 24 - fusionforge | | 3 - gas | | 5 - gawk | | 13 - gcal | | 8 - gcc | | 2 - gdbm | | 10 - gettext-examples | [] [] | 40 - gettext-runtime | [] [] | 35 - gettext-tools | [] | 24 - gjay | | 9 - glunarclock | [] | 27 - gnubiff | | 9 - gnubik | | 19 - gnucash | () | 6 - gnuchess | | 11 - gnulib | | 23 - gnunet | | 1 - gnunet-gtk | | 1 - gold | | 7 - gphoto2 | [] | 19 - gprof | | 21 - gramadoir | | 14 - grep | [] | 31 - grub | | 21 - gsasl | [] | 19 - gss | | 17 - gst-plugins-bad | | 21 - gst-plugins-base | | 27 - gst-plugins-good | | 32 - gst-plugins-ugly | | 34 - gstreamer | [] | 32 - gtick | | 19 - gtkam | | 24 - gtkspell | [] [] | 48 - guix | | 2 - guix-packages | | 0 - gutenprint | | 15 - hello | [] | 30 - help2man | | 18 - help2man-texi | | 5 - hylafax | | 5 - idutils | | 14 - iso_15924 | [] | 23 - iso_3166 | [] [] | 58 - iso_3166_2 | | 9 - iso_4217 | [] [] | 28 - iso_639 | [] [] | 46 - iso_639_3 | | 10 - iso_639_5 | | 2 - jwhois | [] | 20 - kbd | | 17 - klavaro | | 30 - ld | [] | 15 - leafpad | [] | 39 - libc | [] | 24 - libexif | | 10 - libextractor | | 5 - libgnutls | | 13 - libgphoto2 | | 10 - libgphoto2_port | [] | 19 - libgsasl | | 18 - libiconv | [] | 29 - libidn | | 17 - liferea | | 29 - lilypond | | 11 - lordsawar | | 3 - lprng | | 3 - lynx | | 19 - m4 | [] | 22 - mailfromd | | 4 - mailutils | | 6 - make | | 19 - man-db | | 15 - man-db-manpages | | 10 - midi-instruments | [] | 43 - minicom | [] | 17 - mkisofs | | 13 - myserver | | 9 - nano | [] | 30 - opcodes | | 12 - parted | [] | 23 - pies | | 4 - pnmixer | | 9 - popt | [] | 36 - procps-ng | | 5 - procps-ng-man | | 4 - psmisc | [] | 22 - pspp | | 13 - pushover | | 6 - pwdutils | | 8 - pyspread | | 6 - radius | | 9 - recode | | 31 - recutils | | 10 - rpm | [] | 13 - rush | | 10 - sarg | | 4 - sed | [] | 35 - sharutils | | 13 - shishi | | 7 - skribilo | | 7 - solfege | | 21 - solfege-manual | | 9 - spotmachine | | 11 - sudo | | 26 - sudoers | | 22 - sysstat | | 23 - tar | [] | 30 - texinfo | | 17 - texinfo_document | | 13 - tigervnc | | 14 - tin | [] | 7 - tin-man | | 1 - tracgoogleappsa... | [] | 22 - trader | | 12 - util-linux | | 13 - ve | | 14 - vice | | 1 - vmm | | 3 - vorbis-tools | | 13 - wastesedge | | 3 - wcd | | 8 - wcd-man | | 3 - wdiff | [] | 23 - wget | | 21 - wyslij-po | | 14 - xboard | | 10 - xdg-user-dirs | [] [] | 68 - xkeyboard-config | [] | 28 - +-------------+ - 89 teams zh_HK zh_TW - 166 domains 7 42 2809 - - 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 Jun 2014 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.5 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 Lesser 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 p11-kit-0.23.18.1/aclocal.m4 p11-kit-0.23.20/aclocal.m4 --- p11-kit-0.23.18.1/aclocal.m4 2019-09-30 13:02:48.000000000 +0000 +++ p11-kit-0.23.20/aclocal.m4 2020-01-29 16:42:30.000000000 +0000 @@ -20,63 +20,6 @@ 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'.])]) -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2014, 2016 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 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 is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on Mac OS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in Mac OS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - [gt_cv_func_CFPreferencesCopyAppValue], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#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 Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in Mac OS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#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 Mac OS 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]) -]) - # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 11 (pkg-config-0.29.1) @@ -1571,7 +1514,9 @@ ]) # _AM_PROG_TAR m4_include([build/m4/gettext.m4]) +m4_include([build/m4/host-cpu-c-abi.m4]) m4_include([build/m4/iconv.m4]) +m4_include([build/m4/intlmacosx.m4]) m4_include([build/m4/ld-version-script.m4]) m4_include([build/m4/lib-ld.m4]) m4_include([build/m4/lib-link.m4]) diff -Nru p11-kit-0.23.18.1/bash-completion/meson.build p11-kit-0.23.20/bash-completion/meson.build --- p11-kit-0.23.18.1/bash-completion/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/bash-completion/meson.build 2019-10-31 09:09:25.000000000 +0000 @@ -0,0 +1,11 @@ +bashcomp = dependency('bash-completion', required: false) + +if bashcomp.found() + bashcompdir = bashcomp.get_pkgconfig_variable('completionsdir') + install_data('p11-kit', install_dir: bashcompdir) + if with_trust_module + install_data('trust', install_dir: bashcompdir) + endif +else + warning('Will not install bash completion due to missing dependencies!') +endif diff -Nru p11-kit-0.23.18.1/bash-completion/p11-kit p11-kit-0.23.20/bash-completion/p11-kit --- p11-kit-0.23.18.1/bash-completion/p11-kit 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/bash-completion/p11-kit 2019-10-31 09:09:25.000000000 +0000 @@ -0,0 +1,19 @@ +# p11-kit(8) completion -*- shell-script -*- + +_p11-kit() +{ + local cur prev words cword + _init_completion || return + + if [[ $cur == -* ]]; then + local opts="--help --verbose -q --quiet" + COMPREPLY=( $(compgen -W "$opts" -- "$cur") ) + return + elif [[ $cword -eq 1 ]]; then + local commands='list-modules extract server remote' + COMPREPLY=( $(compgen -W "$commands" -- "$cur") ) + fi +} && +complete -F _p11-kit p11-kit + +# ex: filetype=sh diff -Nru p11-kit-0.23.18.1/bash-completion/trust p11-kit-0.23.20/bash-completion/trust --- p11-kit-0.23.18.1/bash-completion/trust 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/bash-completion/trust 2019-10-31 09:09:25.000000000 +0000 @@ -0,0 +1,67 @@ +# trust(1) completion -*- shell-script -*- + +_trust() +{ + local cur prev words cword + _init_completion || return + + local commands command + + commands='list extract extract-compat anchor dump' + + if [[ $cword -eq 1 ]]; then + COMPREPLY=( $(compgen -W "$commands" -- "$cur") ) + else + command=${words[1]} + case $prev in + --filter) + list="" + case $command in + extract|list) + list="ca-anchors trust-policy blacklist certificates pkcs11:" + ;; + dump) + list="all pkcs11:" + ;; + esac + COMPREPLY=( $(compgen -W "$list" -- "$cur") ) + return + ;; + --purpose) + COMPREPLY=( $(compgen -W "server-auth client-auth email code-signing" -- "$cur") ) + return + ;; + --format) + options='x509-file x509-directory pem-bundle pem-directory + pem-directory-hash openssl-bundle openssl-directory + java-cacarts' + COMPREPLY=( $(compgen -W "$options" -- "$cur") ) + return + ;; + esac + + if [[ "$cur" == -* ]]; then + # possible options for the command + case $command in + list) + options='--filter --purpose' + ;; + extract) + options='--comment --filter --format --overwrite --purpose' + ;; + anchor) + options='--remove --store' + ;; + dump) + options='--filter' + ;; + esac + COMPREPLY=( $(compgen -W "$options --verbose --help --quiet" -- "$cur") ) + else + _filedir + fi + fi +} && +complete -F _trust trust + +# ex: filetype=sh diff -Nru p11-kit-0.23.18.1/build/litter/config.rpath p11-kit-0.23.20/build/litter/config.rpath --- p11-kit-0.23.18.1/build/litter/config.rpath 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/build/litter/config.rpath 2020-01-29 16:42:26.000000000 +0000 @@ -1,8 +1,8 @@ -#!/usr/bin/sh +#! /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-2016 Free Software Foundation, Inc. +# Copyright 1996-2019 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # diff -Nru p11-kit-0.23.18.1/build/m4/gettext.m4 p11-kit-0.23.20/build/m4/gettext.m4 --- p11-kit-0.23.18.1/build/m4/gettext.m4 2019-09-30 13:02:37.000000000 +0000 +++ p11-kit-0.23.20/build/m4/gettext.m4 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,5 @@ -# gettext.m4 serial 68 (gettext-0.19.8) -dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +# gettext.m4 serial 70 (gettext-0.20) +dnl Copyright (C) 1995-2014, 2016, 2018 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. @@ -20,15 +20,13 @@ 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 INTLSYMBOL must be one of 'external', 'use-libtool'. +dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and +dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'. 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 AM-DISABLE-SHARED). 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 @@ -57,19 +55,17 @@ AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) +])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported. +])]) 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], [])) + ifelse([$1], [external], [no], [yes])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) @@ -91,8 +87,7 @@ 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. + dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) @@ -278,8 +273,8 @@ 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" + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi @@ -347,43 +342,14 @@ 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 In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes' + dnl because some of the testsuite requires it. + BUILD_INCLUDED_LIBINTL=yes 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. diff -Nru p11-kit-0.23.18.1/build/m4/host-cpu-c-abi.m4 p11-kit-0.23.20/build/m4/host-cpu-c-abi.m4 --- p11-kit-0.23.18.1/build/m4/host-cpu-c-abi.m4 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/build/m4/host-cpu-c-abi.m4 2020-01-29 16:42:26.000000000 +0000 @@ -0,0 +1,644 @@ +# host-cpu-c-abi.m4 serial 11 +dnl Copyright (C) 2002-2019 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 and Sam Steingold. + +dnl Sets the HOST_CPU variable to the canonical name of the CPU. +dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its +dnl C language ABI (application binary interface). +dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in +dnl config.h. +dnl +dnl This canonical name can be used to select a particular assembly language +dnl source file that will interoperate with C code on the given host. +dnl +dnl For example: +dnl * 'i386' and 'sparc' are different canonical names, because code for i386 +dnl will not run on SPARC CPUs and vice versa. They have different +dnl instruction sets. +dnl * 'sparc' and 'sparc64' are different canonical names, because code for +dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code +dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit +dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit +dnl mode, but not both. +dnl * 'mips' and 'mipsn32' are different canonical names, because they use +dnl different argument passing and return conventions for C functions, and +dnl although the instruction set of 'mips' is a large subset of the +dnl instruction set of 'mipsn32'. +dnl * 'mipsn32' and 'mips64' are different canonical names, because they use +dnl different sizes for the C types like 'int' and 'void *', and although +dnl the instruction sets of 'mipsn32' and 'mips64' are the same. +dnl * The same canonical name is used for different endiannesses. You can +dnl determine the endianness through preprocessor symbols: +dnl - 'arm': test __ARMEL__. +dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL. +dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN. +dnl * The same name 'i386' is used for CPUs of type i386, i486, i586 +dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because +dnl - Instructions that do not exist on all of these CPUs (cmpxchg, +dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your +dnl assembly language source files use such instructions, you will +dnl need to make the distinction. +dnl - Speed of execution of the common instruction set is reasonable across +dnl the entire family of CPUs. If you have assembly language source files +dnl that are optimized for particular CPU types (like GNU gmp has), you +dnl will need to make the distinction. +dnl See . +AC_DEFUN([gl_HOST_CPU_C_ABI], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_C_ASM]) + AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi], + [case "$host_cpu" in + +changequote(,)dnl + i[4567]86 ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=i386 + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=x86_64-x32], + [gl_cv_host_cpu_c_abi=x86_64])], + [gl_cv_host_cpu_c_abi=i386]) + ;; + +changequote(,)dnl + alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=alpha + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __aarch64__ + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=arm64-ilp32], + [gl_cv_host_cpu_c_abi=arm64])], + [# Don't distinguish little-endian and big-endian arm, since they + # don't require different machine code for simple operations and + # since the user can distinguish them through the preprocessor + # defines __ARMEL__ vs. __ARMEB__. + # But distinguish arm which passes floating-point arguments and + # return values in integer registers (r0, r1, ...) - this is + # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which + # passes them in float registers (s0, s1, ...) and double registers + # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer + # sets the preprocessor defines __ARM_PCS (for the first case) and + # __ARM_PCS_VFP (for the second case), but older GCC does not. + echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c + # Look for a reference to the register d0 in the .s file. + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1 + if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then + gl_cv_host_cpu_c_abi=armhf + else + gl_cv_host_cpu_c_abi=arm + fi + rm -f conftest* + ]) + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __LP64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=hppa64], + [gl_cv_host_cpu_c_abi=hppa]) + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=ia64-ilp32], + [gl_cv_host_cpu_c_abi=ia64]) + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mips64], + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIO32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (_MIPS_SIM == _ABIN32) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mipsn32], + [gl_cv_host_cpu_c_abi=mips])]) + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [# On powerpc64, there are two ABIs on Linux: The AIX compatible + # one and the ELFv2 one. The latter defines _CALL_ELF=2. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _CALL_ELF && _CALL_ELF == 2 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=powerpc64-elfv2], + [gl_cv_host_cpu_c_abi=powerpc64]) + ], + [gl_cv_host_cpu_c_abi=powerpc]) + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi=powerpc + ;; + + riscv32 | riscv64 ) + # There are 2 architectures (with variants): rv32* and rv64*. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if __riscv_xlen == 64 + int ok; + #else + error fail + #endif + ]])], + [cpu=riscv64], + [cpu=riscv32]) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ + int ok; + #else + error fail + #endif + ]])], + [main_abi=lp64], + [main_abi=ilp32]) + # Float ABIs: + # __riscv_float_abi_double: + # 'float' and 'double' are passed in floating-point registers. + # __riscv_float_abi_single: + # 'float' are passed in floating-point registers. + # __riscv_float_abi_soft: + # No values are passed in floating-point registers. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __riscv_float_abi_double + int ok; + #else + error fail + #endif + ]])], + [float_abi=d], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __riscv_float_abi_single + int ok; + #else + error fail + #endif + ]])], + [float_abi=f], + [float_abi='']) + ]) + gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}" + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=s390x], + [gl_cv_host_cpu_c_abi=s390]) + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=sparc64], + [gl_cv_host_cpu_c_abi=sparc]) + ;; + + *) + gl_cv_host_cpu_c_abi="$host_cpu" + ;; + esac + ]) + + dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same. + HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'` + HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" + AC_SUBST([HOST_CPU]) + AC_SUBST([HOST_CPU_C_ABI]) + + # This was + # AC_DEFINE_UNQUOTED([__${HOST_CPU}__]) + # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__]) + # earlier, but KAI C++ 3.2d doesn't like this. + sed -e 's/-/_/g' >> confdefs.h <. - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) + else + dnl When compiling GNU libiconv on a system that does not have iconv yet, + dnl pick the POSIX compliant declaration without 'const'. + am_cv_proto_iconv_arg1="" fi + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated . + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) ]) diff -Nru p11-kit-0.23.18.1/build/m4/intlmacosx.m4 p11-kit-0.23.20/build/m4/intlmacosx.m4 --- p11-kit-0.23.18.1/build/m4/intlmacosx.m4 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/build/m4/intlmacosx.m4 2020-01-29 16:42:26.000000000 +0000 @@ -0,0 +1,72 @@ +# intlmacosx.m4 serial 6 (gettext-0.20) +dnl Copyright (C) 2004-2014, 2016, 2019 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 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 is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on Mac OS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in Mac OS X 10.4. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#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 Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in Mac OS X 10.5. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#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 Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[CFLocaleCopyPreferredLanguages();]])], + [gt_cv_func_CFLocaleCopyPreferredLanguages=yes], + [gt_cv_func_CFLocaleCopyPreferredLanguages=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1], + [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ + || test $gt_cv_func_CFLocaleCopyCurrent = yes \ + || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff -Nru p11-kit-0.23.18.1/build/m4/lib-ld.m4 p11-kit-0.23.20/build/m4/lib-ld.m4 --- p11-kit-0.23.18.1/build/m4/lib-ld.m4 2019-09-30 13:02:37.000000000 +0000 +++ p11-kit-0.23.20/build/m4/lib-ld.m4 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,5 @@ -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. +# lib-ld.m4 serial 9 +dnl Copyright (C) 1996-2003, 2009-2019 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. @@ -47,73 +47,122 @@ } fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. +if test -n "$LD"; then + AC_MSG_CHECKING([for ld]) +elif test "$GCC" = yes; then 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([acl_cv_path_LD], -[if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - 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 variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac fi - done - IFS="$acl_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 "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + 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 variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + dnl Complain if config.rpath is missing. + 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 @@ -187,17 +187,15 @@ pushdef([PACKUP],[m4_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],[m4_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]], + AC_ARG_WITH(PACK[-prefix], +[[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -211,7 +209,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -670,7 +668,6 @@ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi - popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) diff -Nru p11-kit-0.23.18.1/build/m4/lib-prefix.m4 p11-kit-0.23.20/build/m4/lib-prefix.m4 --- p11-kit-0.23.18.1/build/m4/lib-prefix.m4 2019-09-30 13:02:37.000000000 +0000 +++ p11-kit-0.23.20/build/m4/lib-prefix.m4 2020-01-29 16:42:26.000000000 +0000 @@ -1,18 +1,11 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. +# lib-prefix.m4 serial 14 +dnl Copyright (C) 2001-2005, 2008-2019 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 @@ -32,9 +25,9 @@ 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], + AC_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 @@ -174,51 +167,83 @@ 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= + AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT]) + 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 - ;; + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _LP64 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_solaris_64bit=yes], + [gl_cv_solaris_64bit=no]) + ]);; esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + dnl Allow the user to override the result by setting acl_cv_libdirstems. + AC_CACHE_CHECK([for the common suffixes of directories in the library search path], + [acl_cv_libdirstems], + [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. + 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 + ;; + *) + dnl If $CC generates code for a 32-bit ABI, the libraries are + dnl surely under $prefix/lib, not $prefix/lib64. + if test "$HOST_CPU_C_ABI_32BIT" != yes; then + dnl The result is a property of the system. However, non-system + dnl compilers sometimes have odd library search paths. Therefore + dnl prefer asking /usr/bin/gcc, if available, rather than $CC. + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 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 + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + ]) + # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` ]) diff -Nru p11-kit-0.23.18.1/build/m4/nls.m4 p11-kit-0.23.20/build/m4/nls.m4 --- p11-kit-0.23.18.1/build/m4/nls.m4 2019-09-30 13:02:37.000000000 +0000 +++ p11-kit-0.23.20/build/m4/nls.m4 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,5 @@ # nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019 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, diff -Nru p11-kit-0.23.18.1/build/m4/po.m4 p11-kit-0.23.20/build/m4/po.m4 --- p11-kit-0.23.18.1/build/m4/po.m4 2019-09-30 13:02:37.000000000 +0000 +++ p11-kit-0.23.20/build/m4/po.m4 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,5 @@ -# po.m4 serial 24 (gettext-0.19) -dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +# po.m4 serial 30 (gettext-0.20) +dnl Copyright (C) 1995-2014, 2016, 2018-2019 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. @@ -30,7 +30,7 @@ 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.19]) + AC_SUBST([GETTEXT_MACRO_VERSION], [0.20]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. @@ -46,13 +46,6 @@ 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 ;; @@ -83,11 +76,21 @@ 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 Test whether it is GNU msgmerge >= 0.20. + if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt' + else + dnl Test whether it is GNU msgmerge >= 0.12. + if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet' + else + dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is + dnl slow. But this is not a big problem, as such old gettext versions are + dnl hardly in use any more. + MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet' + fi + fi + AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= @@ -130,14 +133,11 @@ 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 assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) @@ -208,9 +208,8 @@ 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"' + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. + OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS" # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) @@ -311,15 +310,13 @@ fi if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` - ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` + ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` fi - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES @@ -329,9 +326,9 @@ # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) # Compute PROPERTIESFILES - # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties) # Compute CLASSFILES - # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class) # Compute QMFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) # Compute MSGFILES @@ -356,8 +353,8 @@ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties" - CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class" + PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties" + CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class" QMFILES="$QMFILES $srcdirpre$lang.qm" frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" diff -Nru p11-kit-0.23.18.1/build/m4/progtest.m4 p11-kit-0.23.20/build/m4/progtest.m4 --- p11-kit-0.23.18.1/build/m4/progtest.m4 2019-09-30 13:02:37.000000000 +0000 +++ p11-kit-0.23.20/build/m4/progtest.m4 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,5 @@ # progtest.m4 serial 7 (gettext-0.18.2) -dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc. +dnl Copyright (C) 1996-2003, 2005, 2008-2019 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. diff -Nru p11-kit-0.23.18.1/ChangeLog p11-kit-0.23.20/ChangeLog --- p11-kit-0.23.18.1/ChangeLog 2019-09-30 13:03:25.000000000 +0000 +++ p11-kit-0.23.20/ChangeLog 2020-01-29 16:44:39.000000000 +0000 @@ -1,5 +1,465 @@ # Generate automatically. Do not edit. +commit ab180d64b909594bdafc9596f67a1913275c6474 +Author: Daiki Ueno +Date: 2020-01-29 + + Revert "Fix RPC calls: ATTRIBUTE buf not null but length 0" + + This reverts commit 65409c0ebd5d9a4aaf55254256dcc878862a0be1. + + p11-kit/rpc-message.c | 8 +------- + p11-kit/rpc-server.c | 22 +++------------------- + 2 files changed, 4 insertions(+), 26 deletions(-) + +commit 17a26f0948944635453a54d44c2565ed7ba91a14 +Author: Daiki Ueno +Date: 2020-01-29 + + Revert "Fix RPC calls: BYTE buffer not null and length 0" + + This reverts commit 8cb21a6a09d18156c9002b97687e5ac0bfa0fc92. + + p11-kit/rpc-client.c | 2 +- + p11-kit/rpc-message.c | 6 ++---- + p11-kit/rpc-message.h | 3 +-- + p11-kit/rpc-server.c | 7 ++----- + 4 files changed, 6 insertions(+), 12 deletions(-) + +commit 83aaa2200bfa141b0c9e1c4f5af98252f8e826cc +Author: Daiki Ueno +Date: 2020-01-29 + + Revert "Fix C_GetSlotList() when length is 0" + + This reverts commit 1ede9b8d33c4bc9a4194ffca22ac6d7351f6bcf5. + + It turned out that this breaks compatibility of the RPC protocol. The + right fix to the original issue would be probably to add a new call ID + associated with a different signature and add a fallback mechanism in + both client and server. + + p11-kit/rpc-client.c | 2 +- + p11-kit/rpc-message.c | 6 ++---- + p11-kit/rpc-message.h | 3 +-- + p11-kit/rpc-server.c | 7 ++----- + p11-kit/test-server.c | 36 ------------------------------------ + 5 files changed, 6 insertions(+), 48 deletions(-) + +commit 69a420aaa70af5b89508b5140edb0ee4e166605b +Author: Daiki Ueno +Date: 2020-01-21 + + Release 0.23.19 + + NEWS | 9 +++++++++ + configure.ac | 2 +- + meson.build | 2 +- + 3 files changed, 11 insertions(+), 2 deletions(-) + +commit 251dfdfd765e709b7d54420c685e19f70a5e9803 +Author: Daiki Ueno +Date: 2020-01-22 + + travis: Tighten autotools build steps + + .travis/autotools/script.sh | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +commit e9dbeeea96b0b709631d1b6d62f9877f4872993b +Author: Daiki Ueno +Date: 2020-01-22 + + travis: Do 'make distcheck' in autotools build + + .travis/autotools/script.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2a1ee21ca31a62274e0932572f972bf3340f8bde +Author: Daiki Ueno +Date: 2020-01-21 + + build: Add --with-bash-completion configure option + + This is needed for 'make distcheck' to not install those files in the + system locations. + + Makefile.am | 1 + + configure.ac | 12 +++++++++--- + 2 files changed, 10 insertions(+), 3 deletions(-) + +commit cee7c2ad81d21795783ec28a67247cff740de2ce +Author: Daiki Ueno +Date: 2020-01-21 + + build: Only distribute XZ-compressed tarballs + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5092f8dd5463b89642e29ca5ae7ea08aa30d5d66 +Author: Daiki Ueno +Date: 2020-01-21 + + build: Add more files to .gitignore + + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +commit a96af650e1ac2f5faecc9354ac30d128a7e93b9f +Author: Daiki Ueno +Date: 2020-01-21 + + meson: Expose only C_GetFunctionList from the mock modules + + p11-kit/meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +commit ba3c7d16760d177be43960c9eb9572817c60c4df +Author: Daiki Ueno +Date: 2020-01-21 + + mock: Handle memory allocation error in C_Initialize + + common/mock.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 62b09608e3a311c8b8ae924805f936f8af593bfa +Author: Daiki Ueno +Date: 2020-01-15 + + meson: Use cc.has_type for types instead of cc.has_header_symbol + + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 45cd66e3a16f0102a50f33ebb4a58aac09f40f92 +Author: Daiki Ueno +Date: 2020-01-15 + + meson: Check if exists + + meson.build | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 5fe875dc598e2dc50ba8e888099c116fe12999d3 +Author: Daiki Ueno +Date: 2020-01-15 + + meson: Check program_invocation_short_name declaration + + Pointed by Rosen Penev in #268. + + meson.build | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 869b657c7bfbd2f91331d5aabcf572cba6043d37 +Author: Daiki Ueno +Date: 2020-01-15 + + meson: Check endianness + + meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 1f8d523e5db688deff13329b4cba1dd6181d76a3 +Author: Daiki Ueno +Date: 2020-01-15 + + build: Fix type mismatch in reallocarray usage + + common/attrs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1def8077a2bc1fc2a6bd3685a9d94a9a51f40e23 +Author: Daiki Ueno +Date: 2019-10-31 + + trust: Support CKA_NSS_{SERVER,EMAIL}_DISTRUST_AFTER + + These new attributes are introduced in: + https://bugzilla.mozilla.org/show_bug.cgi?id=1465613 + + The value of the attribute can be either false (represented as a + single octed "\x00"), or a UTCTime in a restricted form (i.e., + "YYMMDDHHMMSSZ"). For future proof, we also support GeneralizedTime + in the form "YYYYMMDDHHMMSSZ". + + common/constants.c | 2 ++ + common/pkcs11x.h | 2 ++ + trust/builder.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + trust/test-builder.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 157 insertions(+) + +commit e8b453383ace97fc1adfc213dc718e7b62fafd96 +Author: Daiki Ueno +Date: 2020-01-14 + + build: Remove auto-generated gettext files from repository + + po/en@boldquot.header | 25 ------------------------- + po/en@quot.header | 22 ---------------------- + po/insert-header.sin | 23 ----------------------- + po/remove-potcdate.sin | 19 ------------------- + 4 files changed, 89 deletions(-) + +commit 8d92053df8a2bfed89a6f3e835386e13c7f95b61 +Author: Daiki Ueno +Date: 2020-01-14 + + build: Use AM_GNU_GETTEXT_REQUIRE_VERSION + + AM_GNU_GETTEXT_REQUIRE_VERSION was introduced a while back to instruct + autopoint to pull the latest version of gettext infrastructure. Use + it instead of hacking around gettextize call in autogen.sh. + + autogen.sh | 13 ------------- + configure.ac | 4 ++++ + 2 files changed, 4 insertions(+), 13 deletions(-) + +commit 5bb71e914532b8350dfc14697c4fa89e714e5812 +Author: David Woodhouse +Date: 2020-01-06 + + rpc: Add vsock transport + + This allows PKCS#11 remoting between virtual machines, so a software + token can be isolated into a microVM. + + common/Makefile.am | 1 + + common/meson.build | 3 +- + common/vsock.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++ + common/vsock.h | 46 ++++++++++++++++++ + configure.ac | 15 ++++++ + meson.build | 9 ++++ + p11-kit/rpc-transport.c | 97 ++++++++++++++++++++++++++++++++++++++ + p11-kit/server.c | 118 ++++++++++++++++++++++++++++++++++++++++------ + 8 files changed, 395 insertions(+), 16 deletions(-) + +commit 877de5fadaf0067272e8d0eb24893d7c823afe08 +Author: David Woodhouse +Date: 2020-01-06 + + rpc: Check for socket init failure + + In some cases, rpc_unix_init() or rpc_exec_init() can return NULL but + p11_rpc_transport_new() doesn't check and may dereference it. + + p11-kit/rpc-transport.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 96af147637f0dc10792c3abdcec1894c361229da +Author: Daiki Ueno +Date: 2020-01-09 + + build: Suppress cppcheck false-positive on tracking array length + + p11-kit/proxy.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit e931efd17950786ee61cbfc70ddf94d02ae473ba +Author: Daiki Ueno +Date: 2020-01-08 + + build: Fix realloc usage + + As realloc() doesn't touch the original memory block, we need to use a + local variable to avoid potential memory leak in failure cases. + + Pointed by David Woodhouse. + + common/attrs.c | 6 ++++-- + p11-kit/filter.c | 9 +++++---- + p11-kit/iter.c | 20 ++++++++++++++------ + p11-kit/proxy.c | 7 +++++-- + trust/index.c | 12 ++++++++++-- + 5 files changed, 38 insertions(+), 16 deletions(-) + +commit 6563ad8ececec05f2b6269b509d4e12c07d2a87e +Author: Daiki Ueno +Date: 2019-10-26 + + CONTRIBUTING.md: Mention contribution rules and coding style + + CONTRIBUTING.md | 35 +++++++++++++++++++++++++++++++++++ + HACKING | 16 ---------------- + Makefile.am | 2 +- + 3 files changed, 36 insertions(+), 17 deletions(-) + +commit 65409c0ebd5d9a4aaf55254256dcc878862a0be1 +Author: Vincent JARDIN +Date: 2019-10-22 + + Fix RPC calls: ATTRIBUTE buf not null but length 0 + + Let's add a support for cases when the buffer != NULL but the + length is 0. According to Oasis, buffer = NULL and length = 0 + means a query of the length so the subsequent calls with a + buffer != NULL should fill then buffer when length is long enough. + If not, according to Oasis, one should get a CKR_BUFFER_TOO_SMALL. + + See the previous commit for IN_ULONG_BUFFER(). This patch is + follow a similar design pattern. + + Fix: issue #257 + + p11-kit/rpc-message.c | 8 +++++++- + p11-kit/rpc-server.c | 22 +++++++++++++++++++--- + 2 files changed, 26 insertions(+), 4 deletions(-) + +commit 8cb21a6a09d18156c9002b97687e5ac0bfa0fc92 +Author: Vincent JARDIN +Date: 2019-10-22 + + Fix RPC calls: BYTE buffer not null and length 0 + + Let's add a support for cases when the buffer != NULL but the + length is 0. According to Oasis, buffer = NULL and length = 0 + means a query of the length so the subsequent calls with a + buffer != NULL should fill buffer when length is long enough. + If not, according to Oasis, one should get a CKR_BUFFER_TOO_SMALL. + + This current fix is for IN_BYTE_BUFFER(), same + for IN_ATTRIBUTE_BUFFER(). + + See the previous commit for IN_ULONG_BUFFER(). This patch is + strictly using the same design pattern. + + Fix: issue #257 + + Suggested-by: Daiki Ueno + + p11-kit/rpc-client.c | 2 +- + p11-kit/rpc-message.c | 6 ++++-- + p11-kit/rpc-message.h | 3 ++- + p11-kit/rpc-server.c | 7 +++++-- + 4 files changed, 12 insertions(+), 6 deletions(-) + +commit 1ede9b8d33c4bc9a4194ffca22ac6d7351f6bcf5 +Author: Vincent JARDIN +Date: 2019-10-21 + + Fix C_GetSlotList() when length is 0 + + Let's add a support for cases when the buffer != NULL but the + length is 0. According to Oasis, buffer = NULL and length = 0 + means a query of the length so the subsequent calls with a + buffer != NULL should fill buffer when length is long enough. + If not, according to Oasis, one should get a CKR_BUFFER_TOO_SMALL. + + This current fix is for IN_ULONG_BUFFER(), same + should be applied for IN_BYTE_BUFFER() and for IN_ATTRIBUTE_BUFFER(). + + Include a test_no_slots() + + Fix: issue #257 + + Suggested-by: Daiki Ueno + + p11-kit/rpc-client.c | 2 +- + p11-kit/rpc-message.c | 6 ++++-- + p11-kit/rpc-message.h | 3 ++- + p11-kit/rpc-server.c | 7 +++++-- + p11-kit/test-server.c | 36 ++++++++++++++++++++++++++++++++++++ + 5 files changed, 48 insertions(+), 6 deletions(-) + +commit 9763fc8edcc5dd41e07ddf068dce6bc429dfe6b6 +Author: Jakub Jelen +Date: 2019-10-23 + + test-proxy: Implement reproducer for bad prefix list matching + + p11-kit/test-proxy.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 298ad811540c538fea1906528fe8cf8a6784e5ee +Author: Jakub Jelen +Date: 2019-10-23 + + modules: Implement correct search in list + + The current version of matching was failing, when the list contained + also a searched string with some suffix, for example, when we ran from + p11-kit and the p11-kit-proxy was first in the list and p11-kit later, + it was not matched, because the test did not find a separator after + the first match, decided that it does not match and did not try further. + + example program p11-kit + example enable-in: p11-kit-proxy,p11-kit + + p11-kit/modules.c | 26 ++++++++++++++++++-------- + 1 file changed, 18 insertions(+), 8 deletions(-) + +commit 7c94eab51d08650eaa66184344325d42e812973c +Author: Daiki Ueno +Date: 2019-10-23 + + autotools: Fix bash-completion installation + + Makefile.am | 13 ++++--------- + configure.ac | 5 ++++- + p11-kit/Makefile.am | 4 ++++ + trust/Makefile.am | 4 ++++ + 4 files changed, 16 insertions(+), 10 deletions(-) + +commit ef2716d18e1098effb8f3a90653c6264b2fec426 +Author: Jakub Jelen +Date: 2019-10-22 + + Install bash completion in the CI + + .travis/autotools/before_install.sh | 2 +- + .travis/cppcheck/before_install.sh | 2 +- + .travis/linux/before_install.sh | 2 +- + .travis/osx/before_install.sh | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 387594893ee8d09267a7b788f3dae6905093d3c9 +Author: Jakub Jelen +Date: 2019-10-21 + + Add simple bash completion for provided commands + + Makefile.am | 8 ++++++ + bash-completion/meson.build | 11 ++++++++ + bash-completion/p11-kit | 19 +++++++++++++ + bash-completion/trust | 67 +++++++++++++++++++++++++++++++++++++++++++++ + configure.ac | 7 +++++ + meson.build | 1 + + 6 files changed, 113 insertions(+) + +commit b879b9b8395d0a99dbc9b8ae8057dc84bdd551e6 +Author: Jakub Jelen +Date: 2019-10-22 + + configure: Fix typo to avoid errors during configure + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6b33efaa82848bac7fd73888963a106cf4c03151 +Author: Dmitry Eremin-Solenikov +Date: 2019-10-07 + + common: add Russian PKCS#11 extensions to pkcs11x.h header + + Add values defined to support Russian GOST cryptography to pkcs11x.h + header. + + Signed-off-by: Dmitry Eremin-Solenikov + + common/pkcs11x.h | 36 ++++++++++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +commit a92894c80d880b6047327a276395b1f88fc733ee +Author: Daiki Ueno +Date: 2019-09-30 + + autotools: Add more files from meson build in distribution + + Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + commit b0ebe7555c291808db29377ba79cb8326301f0a6 Author: Daiki Ueno Date: 2019-09-30 diff -Nru p11-kit-0.23.18.1/common/attrs.c p11-kit-0.23.20/common/attrs.c --- p11-kit-0.23.18.1/common/attrs.c 2019-02-26 15:04:41.000000000 +0000 +++ p11-kit-0.23.20/common/attrs.c 2020-01-21 15:40:30.000000000 +0000 @@ -102,6 +102,7 @@ CK_ULONG j; CK_ULONG i; size_t length; + void *new_memory; /* How many attributes we already have */ current = p11_attrs_count (attrs); @@ -109,8 +110,9 @@ /* Reallocate for how many we need */ length = current + count_to_add; return_val_if_fail (current <= length && length < SIZE_MAX, NULL); - attrs = reallocarray (attrs, length + 1, sizeof (CK_ATTRIBUTE)); - return_val_if_fail (attrs != NULL, NULL); + new_memory = reallocarray (attrs, length + 1, sizeof (CK_ATTRIBUTE)); + return_val_if_fail (new_memory != NULL, NULL); + attrs = new_memory; at = current; for (i = 0; i < count_to_add; i++) { diff -Nru p11-kit-0.23.18.1/common/constants.c p11-kit-0.23.20/common/constants.c --- p11-kit-0.23.18.1/common/constants.c 2018-08-06 09:43:42.000000000 +0000 +++ p11-kit-0.23.20/common/constants.c 2020-01-21 15:22:29.000000000 +0000 @@ -155,6 +155,8 @@ CT (CKA_NSS_PQG_SEED_BITS, "nss-pqg-seed-bits") CT (CKA_NSS_MODULE_SPEC, "nss-module-spec") CT (CKA_NSS_MOZILLA_CA_POLICY, "nss-mozilla-ca-policy") + CT (CKA_NSS_SERVER_DISTRUST_AFTER, "nss-server-distrust-after") + CT (CKA_NSS_EMAIL_DISTRUST_AFTER, "nss-email-distrust-after") CT (CKA_TRUST_DIGITAL_SIGNATURE, "trust-digital-signature") CT (CKA_TRUST_NON_REPUDIATION, "trust-non-repudiation") CT (CKA_TRUST_KEY_ENCIPHERMENT, "trust-key-encipherment") diff -Nru p11-kit-0.23.18.1/common/Makefile.am p11-kit-0.23.20/common/Makefile.am --- p11-kit-0.23.18.1/common/Makefile.am 2019-09-18 13:12:38.000000000 +0000 +++ p11-kit-0.23.20/common/Makefile.am 2020-01-16 12:05:13.000000000 +0000 @@ -30,6 +30,7 @@ common/pkcs11.h common/pkcs11x.h common/pkcs11i.h \ common/runtime.c common/runtime.h \ common/url.c common/url.h \ + common/vsock.c common/vsock.h \ common/init.h \ $(NULL) diff -Nru p11-kit-0.23.18.1/common/meson.build p11-kit-0.23.20/common/meson.build --- p11-kit-0.23.18.1/common/meson.build 2019-08-28 14:38:42.000000000 +0000 +++ p11-kit-0.23.20/common/meson.build 2020-01-16 12:05:13.000000000 +0000 @@ -14,7 +14,8 @@ 'message.c', 'path.c', 'runtime.c', - 'url.c' + 'url.c', + 'vsock.c' ] libp11_common = static_library('p11-common', libp11_common_sources, diff -Nru p11-kit-0.23.18.1/common/mock.c p11-kit-0.23.20/common/mock.c --- p11-kit-0.23.18.1/common/mock.c 2018-08-06 09:43:42.000000000 +0000 +++ p11-kit-0.23.20/common/mock.c 2020-01-21 15:40:30.000000000 +0000 @@ -431,6 +431,10 @@ the_sessions = p11_dict_new (p11_dict_direct_hash, p11_dict_direct_equal, NULL, free_session); + if (!the_sessions) { + ret = CKR_HOST_MEMORY; + goto done; + } module_reset_objects (MOCK_SLOT_ONE_ID); diff -Nru p11-kit-0.23.18.1/common/pkcs11x.h p11-kit-0.23.20/common/pkcs11x.h --- p11-kit-0.23.18.1/common/pkcs11x.h 2018-08-06 09:43:42.000000000 +0000 +++ p11-kit-0.23.20/common/pkcs11x.h 2020-01-21 15:22:29.000000000 +0000 @@ -75,6 +75,8 @@ #define CKA_NSS_PQG_SEED_BITS 0xce534367UL #define CKA_NSS_MODULE_SPEC 0xce534368UL #define CKA_NSS_MOZILLA_CA_POLICY 0xce534372UL +#define CKA_NSS_SERVER_DISTRUST_AFTER 0xce534373UL +#define CKA_NSS_EMAIL_DISTRUST_AFTER 0xce534374UL /* NSS trust attributes */ #define CKA_TRUST_DIGITAL_SIGNATURE 0xce536351UL @@ -143,6 +145,42 @@ #endif /* CRYPTOKI_X_VENDOR_DEFINED */ +/* Define this if you want the vendor specific symbols */ +#define CRYPTOKI_RU_TEAM_TC26_VENDOR_DEFINED 1 +#ifdef CRYPTOKI_RU_TEAM_TC26_VENDOR_DEFINED + +/* See https://tc26.ru/standarts/perevody/guidelines-the-pkcs-11-extensions-for-implementing-the-gost-r-34-10-2012-and-gost-r-34-11-2012-russian-standards-.html */ + +#define NSSCK_VENDOR_PKCS11_RU_TEAM 0xD4321000 /* 0x80000000 | 0x54321000 */ +#define CK_VENDOR_PKCS11_RU_TEAM_TC26 NSSCK_VENDOR_PKCS11_RU_TEAM + +/* GOST KEY TYPES */ +#define CKK_GOSTR3410_512 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x003) +#define CKK_KUZNECHIK (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x004) +#define CKK_MAGMA (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x005) + +/* PKCS #5 PRF Functions */ +#define CKP_PKCS5_PBKD2_HMAC_GOSTR3411_2012_512 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x003) + +/* GOST MECHANISMS */ +#define CKM_GOSTR3410_512_KEY_PAIR_GEN (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x005) +#define CKM_GOSTR3410_512 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x006) +#define CKM_GOSTR3410_2012_DERIVE (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x007) +#define CKM_GOSTR3410_WITH_GOSTR3411_2012_256 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x008) +#define CKM_GOSTR3410_WITH_GOSTR3411_2012_512 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x009) +#define CKM_GOSTR3410_PUBLIC_KEY_DERIVE (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x00A) +#define CKM_GOSTR3411_2012_256 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x012) +#define CKM_GOSTR3411_2012_512 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x013) +#define CKM_GOSTR3411_2012_256_HMAC (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x014) +#define CKM_GOSTR3411_2012_512_HMAC (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x015) +#define CKM_TLS_GOST_PRF_2012_256 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x016) +#define CKM_TLS_GOST_PRF_2012_512 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x017) +#define CKM_TLS_GOST_MASTER_KEY_DERIVE_2012_256 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x018) +#define CKM_KDF_4357 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x025) +#define CKM_KDF_GOSTR3411_2012_256 (CK_VENDOR_PKCS11_RU_TEAM_TC26 |0x026) + +#endif /* CRYPTOKI_RU_TEAM_TC26_VENDOR_DEFINED */ + #if defined(__cplusplus) } #endif diff -Nru p11-kit-0.23.18.1/common/vsock.c p11-kit-0.23.20/common/vsock.c --- p11-kit-0.23.18.1/common/vsock.c 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/common/vsock.c 2020-01-16 12:05:13.000000000 +0000 @@ -0,0 +1,122 @@ +/* + * Copyright © 2020 Amazon.com, Inc. or its affiliates. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the + * above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * The names of contributors to this software may not be + * used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "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 + * COPYRIGHT OWNER 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. + * + * Author: David Woodhouse + */ + +#include "config.h" + +#include "vsock.h" + +#include +#include +#include + +#include +#include +#include + +#ifdef HAVE_VSOCK +#include +#include +#include +#endif + +/* This generic parsing utility doesn't actually require the + * vm_sockets.h header and thus doesn't require conditional + * compiliation... except for this one definition. */ +#ifndef VMADDR_CID_ANY +#define VMADDR_CID_ANY -1U +#endif + +bool +p11_vsock_parse_addr (const char *target, + unsigned int *cid, + unsigned int *port) +{ + bool cid_found = false; + bool port_found = false; + unsigned long val; + char *endptr; + + while (*target) { + if (strncmp (target, "cid=", 4) == 0) { + val = strtoul(target + 4, &endptr, 0); + if (val > UINT_MAX || endptr == target + 4) + return false; + *cid = val; + cid_found = true; + } else if (strncmp (target, "port=", 5) == 0) { + val = strtoul (target + 5, &endptr, 0); + if (val > UINT_MAX || endptr == target + 5) + return false; + *port = val; + port_found = true; + } else { + return false; + } + + target = endptr; + if (*target == ';') + target++; + else if (*target) + return false; + } + + /* Port is mandatory */ + if (!port_found) + return false; + + /* CID is optional, defaulting to VMADDR_CID_ANY */ + if (!cid_found) + *cid = VMADDR_CID_ANY; + + return true; +} + +bool +p11_vsock_get_local_cid (unsigned int *cid) +{ +#ifndef HAVE_VSOCK + return false; +#else + int fd = open ("/dev/vsock", O_RDONLY); + int rc; + + if (fd == -1) + return false; + + rc = ioctl (fd, IOCTL_VM_SOCKETS_GET_LOCAL_CID, cid, sizeof(*cid)); + close (fd); + + return (rc == 0); +#endif +} diff -Nru p11-kit-0.23.18.1/common/vsock.h p11-kit-0.23.20/common/vsock.h --- p11-kit-0.23.18.1/common/vsock.h 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/common/vsock.h 2020-01-16 12:05:13.000000000 +0000 @@ -0,0 +1,46 @@ +/* + * Copyright © 2020 Amazon.com, Inc. or its affiliates. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the + * above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * * The names of contributors to this software may not be + * used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "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 + * COPYRIGHT OWNER 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. + * + * Author: David Woodhouse + */ + +#ifndef P11_VSOCK_H +#define P11_VSOCK_H + +#include "compat.h" + +bool p11_vsock_parse_addr (const char *target, + unsigned int *cid, + unsigned int *port); + +bool p11_vsock_get_local_cid (unsigned int *cid); + +#endif /* P11_VSOCK_H */ diff -Nru p11-kit-0.23.18.1/config.h.in p11-kit-0.23.20/config.h.in --- p11-kit-0.23.18.1/config.h.in 2019-09-30 13:02:48.000000000 +0000 +++ p11-kit-0.23.20/config.h.in 2020-01-29 16:42:31.000000000 +0000 @@ -20,6 +20,10 @@ CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES + /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE @@ -183,6 +187,9 @@ /* Define to 1 if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF +/* Whether vsock support available */ +#undef HAVE_VSOCK + /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL diff -Nru p11-kit-0.23.18.1/configure p11-kit-0.23.20/configure --- p11-kit-0.23.18.1/configure 2019-09-30 13:02:48.000000000 +0000 +++ p11-kit-0.23.20/configure 2020-01-29 16:42:31.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for p11-kit 0.23.18. +# Generated by GNU Autoconf 2.69 for p11-kit 0.23.20. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='p11-kit' PACKAGE_TARNAME='p11-kit' -PACKAGE_VERSION='0.23.18' -PACKAGE_STRING='p11-kit 0.23.18' +PACKAGE_VERSION='0.23.20' +PACKAGE_STRING='p11-kit 0.23.20' PACKAGE_BUGREPORT='https://github.com/p11-glue/p11-kit/issues' PACKAGE_URL='https://p11-glue.github.io/p11-glue/p11-kit.html' @@ -636,6 +636,9 @@ am__EXEEXT_TRUE LTLIBOBJS LIBOBJS +WITH_BASH_COMPLETION_FALSE +WITH_BASH_COMPLETION_TRUE +bashcompdir WITH_SYSTEMD_FALSE WITH_SYSTEMD_TRUE systemduserunitdir @@ -696,11 +699,11 @@ LIBICONV INTL_MACOSX_LIBS XGETTEXT_EXTRA_OPTIONS +MSGMERGE_FOR_MSGFMT_OPTION MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 -MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION @@ -863,6 +866,7 @@ enable_strict enable_coverage with_systemd +with_bash_completion ' ac_precious_vars='build_alias host_alias @@ -883,7 +887,8 @@ LIBFFI_LIBS LIBSYSTEMD_CFLAGS LIBSYSTEMD_LIBS -systemduserunitdir' +systemduserunitdir +bashcompdir' # Initialize some variables set by options. @@ -1424,7 +1429,7 @@ # 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 p11-kit 0.23.18 to adapt to many kinds of systems. +\`configure' configures p11-kit 0.23.20 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1494,7 +1499,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of p11-kit 0.23.18:";; + short | recursive ) echo "Configuration of p11-kit 0.23.20:";; esac cat <<\_ACEOF @@ -1566,6 +1571,8 @@ --with-html-dir=PATH path to installed docs --without-systemd Disable systemd socket activation + --without-bash-completion + Don't install bash completion files Some influential environment variables: CC C compiler command @@ -1596,6 +1603,8 @@ linker flags for LIBSYSTEMD, overriding pkg-config systemduserunitdir value of systemduserunitdir for systemd, overriding pkg-config + bashcompdir value of completionsdir for bash-completion, overriding + pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1664,7 +1673,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -p11-kit configure 0.23.18 +p11-kit configure 0.23.20 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2373,7 +2382,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by p11-kit $as_me 0.23.18, which was +It was created by p11-kit $as_me 0.23.20, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3255,7 +3264,7 @@ # Define the identity of the package. PACKAGE='p11-kit' - VERSION='0.23.18' + VERSION='0.23.20' cat >>confdefs.h <<_ACEOF @@ -13730,7 +13739,7 @@ - GETTEXT_MACRO_VERSION=0.19 + GETTEXT_MACRO_VERSION=0.20 @@ -13845,12 +13854,7 @@ - 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 + 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 @@ -14002,7 +14006,15 @@ fi - test -n "$localedir" || localedir='${datadir}/locale' + if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt' + else + if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then + MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet' + else + MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet' + fi + fi test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= @@ -14049,38 +14061,12 @@ } fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 +$as_echo_n "checking for ld... " >&6; } +elif test "$GCC" = yes; then { $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; } @@ -14088,44 +14074,129 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if ${acl_cv_path_LD+:} false; then : +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else - if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - 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 variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac fi - done - IFS="$acl_save_ifs" + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + 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 variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # The compiler produces 64-bit code. Add option '-b64' so that the + # linker groks 64-bit object files. + case "$acl_cv_path_LD " in + *" -b64 "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; + esac + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + sparc64-*-netbsd*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + else - acl_cv_path_LD="$LD" # Let the user override the test with a path. + # The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + esac + fi -LD="$acl_cv_path_LD" + LD="$acl_cv_path_LD" +fi 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; } + as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 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 ${acl_cv_prog_gnu_ld+:} false; then : @@ -14182,67 +14253,324 @@ - acl_libdirstem=lib - acl_libdirstem2= + { $as_echo "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5 +$as_echo_n "checking 32-bit host C ABI... " >&6; } +if ${gl_cv_host_cpu_c_abi_32bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$gl_cv_host_cpu_c_abi"; then + case "$gl_cv_host_cpu_c_abi" in + i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) + gl_cv_host_cpu_c_abi_32bit=yes ;; + *) + gl_cv_host_cpu_c_abi_32bit=no ;; + esac + else + case "$host_cpu" in + + i[4567]86 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) \ + && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=yes +else + gl_cv_host_cpu_c_abi_32bit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + riscv32 | riscv64 ) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + *) + gl_cv_host_cpu_c_abi_32bit=no + ;; + esac + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5 +$as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; } + + HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" + + + + + case "$host_os" in solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 $as_echo_n "checking for 64-bit host... " >&6; } if ${gl_cv_solaris_64bit+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #ifdef _LP64 -sixtyfour bits -#endif + int ok; + #else + error fail + #endif _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : +if ac_fn_c_try_compile "$LINENO"; then : gl_cv_solaris_64bit=yes else gl_cv_solaris_64bit=no fi -rm -f conftest* - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 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 - ;; +$as_echo "$gl_cv_solaris_64bit" >&6; };; esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 +$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; } +if ${acl_cv_libdirstems+:} false; then : + $as_echo_n "(cached) " >&6 +else + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + 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 + ;; + *) + if test "$HOST_CPU_C_ABI_32BIT" != yes; then + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 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 + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5 +$as_echo "$acl_cv_libdirstems" >&6; } + # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` @@ -14291,7 +14619,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -14731,8 +15059,6 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : @@ -14801,8 +15127,44 @@ $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5 +$as_echo_n "checking for CFLocaleCopyPreferredLanguages... " >&6; } +if ${gt_cv_func_CFLocaleCopyPreferredLanguages+:} false; 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 () +{ +CFLocaleCopyPreferredLanguages(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyPreferredLanguages=yes +else + gt_cv_func_CFLocaleCopyPreferredLanguages=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_CFLocaleCopyPreferredLanguages" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; } + if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h + + fi INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ + || test $gt_cv_func_CFLocaleCopyCurrent = yes \ + || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi @@ -15090,15 +15452,27 @@ #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)) - result |= 16; + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } return result; ; @@ -15151,7 +15525,6 @@ - use_additional=yes acl_save_prefix="$prefix" @@ -15189,7 +15562,7 @@ additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then + && test ! -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi @@ -15605,7 +15978,6 @@ - { $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 eval \${$gt_func_gnugettext_libintl+:} false; then : @@ -15802,6 +16174,10 @@ + + + + if test "$enable_static" = "yes"; then as_fn_error $? "p11-kit cannot be used as a static library" "$LINENO" 5 fi @@ -16732,7 +17108,8 @@ # Check if these are declared and/or available to link against - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "$ac_includes_default" + ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : ac_have_decl=1 else @@ -16742,7 +17119,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl _ACEOF -, , , #include ) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is available" >&5 $as_echo_n "checking whether program_invocation_short_name is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16849,6 +17226,39 @@ fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vsock support is available" >&5 +$as_echo_n "checking whether vsock support is available... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +struct sockaddr_vm sa = { + .svm_family = AF_VSOCK, + .svm_cid = VMADDR_CID_ANY, + }; + (void)&sa; + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_VSOCK 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; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi # These are thngs we can work around @@ -18180,6 +18590,57 @@ fi +# -------------------------------------------------------------------- +# bash completion + + +# Check whether --with-bash-completion was given. +if test "${with_bash_completion+set}" = set; then : + withval=$with_bash_completion; +fi + + +if test "$with_bash_completion" != "no"; then : + + +if test -n "$bashcompdir"; then + pkg_cv_bashcompdir="$bashcompdir" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"bash-completion\""; } >&5 + ($PKG_CONFIG --exists --print-errors "bash-completion") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_bashcompdir=`$PKG_CONFIG --variable="completionsdir" "bash-completion" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +bashcompdir=$pkg_cv_bashcompdir + +if test "x$bashcompdir" = x""; then : + +else + with_bash_completion=yes +fi + + +fi + + if test "$with_bash_completion" = "yes"; then + WITH_BASH_COMPLETION_TRUE= + WITH_BASH_COMPLETION_FALSE='#' +else + WITH_BASH_COMPLETION_TRUE='#' + WITH_BASH_COMPLETION_FALSE= +fi + + + ac_config_files="$ac_config_files Makefile doc/Makefile doc/manual/Makefile po/Makefile.in p11-kit/p11-kit-1.pc p11-kit/pkcs11.conf.example trust/trust-extract-compat trust/test-init.sh" cat >confcache <<\_ACEOF @@ -18380,6 +18841,10 @@ as_fn_error $? "conditional \"WITH_SYSTEMD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${WITH_BASH_COMPLETION_TRUE}" && test -z "${WITH_BASH_COMPLETION_FALSE}"; then + as_fn_error $? "conditional \"WITH_BASH_COMPLETION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 @@ -18777,7 +19242,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by p11-kit $as_me 0.23.18, which was +This file was extended by p11-kit $as_me 0.23.20, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18844,7 +19309,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -p11-kit config.status 0.23.18 +p11-kit config.status 0.23.20 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -19248,9 +19713,8 @@ # 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"' + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. + OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS" # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" @@ -20544,14 +21008,11 @@ 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 assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) diff -Nru p11-kit-0.23.18.1/configure.ac p11-kit-0.23.20/configure.ac --- p11-kit-0.23.18.1/configure.ac 2019-09-30 11:37:17.000000000 +0000 +++ p11-kit-0.23.20/configure.ac 2020-01-29 16:42:18.000000000 +0000 @@ -1,7 +1,7 @@ AC_PREREQ(2.61) AC_INIT([p11-kit], - [0.23.18], + [0.23.20], [https://github.com/p11-glue/p11-kit/issues], [p11-kit], [https://p11-glue.github.io/p11-glue/p11-kit.html]) @@ -23,7 +23,7 @@ AC_CONFIG_MACRO_DIR([build/m4]) AC_CONFIG_AUX_DIR([build/litter]) AC_REQUIRE_AUX_FILE([tap-driver.sh]) -AM_INIT_AUTOMAKE([1.12 foreign subdir-objects]) +AM_INIT_AUTOMAKE([1.12 dist-xz no-dist-gzip foreign subdir-objects]) AM_SANITY_CHECK AM_MAINTAINER_MODE([enable]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],) @@ -47,6 +47,10 @@ LINGUAS="" AM_GNU_GETTEXT([external], [need-ngettext]) +AM_GNU_GETTEXT_VERSION([0.19.8]) +m4_ifdef([AM_GNU_GETTEXT_REQUIRE_VERSION],[ +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8]) +]) if test "$enable_static" = "yes"; then AC_MSG_ERROR([p11-kit cannot be used as a static library]) @@ -138,7 +142,7 @@ [AC_MSG_ERROR([could not find required gmtime_r() function])]) # Check if these are declared and/or available to link against - AC_CHECK_DECLS([program_invocation_short_name]), [], [], [#include ]) + AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include ]) AC_MSG_CHECKING([whether program_invocation_short_name is available]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[program_invocation_short_name = "test";]])], @@ -154,6 +158,21 @@ AC_CHECK_TYPES([sighandler_t, sig_t, __sighandler_t], [], [], [[#include #include ]]) + + AC_MSG_CHECKING([whether vsock support is available]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + #include ]], + [[struct sockaddr_vm sa = { + .svm_family = AF_VSOCK, + .svm_cid = VMADDR_CID_ANY, + }; + (void)&sa; + return 0;]])], + [AC_DEFINE([HAVE_VSOCK], [1], + [Whether vsock support available]) + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi # These are thngs we can work around @@ -571,6 +590,22 @@ AM_CONDITIONAL(WITH_SYSTEMD, [test "$with_systemd" = "yes"]) +# -------------------------------------------------------------------- +# bash completion + +AC_ARG_WITH([bash-completion], + AS_HELP_STRING([--without-bash-completion], + [Don't install bash completion files])) + +AS_IF([test "$with_bash_completion" != "no"], [ + PKG_CHECK_VAR([bashcompdir], [bash-completion], [completionsdir], + [with_bash_completion=yes]) + AC_SUBST(bashcompdir) +]) + +AM_CONDITIONAL(WITH_BASH_COMPLETION, [test "$with_bash_completion" = "yes"]) + + AC_CONFIG_FILES([Makefile doc/Makefile doc/manual/Makefile diff -Nru p11-kit-0.23.18.1/CONTRIBUTING.md p11-kit-0.23.20/CONTRIBUTING.md --- p11-kit-0.23.18.1/CONTRIBUTING.md 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/CONTRIBUTING.md 2020-01-16 12:05:13.000000000 +0000 @@ -0,0 +1,35 @@ +# p11-kit -- Information about our contribution rules and coding style + +# Test suite + +New functionality should be accompanied by a test case which verifies +the correctness of p11-kit's operation on successful use of the new +functionality, as well as on failure cases. The p11-kit test suite is +run on "ninja test" if you use meson for building, or on "make check" +if you use autotools. + +Bug fixes should also come with a test case that exercises the code +path that previously failed to operate. This prevents future +regressions. + +# Coding style + +In general, use [the Linux kernel coding +style](https://www.kernel.org/doc/html/latest/process/coding-style.html), +except that we put a space between function name and open parenthesis. + +# API documentation + +Use [gtk-doc](https://www.gtk.org/gtk-doc/) for API documentation. + +# Library symbol versioning + +We use [the libtool versioning scheme](https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning) to ensure ABI compatibility. If you add a new API function, update [libp11-kit.map](https://github.com/p11-glue/p11-kit/blob/master/p11-kit/libp11-kit.map) and [libp11-kit-*.dll.def](https://github.com/p11-glue/p11-kit/blob/master/p11-kit/libp11-kit-0.dll.def) accordingly. + +# Resources: + +* [Documentation on developing p11-kit](https://p11-glue.github.io/p11-glue/p11-kit/manual/devel.html) +* [Code available at](https://github.com/p11-glue/p11-kit) +* [General Website](https://p11-glue.github.io/p11-glue/p11-kit.html) +* [Mailing list](https://lists.freedesktop.org/mailman/listinfo/p11-glue) +* [Report bugs](https://github.com/p11-glue/p11-kit/issues) diff -Nru p11-kit-0.23.18.1/debian/changelog p11-kit-0.23.20/debian/changelog --- p11-kit-0.23.18.1/debian/changelog 2020-01-11 00:20:00.000000000 +0000 +++ p11-kit-0.23.20/debian/changelog 2020-02-09 20:16:56.000000000 +0000 @@ -1,10 +1,36 @@ -p11-kit (0.23.18.1-2~16.04.sav0) xenial; urgency=low +p11-kit (0.23.20-1~16.04.sav0) xenial; urgency=low * Backport to Xenial * debian/control: Set debhelper-compat (= 10) BD (LP highest for Xenial) * Revert "Use DH12 compat. Adapt p11-kit.examples and p11-kit.install" - -- Rob Savoury Fri, 10 Jan 2020 16:20:00 -0800 + -- Rob Savoury Sun, 09 Feb 2020 12:16:56 -0800 + +p11-kit (0.23.20-1) unstable; urgency=low + + * New upstream version. + + Reverts "Fix RPC when length-s are 0" changes. Closes: #949976 + + -- Andreas Metzler Thu, 30 Jan 2020 18:41:44 +0100 + +p11-kit (0.23.19-2) unstable; urgency=low + + * Upload to unstable. + + -- Andreas Metzler Sun, 26 Jan 2020 14:09:36 +0100 + +p11-kit (0.23.19-1) experimental; urgency=low + + [ Debian Janitor ] + * Set upstream metadata fields: Bug-Database, Repository, Repository- + Browse. + * Set upstream metadata fields: Bug-Submit. + + [ Andreas Metzler ] + * New upstream version. + + Unfuzz enable_locale.diff. + + -- Andreas Metzler Wed, 22 Jan 2020 14:49:38 +0100 p11-kit (0.23.18.1-2) unstable; urgency=low diff -Nru p11-kit-0.23.18.1/debian/control p11-kit-0.23.20/debian/control --- p11-kit-0.23.18.1/debian/control 2020-01-11 00:19:29.000000000 +0000 +++ p11-kit-0.23.20/debian/control 2020-02-09 20:16:56.000000000 +0000 @@ -8,7 +8,7 @@ libffi-dev, libtasn1-6-dev, pkg-config -Standards-Version: 4.4.1 +Standards-Version: 4.5.0 Rules-Requires-Root: no Section: libs Vcs-Git: https://salsa.debian.org/gnutls-team/p11-kit.git diff -Nru p11-kit-0.23.18.1/debian/copyright p11-kit-0.23.20/debian/copyright --- p11-kit-0.23.18.1/debian/copyright 2019-08-14 05:44:33.000000000 +0000 +++ p11-kit-0.23.20/debian/copyright 2020-01-22 13:52:42.000000000 +0000 @@ -23,6 +23,11 @@ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ +Files: common/vsock.c common/vsock.h +Copyright: 2020 Amazon.com, Inc. or its affiliates. +License: BSD-3-Clause + + Files: p11-kit/server.c common/unix-peer.h Copyright: 2014 Red Hat Inc. diff -Nru p11-kit-0.23.18.1/debian/patches/enable_locale.diff p11-kit-0.23.20/debian/patches/enable_locale.diff --- p11-kit-0.23.18.1/debian/patches/enable_locale.diff 2019-08-14 05:44:33.000000000 +0000 +++ p11-kit-0.23.20/debian/patches/enable_locale.diff 2020-01-22 13:52:42.000000000 +0000 @@ -1,15 +1,15 @@ Description: enable building of gettext translations. Author: Andreas Metzler -Last-Update: 2018-08-28 +Last-Update: 2020-01-22 Origin: vendor --- a/configure.ac +++ b/configure.ac -@@ -42,7 +42,6 @@ AC_PROG_CPP +@@ -45,7 +45,6 @@ AC_PROG_CPP AM_PROG_CC_C_O PKG_PROG_PKG_CONFIG -LINGUAS="" AM_GNU_GETTEXT([external], [need-ngettext]) - - if test "$enable_static" = "yes"; then + AM_GNU_GETTEXT_VERSION([0.19.8]) + m4_ifdef([AM_GNU_GETTEXT_REQUIRE_VERSION],[ diff -Nru p11-kit-0.23.18.1/debian/upstream/metadata p11-kit-0.23.20/debian/upstream/metadata --- p11-kit-0.23.18.1/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/debian/upstream/metadata 2020-01-22 13:52:42.000000000 +0000 @@ -0,0 +1,4 @@ +Bug-Database: https://github.com/p11-glue/p11-kit/issues +Repository: https://github.com/p11-glue/p11-kit.git +Repository-Browse: https://github.com/p11-glue/p11-kit +Bug-Submit: https://github.com/p11-glue/p11-kit/issues/new diff -Nru p11-kit-0.23.18.1/doc/Makefile.in p11-kit-0.23.20/doc/Makefile.in --- p11-kit-0.23.18.1/doc/Makefile.in 2019-09-30 13:02:49.000000000 +0000 +++ p11-kit-0.23.20/doc/Makefile.in 2020-01-29 16:42:32.000000000 +0000 @@ -90,7 +90,9 @@ subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/m4/gettext.m4 \ + $(top_srcdir)/build/m4/host-cpu-c-abi.m4 \ $(top_srcdir)/build/m4/iconv.m4 \ + $(top_srcdir)/build/m4/intlmacosx.m4 \ $(top_srcdir)/build/m4/ld-version-script.m4 \ $(top_srcdir)/build/m4/lib-ld.m4 \ $(top_srcdir)/build/m4/lib-link.m4 \ @@ -260,8 +262,8 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -305,6 +307,7 @@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ +bashcompdir = @bashcompdir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ diff -Nru p11-kit-0.23.18.1/doc/manual/html/config-example.html p11-kit-0.23.20/doc/manual/html/config-example.html --- p11-kit-0.23.18.1/doc/manual/html/config-example.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/config-example.html 2020-01-29 16:44:39.000000000 +0000 @@ -26,7 +26,7 @@ an example which shows the various features. The configuration below, loads two modules called 'my-module' and 'nss'. The user settings override some aspects of the system settings.

-

Global configuration file: /etc/pkcs11/pkcs11.conf

+

Global configuration file: /usr/local/etc/pkcs11/pkcs11.conf

 # This setting controls whether to load user configuration from the
 # ~/.config/pkcs11 directory. Possible values:
@@ -35,7 +35,7 @@
 #    only: Only user configuration, ignore system configuration
 user-config: merge
 
-

One module configuration file per module: /etc/pkcs11/modules/my-module

+

One module configuration file per module: /usr/local/etc/pkcs11/modules/my-module

 # This setting controls the actual module library to load. This config file
 # might be installed by the package that installs this module library. This
diff -Nru p11-kit-0.23.18.1/doc/manual/html/index.html p11-kit-0.23.20/doc/manual/html/index.html
--- p11-kit-0.23.18.1/doc/manual/html/index.html	2019-09-30 13:03:24.000000000 +0000
+++ p11-kit-0.23.20/doc/manual/html/index.html	2020-01-29 16:44:39.000000000 +0000
@@ -14,7 +14,7 @@
 
-

for p11-kit 0.23.18

+

for p11-kit 0.23.20


diff -Nru p11-kit-0.23.18.1/doc/manual/html/p11-kit-Future.html p11-kit-0.23.20/doc/manual/html/p11-kit-Future.html --- p11-kit-0.23.18.1/doc/manual/html/p11-kit-Future.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/p11-kit-Future.html 2020-01-29 16:44:39.000000000 +0000 @@ -350,7 +350,7 @@

uri

-

a PKCS#11 URI to filter on, or NULL.

+

a PKCS#11 URI to filter on, or NULL.

[allow-none] @@ -402,7 +402,7 @@

uri

-

a PKCS#11 URI to filter on, or NULL.

+

a PKCS#11 URI to filter on, or NULL.

[allow-none] @@ -952,13 +952,13 @@ attribute value memory pointed to by the pValue of each attribute should be freed with the free() function.

-

If the pValue of an attribute is not NULL passed +

If the pValue of an attribute is not NULL passed to this function, then it will be passed to realloc() to allocate the correct amount of space for the attribute value.

If any attribute is not present on the object, or is sensitive and cannot be retrieved, then the pValue will be NULL. -If pValue was not NULL when passed to this function +If pValue was not NULL when passed to this function then it will be freed with free(). In these cases CKR_OK is returned.

This can only be called after p11_kit_iter_next() succeeds.

diff -Nru p11-kit-0.23.18.1/doc/manual/html/p11-kit-Modules.html p11-kit-0.23.20/doc/manual/html/p11-kit-Modules.html --- p11-kit-0.23.18.1/doc/manual/html/p11-kit-Modules.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/p11-kit-Modules.html 2020-01-29 16:44:39.000000000 +0000 @@ -319,7 +319,7 @@

reserved

-

set to NULL

+

set to NULL

  @@ -333,7 +333,7 @@

Returns

a null terminated list of modules represented as PKCS#11 -function lists, or NULL on failure

+function lists, or NULL on failure


@@ -359,7 +359,7 @@

When a module fails to initialize it is removed from the modules list. If the failure_callback - is not NULL then it is called with the modules that + is not NULL then it is called with the modules that fail to initialize. For example, you may pass p11_kit_module_release() as a failure_callback if the modules @@ -368,7 +368,7 @@ module that failed to initialize. Non-critical module failures do not affect the return value. If no critical modules failed to initialize then the return value will be CKR_OK.

-

When modules are removed, the list will be NULL terminated at the +

When modules are removed, the list will be NULL terminated at the appropriate place so it can continue to be used as a modules list.

This function does not accept a CK_C_INITIALIZE_ARGS argument. Custom initialization arguments cannot be supported when multiple consumers @@ -384,7 +384,7 @@

modules

-

a NULL terminated list of modules

+

a NULL terminated list of modules

  @@ -520,7 +520,7 @@

Returns

-

the loaded module PKCS#11 functions or NULL on failure

+

the loaded module PKCS#11 functions or NULL on failure


@@ -666,7 +666,7 @@

Returns

-

the module which matches the name, or NULL if no match.

+

the module which matches the name, or NULL if no match.


@@ -677,7 +677,7 @@

Get the configured name of the PKCS#11 module.

Configured modules are loaded by p11_kit_modules_load(). The module passed to this function can be either managed or unmanaged. Non -configured modules will return NULL.

+configured modules will return NULL.

Use free() to release the return value when you're done with it.

Parameters

@@ -740,7 +740,7 @@

Get the configured name of the PKCS#11 module.

Configured modules are loaded by p11_kit_modules_load(). The module passed to this function can be either managed or unmanaged. Non -configured modules will return NULL.

+configured modules will return NULL.

Use free() to release the return value when you're done with it.

Parameters

@@ -771,12 +771,12 @@ const char *option);

Retrieve the value for a configured option.

If module - is NULL, then the global option with the given name will + is NULL, then the global option with the given name will be retrieved. Otherwise module should point to a configured loaded module. If no such option or configured module - exists, then NULL will be returned.

+ exists, then NULL will be returned.

Use free() to release the returned value.

Parameters

@@ -789,7 +789,7 @@

module

-

the module to retrieve the option for, or NULL for global options

+

the module to retrieve the option for, or NULL for global options

  @@ -802,7 +802,7 @@

Returns

-

the option value or NULL

+

the option value or NULL

diff -Nru p11-kit-0.23.18.1/doc/manual/html/p11-kit-PIN-Callbacks.html p11-kit-0.23.20/doc/manual/html/p11-kit-PIN-Callbacks.html --- p11-kit-0.23.18.1/doc/manual/html/p11-kit-PIN-Callbacks.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/p11-kit-PIN-Callbacks.html 2020-01-29 16:44:39.000000000 +0000 @@ -185,7 +185,7 @@ called for every 'pin-source' attribute request for which no callback has been directly registered.

To request a PIN for a given 'pin-source' attribute, use the -p11_kit_pin_request() function. If this function returns NULL then either +p11_kit_pin_request() function. If this function returns NULL then either no callbacks were registered or none of them could handle the request.

If multiple callbacks are registered for the same PIN source, then they are called in last-registered-first-called order. They are called in turn until @@ -223,7 +223,7 @@ } p11_kit_pin_register_callback ("my-application", my_application_pin_callback, - NULL, NULL); + NULL, NULL); @@ -329,7 +329,7 @@

destroy

-

if not NULL, then called when PIN is destroyed.

+

if not NULL, then called when PIN is destroyed.

  @@ -598,7 +598,7 @@ p11_kit_pin_request(). The callback_data argument was the one passed to p11_kit_pin_register_callback() when registering this callback.

-

The function should return NULL if it could not provide a PIN, either +

The function should return NULL if it could not provide a PIN, either because of an error or a user cancellation.

If a PIN is returned, it will be unreferenced by the caller. So it should be either newly allocated, or referenced before returning.

@@ -618,7 +618,7 @@

pin_uri

-

a PKCS#11 URI that the PIN is for, or NULL

+

a PKCS#11 URI that the PIN is for, or NULL

  @@ -641,7 +641,7 @@

Returns

-

A PIN or NULL

+

A PIN or NULL


@@ -654,7 +654,7 @@ P11KitPinFlags pin_flags);

Request a PIN for a given 'pin-source' attribute. The result depends on the registered callbacks.

-

If not NULL, then the pin_uri +

If not NULL, then the pin_uri attribute should point to the thing that the PIN is being requested for. In most use cases this should be a PKCS#11 URI pointing to a token.

@@ -688,12 +688,12 @@

pin_uri

-

a PKCS#11 URI that the PIN is being requested for, optionally NULL.

+

a PKCS#11 URI that the PIN is being requested for, optionally NULL.

 

pin_description

-

a description of what the PIN is for, must not be NULL.

+

a description of what the PIN is for, must not be NULL.

  @@ -706,7 +706,7 @@

Returns

-

the PIN which should be released with p11_kit_pin_unref(), or NULL +

the PIN which should be released with p11_kit_pin_unref(), or NULL if no callback was registered or could proivde a PIN

@@ -747,7 +747,7 @@ behavior described in the RFC.

If pin_flags contains the P11_KIT_PIN_FLAGS_RETRY flag, then this -callback will always return NULL. This is to prevent endless loops +callback will always return NULL. This is to prevent endless loops where an application is expecting to interact with a prompter, but instead is interacting with this callback reading a file over and over.

This callback fails on files larger than 4 Kilobytes.

@@ -761,7 +761,7 @@
1
 2
p11_kit_pin_register_callback (P11_KIT_PIN_FALLBACK, p11_kit_pin_file_callback,
-                               NULL, NULL);
+ NULL, NULL); @@ -783,7 +783,7 @@

pin_uri

-

a PKCS#11 URI that the PIN is for, or NULL

+

a PKCS#11 URI that the PIN is for, or NULL

  @@ -798,7 +798,7 @@

callback_data

-

unused, should be NULL

+

unused, should be NULL

  @@ -806,7 +806,7 @@

Returns

-

a referenced PIN with the file contents, or NULL if the file +

a referenced PIN with the file contents, or NULL if the file could not be read

diff -Nru p11-kit-0.23.18.1/doc/manual/html/p11-kit-URIs.html p11-kit-0.23.20/doc/manual/html/p11-kit-URIs.html --- p11-kit-0.23.18.1/doc/manual/html/p11-kit-URIs.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/p11-kit-URIs.html 2020-01-29 16:44:39.000000000 +0000 @@ -905,7 +905,7 @@

Returns

-

The pin-value or NULL if not present.

+

The pin-value or NULL if not present.


@@ -963,7 +963,7 @@

Returns

-

The pin-source or NULL if not present.

+

The pin-source or NULL if not present.


@@ -1080,7 +1080,7 @@

Returns

-

The module-name or NULL if not present.

+

The module-name or NULL if not present.


@@ -1138,7 +1138,7 @@

Returns

-

The module-path or NULL if not present.

+

The module-path or NULL if not present.


@@ -1206,7 +1206,7 @@

Returns

-

The value of vendor query or NULL if not present.

+

The value of vendor query or NULL if not present.


@@ -1389,7 +1389,7 @@ p11_kit_uri_message (int code);

Lookup a message for the uri error code. These codes are the P11_KIT_URI_XXX error codes that can be returned from p11_kit_uri_parse() or -p11_kit_uri_format(). As a special case NULL, will be returned for +p11_kit_uri_format(). As a special case NULL, will be returned for P11_KIT_URI_OK.

Parameters

diff -Nru p11-kit-0.23.18.1/doc/manual/html/p11-kit-Utilities.html p11-kit-0.23.20/doc/manual/html/p11-kit-Utilities.html --- p11-kit-0.23.18.1/doc/manual/html/p11-kit-Utilities.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/p11-kit-Utilities.html 2020-01-29 16:44:39.000000000 +0000 @@ -133,7 +133,7 @@ thread that the failed function executed on.

Returns

-

The last failure message, or NULL.

+

The last failure message, or NULL.


@@ -187,7 +187,7 @@

Returns

-

The newly allocated string, or NULL if memory could not be allocated.

+

The newly allocated string, or NULL if memory could not be allocated.


diff -Nru p11-kit-0.23.18.1/doc/manual/html/pkcs11-conf.html p11-kit-0.23.20/doc/manual/html/pkcs11-conf.html --- p11-kit-0.23.18.1/doc/manual/html/pkcs11-conf.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/pkcs11-conf.html 2020-01-29 16:44:39.000000000 +0000 @@ -235,11 +235,11 @@ files and a file for global configuration. Optionally each user can provide additional configuration or override the system configuration.

The system global configuration file is usually in - /etc/pkcs11/pkcs11.conf and the user global + /usr/local/etc/pkcs11/pkcs11.conf and the user global configuration file is in ~/.config/pkcs11/pkcs11.conf in the user's home directory.

The module config files are usually located in the - /etc/pkcs11/modules directory, with one configuration + /usr/local/etc/pkcs11/modules directory, with one configuration file per module. In addition the ~/.config/pkcs11/modules directory can be used for modules installed by the user.

Note that user configuration files are not loaded from the home diff -Nru p11-kit-0.23.18.1/doc/manual/html/trust-disable.html p11-kit-0.23.20/doc/manual/html/trust-disable.html --- p11-kit-0.23.18.1/doc/manual/html/trust-disable.html 2019-09-30 13:03:24.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/html/trust-disable.html 2020-01-29 16:44:39.000000000 +0000 @@ -29,11 +29,11 @@ during the p11-kit build.

  • Disable loading trust policy information - from this module by adding a file to /etc/pkcs11/modules + from this module by adding a file to /usr/local/etc/pkcs11/modules called p11-kit-trust.module containing a trust-policy: no line.

  • Disable this module completely by - adding a file to /etc/pkcs11/modules + adding a file to /usr/local/etc/pkcs11/modules called p11-kit-trust.module containing a enable-in: line (without a value).

  • diff -Nru p11-kit-0.23.18.1/doc/manual/Makefile.in p11-kit-0.23.20/doc/manual/Makefile.in --- p11-kit-0.23.18.1/doc/manual/Makefile.in 2019-09-30 13:02:49.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/Makefile.in 2020-01-29 16:42:32.000000000 +0000 @@ -96,7 +96,9 @@ subdir = doc/manual ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/m4/gettext.m4 \ + $(top_srcdir)/build/m4/host-cpu-c-abi.m4 \ $(top_srcdir)/build/m4/iconv.m4 \ + $(top_srcdir)/build/m4/intlmacosx.m4 \ $(top_srcdir)/build/m4/ld-version-script.m4 \ $(top_srcdir)/build/m4/lib-ld.m4 \ $(top_srcdir)/build/m4/lib-link.m4 \ @@ -241,8 +243,8 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -286,6 +288,7 @@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ +bashcompdir = @bashcompdir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ diff -Nru p11-kit-0.23.18.1/doc/manual/sysdir.xml.in p11-kit-0.23.20/doc/manual/sysdir.xml.in --- p11-kit-0.23.18.1/doc/manual/sysdir.xml.in 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/sysdir.xml.in 2019-10-21 15:59:08.000000000 +0000 @@ -0,0 +1 @@ +@p11_system_config@ diff -Nru p11-kit-0.23.18.1/doc/manual/userdir.xml.in p11-kit-0.23.20/doc/manual/userdir.xml.in --- p11-kit-0.23.18.1/doc/manual/userdir.xml.in 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/userdir.xml.in 2019-10-21 15:59:08.000000000 +0000 @@ -0,0 +1 @@ +@p11_user_config@ diff -Nru p11-kit-0.23.18.1/doc/manual/version.xml.in p11-kit-0.23.20/doc/manual/version.xml.in --- p11-kit-0.23.18.1/doc/manual/version.xml.in 1970-01-01 00:00:00.000000000 +0000 +++ p11-kit-0.23.20/doc/manual/version.xml.in 2019-10-21 15:59:08.000000000 +0000 @@ -0,0 +1 @@ +@VERSION@ diff -Nru p11-kit-0.23.18.1/HACKING p11-kit-0.23.20/HACKING --- p11-kit-0.23.18.1/HACKING 2018-08-06 09:43:42.000000000 +0000 +++ p11-kit-0.23.20/HACKING 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -CONTRIBUTING to p11-kit - - * Documentation on developing p11-kit: - https://p11-glue.github.io/p11-glue/p11-kit/manual/devel.html - - * Code available at: - https://github.com/p11-glue/p11-kit - - * General Website: - https://p11-glue.github.io/p11-glue/p11-kit.html - - * Mailing list: - p11-glue@lists.freedesktop.org - - * Report bugs here: - https://github.com/p11-glue/p11-kit/issues diff -Nru p11-kit-0.23.18.1/Makefile.am p11-kit-0.23.20/Makefile.am --- p11-kit-0.23.18.1/Makefile.am 2019-09-30 11:38:33.000000000 +0000 +++ p11-kit-0.23.20/Makefile.am 2020-01-22 08:41:22.000000000 +0000 @@ -22,8 +22,10 @@ CLEANFILES = -EXTRA_DIST = HACKING meson.build meson_options.txt po/meson.build \ - doc/manual/meson.build +EXTRA_DIST = CONTRIBUTING.md meson.build meson_options.txt po/meson.build \ + doc/manual/meson.build doc/manual/userdir.xml.in \ + doc/manual/sysdir.xml.in doc/manual/version.xml.in \ + bash-completion incdir = $(includedir)/p11-kit-1/p11-kit inc_HEADERS = @@ -41,6 +43,8 @@ moduledir = $(p11_module_path) module_LTLIBRARIES = +bashcomp_DATA = + include common/Makefile.am include p11-kit/Makefile.am @@ -55,6 +59,7 @@ DISTCHECK_CONFIGURE_FLAGS = \ --enable-doc \ --without-systemd \ + --without-bash-completion \ --disable-coverage \ --enable-strict \ CFLAGS='-O2' diff -Nru p11-kit-0.23.18.1/Makefile.in p11-kit-0.23.20/Makefile.in --- p11-kit-0.23.18.1/Makefile.in 2019-09-30 13:02:49.000000000 +0000 +++ p11-kit-0.23.20/Makefile.in 2020-01-29 16:42:32.000000000 +0000 @@ -112,25 +112,27 @@ @OS_WIN32_FALSE@am__append_4 = \ @OS_WIN32_FALSE@ p11-kit-client.la -@WITH_SYSTEMD_TRUE@am__append_5 = p11-kit/p11-kit-server.service -@OS_WIN32_FALSE@am__append_6 = test-server -@OS_WIN32_FALSE@am__append_7 = p11-kit/test-server.sh -@OS_WIN32_FALSE@am__append_8 = mock-six.la -@WITH_TRUST_MODULE_TRUE@am__append_9 = \ +@WITH_BASH_COMPLETION_TRUE@am__append_5 = bash-completion/p11-kit +@WITH_SYSTEMD_TRUE@am__append_6 = p11-kit/p11-kit-server.service +@OS_WIN32_FALSE@am__append_7 = test-server +@OS_WIN32_FALSE@am__append_8 = p11-kit/test-server.sh +@OS_WIN32_FALSE@am__append_9 = mock-six.la +@WITH_TRUST_MODULE_TRUE@am__append_10 = \ @WITH_TRUST_MODULE_TRUE@ libtrust-data.la \ @WITH_TRUST_MODULE_TRUE@ $(NULL) -@WITH_TRUST_MODULE_TRUE@am__append_10 = libtrust-testable.la $(NULL) \ +@WITH_TRUST_MODULE_TRUE@am__append_11 = libtrust-testable.la $(NULL) \ @WITH_TRUST_MODULE_TRUE@ libtrust-test.la -@WITH_TRUST_MODULE_TRUE@am__append_11 = \ +@WITH_TRUST_MODULE_TRUE@am__append_12 = \ @WITH_TRUST_MODULE_TRUE@ p11-kit-trust.la -@WITH_TRUST_MODULE_TRUE@am__append_12 = trust/trust -@WITH_TRUST_MODULE_TRUE@am__append_13 = trust/p11-kit-trust.module \ +@WITH_TRUST_MODULE_TRUE@am__append_13 = trust/trust +@WITH_BASH_COMPLETION_TRUE@@WITH_TRUST_MODULE_TRUE@am__append_14 = bash-completion/trust +@WITH_TRUST_MODULE_TRUE@am__append_15 = trust/p11-kit-trust.module \ @WITH_TRUST_MODULE_TRUE@ trust/meson.build trust/input \ @WITH_TRUST_MODULE_TRUE@ trust/fixtures trust/test-extract.sh \ @WITH_TRUST_MODULE_TRUE@ trust/test-trust.sh $(NULL) -@WITH_TRUST_MODULE_TRUE@am__append_14 = \ +@WITH_TRUST_MODULE_TRUE@am__append_16 = \ @WITH_TRUST_MODULE_TRUE@ test-digest \ @WITH_TRUST_MODULE_TRUE@ test-asn1 \ @WITH_TRUST_MODULE_TRUE@ test-base64 \ @@ -153,7 +155,7 @@ @WITH_TRUST_MODULE_TRUE@ test-jks \ @WITH_TRUST_MODULE_TRUE@ $(NULL) -@WITH_TRUST_MODULE_TRUE@am__append_15 = \ +@WITH_TRUST_MODULE_TRUE@am__append_17 = \ @WITH_TRUST_MODULE_TRUE@ frob-pow \ @WITH_TRUST_MODULE_TRUE@ frob-token \ @WITH_TRUST_MODULE_TRUE@ frob-nss-trust \ @@ -165,11 +167,13 @@ @WITH_TRUST_MODULE_TRUE@ frob-oid \ @WITH_TRUST_MODULE_TRUE@ $(NULL) -@WITH_TRUST_MODULE_TRUE@am__append_16 = trust/test-extract.sh trust/test-trust.sh +@WITH_TRUST_MODULE_TRUE@am__append_18 = trust/test-extract.sh trust/test-trust.sh subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/build/m4/gettext.m4 \ + $(top_srcdir)/build/m4/host-cpu-c-abi.m4 \ $(top_srcdir)/build/m4/iconv.m4 \ + $(top_srcdir)/build/m4/intlmacosx.m4 \ $(top_srcdir)/build/m4/ld-version-script.m4 \ $(top_srcdir)/build/m4/lib-ld.m4 \ $(top_srcdir)/build/m4/lib-link.m4 \ @@ -195,9 +199,10 @@ @WITH_TRUST_MODULE_TRUE@am__EXEEXT_1 = trust/trust$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(privatedir)" \ "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moduledir)" \ - "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(configdir)" \ - "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(incdir)" + "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(bashcompdir)" \ + "$(DESTDIR)$(configdir)" "$(DESTDIR)$(exampledir)" \ + "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(systemduserunitdir)" \ + "$(DESTDIR)$(incdir)" am__EXEEXT_2 = @OS_WIN32_FALSE@am__EXEEXT_3 = test-server$(EXEEXT) @WITH_TRUST_MODULE_TRUE@am__EXEEXT_4 = test-digest$(EXEEXT) \ @@ -274,7 +279,7 @@ common/array.lo common/buffer.lo common/compat.lo \ common/constants.lo common/debug.lo common/dict.lo \ common/hash.lo common/lexer.lo common/message.lo \ - common/path.lo common/runtime.lo common/url.lo \ + common/path.lo common/runtime.lo common/url.lo common/vsock.lo \ $(am__objects_1) libp11_common_la_OBJECTS = $(am_libp11_common_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) @@ -1000,6 +1005,7 @@ common/$(DEPDIR)/test-tests.Po common/$(DEPDIR)/test-url.Po \ common/$(DEPDIR)/test.Plo common/$(DEPDIR)/tool.Plo \ common/$(DEPDIR)/unix-peer.Plo common/$(DEPDIR)/url.Plo \ + common/$(DEPDIR)/vsock.Plo \ p11-kit/$(DEPDIR)/client_la-client-init.Plo \ p11-kit/$(DEPDIR)/client_la-client.Plo \ p11-kit/$(DEPDIR)/frob-setuid.Po \ @@ -1262,8 +1268,8 @@ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac -DATA = $(config_DATA) $(example_DATA) $(pkgconfig_DATA) \ - $(systemduserunit_DATA) +DATA = $(bashcomp_DATA) $(config_DATA) $(example_DATA) \ + $(pkgconfig_DATA) $(systemduserunit_DATA) HEADERS = $(inc_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive @@ -1527,9 +1533,9 @@ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best -DIST_TARGETS = dist-gzip +DIST_ARCHIVES = $(distdir).tar.xz +DIST_TARGETS = dist-xz distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -1603,8 +1609,8 @@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ @@ -1648,6 +1654,7 @@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ +bashcompdir = @bashcompdir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1716,39 +1723,43 @@ check_LTLIBRARIES = libp11-test.la $(NULL) libp11-kit-testable.la \ libp11-kit-pkcs11-gnu.la $(NULL) mock-one.la mock-two.la \ mock-three.la mock-four.la mock-five.la mock-seven.la \ - mock-eight.la mock-nine.la $(am__append_8) $(am__append_10) + mock-eight.la mock-nine.la $(am__append_9) $(am__append_11) BUILT_SOURCES = p11-kit/virtual-fixed-generated.h $(NULL) \ $(pkcs11_gnu_sources) CLEANFILES = p11-kit/virtual-fixed-generated.h $(NULL) \ - $(pkcs11_gnu_sources) $(am__append_5) -EXTRA_DIST = HACKING meson.build meson_options.txt po/meson.build \ - doc/manual/meson.build common/meson.build p11-kit/docs.h \ - p11-kit/gen-pkcs11-gnu.sh p11-kit/gen-virtual-fixed.sh \ - p11-kit/meson.build p11-kit/meson_post_install.sh \ - p11-kit/libp11-kit.map p11-kit/libp11-kit-0.dll.def \ - p11-kit/p11-module.map p11-kit/p11-module.def \ - p11-kit/pkcs11-gnu.c $(NULL) p11-kit/p11-kit-server.socket \ + $(pkcs11_gnu_sources) $(am__append_6) +EXTRA_DIST = CONTRIBUTING.md meson.build meson_options.txt \ + po/meson.build doc/manual/meson.build \ + doc/manual/userdir.xml.in doc/manual/sysdir.xml.in \ + doc/manual/version.xml.in bash-completion common/meson.build \ + p11-kit/docs.h p11-kit/gen-pkcs11-gnu.sh \ + p11-kit/gen-virtual-fixed.sh p11-kit/meson.build \ + p11-kit/meson_post_install.sh p11-kit/libp11-kit.map \ + p11-kit/libp11-kit-0.dll.def p11-kit/p11-module.map \ + p11-kit/p11-module.def p11-kit/pkcs11-gnu.c $(NULL) \ + p11-kit/p11-kit-server.socket \ p11-kit/p11-kit-server.service.in p11-kit/fixtures \ p11-kit/test-mock.c p11-kit/test-messages.sh \ - p11-kit/test-server.sh $(NULL) $(am__append_13) + p11-kit/test-server.sh $(NULL) $(am__append_15) incdir = $(includedir)/p11-kit-1/p11-kit inc_HEADERS = common/pkcs11.h common/pkcs11x.h $(NULL) \ p11-kit/deprecated.h p11-kit/iter.h p11-kit/p11-kit.h \ p11-kit/pin.h p11-kit/remote.h p11-kit/uri.h $(NULL) lib_LTLIBRARIES = libp11-kit.la noinst_LTLIBRARIES = libp11-common.la libp11-library.la libp11-tool.la \ - $(NULL) libp11-kit-internal.la $(NULL) $(am__append_9) -noinst_SCRIPTS = $(am__append_16) + $(NULL) libp11-kit-internal.la $(NULL) $(am__append_10) +noinst_SCRIPTS = $(am__append_18) c_tests = test-tests test-compat test-hash test-dict test-array \ test-constants test-attrs test-buffer test-url test-path \ test-lexer test-message test-argv test-runtime $(NULL) \ test-progname test-util test-conf test-uri test-pin test-init \ test-modules test-deprecated test-proxy test-iter test-rpc \ - $(NULL) $(am__append_6) test-virtual test-managed test-log \ - test-filter test-transport $(NULL) $(am__append_14) -sh_tests = $(am__append_7) p11-kit/test-messages.sh + $(NULL) $(am__append_7) test-virtual test-managed test-log \ + test-filter test-transport $(NULL) $(am__append_16) +sh_tests = $(am__append_8) p11-kit/test-messages.sh moduledir = $(p11_module_path) -module_LTLIBRARIES = $(am__append_4) $(am__append_11) +module_LTLIBRARIES = $(am__append_4) $(am__append_12) +bashcomp_DATA = $(am__append_5) $(am__append_14) libp11_common_la_SOURCES = \ common/argv.c common/argv.h \ common/attrs.c common/attrs.h \ @@ -1765,6 +1776,7 @@ common/pkcs11.h common/pkcs11x.h common/pkcs11i.h \ common/runtime.c common/runtime.h \ common/url.c common/url.h \ + common/vsock.c common/vsock.h \ common/init.h \ $(NULL) @@ -2288,6 +2300,7 @@ DISTCHECK_CONFIGURE_FLAGS = \ --enable-doc \ --without-systemd \ + --without-bash-completion \ --disable-coverage \ --enable-strict \ CFLAGS='-O2' @@ -2609,6 +2622,8 @@ common/runtime.lo: common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/url.lo: common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp) +common/vsock.lo: common/$(am__dirstamp) \ + common/$(DEPDIR)/$(am__dirstamp) libp11-common.la: $(libp11_common_la_OBJECTS) $(libp11_common_la_DEPENDENCIES) $(EXTRA_libp11_common_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libp11_common_la_OBJECTS) $(libp11_common_la_LIBADD) $(LIBS) @@ -3369,6 +3384,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/tool.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/unix-peer.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/url.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/vsock.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@p11-kit/$(DEPDIR)/client_la-client-init.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@p11-kit/$(DEPDIR)/client_la-client.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@p11-kit/$(DEPDIR)/frob-setuid.Po@am__quote@ # am--include-marker @@ -4614,6 +4630,27 @@ distclean-libtool: -rm -f libtool config.lt +install-bashcompDATA: $(bashcomp_DATA) + @$(NORMAL_INSTALL) + @list='$(bashcomp_DATA)'; test -n "$(bashcompdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bashcompdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bashcompdir)" || exit 1; \ + fi; \ + 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)$(bashcompdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(bashcompdir)" || exit $$?; \ + done + +uninstall-bashcompDATA: + @$(NORMAL_UNINSTALL) + @list='$(bashcomp_DATA)'; test -n "$(bashcompdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(bashcompdir)'; $(am__uninstall_files_from_dir) install-configDATA: $(config_DATA) @$(NORMAL_INSTALL) @list='$(config_DATA)'; test -n "$(configdir)" || list=; \ @@ -5434,7 +5471,6 @@ dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) - dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) @@ -5559,7 +5595,7 @@ installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(privatedir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(incdir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(privatedir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(bashcompdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(exampledir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(incdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -5604,9 +5640,9 @@ @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) -@OS_WIN32_TRUE@uninstall-local: @OS_WIN32_TRUE@installcheck-local: @WITH_TRUST_MODULE_FALSE@installcheck-local: +@OS_WIN32_TRUE@uninstall-local: @OS_WIN32_TRUE@install-exec-hook: clean: clean-recursive @@ -5652,6 +5688,7 @@ -rm -f common/$(DEPDIR)/tool.Plo -rm -f common/$(DEPDIR)/unix-peer.Plo -rm -f common/$(DEPDIR)/url.Plo + -rm -f common/$(DEPDIR)/vsock.Plo -rm -f p11-kit/$(DEPDIR)/client_la-client-init.Plo -rm -f p11-kit/$(DEPDIR)/client_la-client.Plo -rm -f p11-kit/$(DEPDIR)/frob-setuid.Po @@ -5807,8 +5844,8 @@ info-am: -install-data-am: install-configDATA install-exampleDATA \ - install-externalSCRIPTS install-incHEADERS \ +install-data-am: install-bashcompDATA install-configDATA \ + install-exampleDATA install-externalSCRIPTS install-incHEADERS \ install-moduleLTLIBRARIES install-pkgconfigDATA \ install-privatePROGRAMS install-systemduserunitDATA @@ -5877,6 +5914,7 @@ -rm -f common/$(DEPDIR)/tool.Plo -rm -f common/$(DEPDIR)/unix-peer.Plo -rm -f common/$(DEPDIR)/url.Plo + -rm -f common/$(DEPDIR)/vsock.Plo -rm -f p11-kit/$(DEPDIR)/client_la-client-init.Plo -rm -f p11-kit/$(DEPDIR)/client_la-client.Plo -rm -f p11-kit/$(DEPDIR)/frob-setuid.Po @@ -6032,9 +6070,10 @@ ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-configDATA \ - uninstall-exampleDATA uninstall-externalSCRIPTS \ - uninstall-incHEADERS uninstall-libLTLIBRARIES uninstall-local \ +uninstall-am: uninstall-bashcompDATA uninstall-binPROGRAMS \ + uninstall-configDATA uninstall-exampleDATA \ + uninstall-externalSCRIPTS uninstall-incHEADERS \ + uninstall-libLTLIBRARIES uninstall-local \ uninstall-moduleLTLIBRARIES uninstall-pkgconfigDATA \ uninstall-privatePROGRAMS uninstall-systemduserunitDATA @@ -6053,19 +6092,20 @@ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-configDATA install-data \ - install-data-am install-dvi install-dvi-am install-exampleDATA \ - install-exec install-exec-am install-exec-hook \ - install-externalSCRIPTS install-html install-html-am \ - install-incHEADERS install-info install-info-am \ - install-libLTLIBRARIES install-man install-moduleLTLIBRARIES \ - install-pdf install-pdf-am install-pkgconfigDATA \ - install-privatePROGRAMS install-ps install-ps-am install-strip \ - install-systemduserunitDATA installcheck installcheck-am \ - installcheck-local installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am \ + install-bashcompDATA install-binPROGRAMS install-configDATA \ + install-data install-data-am install-dvi install-dvi-am \ + install-exampleDATA install-exec install-exec-am \ + install-exec-hook install-externalSCRIPTS install-html \ + install-html-am install-incHEADERS install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-pkgconfigDATA install-privatePROGRAMS install-ps \ + install-ps-am install-strip install-systemduserunitDATA \ + installcheck installcheck-am installcheck-local installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \ + uninstall uninstall-am uninstall-bashcompDATA \ uninstall-binPROGRAMS uninstall-configDATA \ uninstall-exampleDATA uninstall-externalSCRIPTS \ uninstall-incHEADERS uninstall-libLTLIBRARIES uninstall-local \ diff -Nru p11-kit-0.23.18.1/meson.build p11-kit-0.23.20/meson.build --- p11-kit-0.23.18.1/meson.build 2019-09-30 11:37:17.000000000 +0000 +++ p11-kit-0.23.20/meson.build 2020-01-29 16:42:18.000000000 +0000 @@ -1,5 +1,5 @@ project('p11-kit', 'c', - version: '0.23.18', + version: '0.23.20', meson_version: '>= 0.49') version_arr = meson.project_version().split('.') @@ -43,6 +43,10 @@ conf.set_quoted('SHLEXT', shlext) conf.set_quoted('EXEEXT', exeext) +if host_machine.endian() == 'big' + conf.set('WORDS_BIGENDIAN', 1) +endif + if get_option('debug') conf.set('WITH_DEBUG', 1) conf.set('_DEBUG', 1) @@ -125,7 +129,7 @@ if cc.has_header('locale.h') conf.set('HAVE_LOCALE_H', 1) - if cc.has_header_symbol('locale.h', 'locale_t') + if cc.has_type('locale_t', prefix: '#include ') conf.set('HAVE_LOCALE_T', 1) if cc.has_function('newlocale', prefix: '#include ') conf.set('HAVE_NEWLOCALE', 1) @@ -221,9 +225,18 @@ conf.set('HAVE___LIBC_ENABLE_SECURE', 1) endif + vsock_availability_test_code = ''' +#include +#include +struct sockaddr_vm sa = { .svm_family = AF_VSOCK, .svm_cid = VMADDR_CID_ANY }; +''' + if cc.compiles(vsock_availability_test_code, name: 'vsock_test') + conf.set('HAVE_VSOCK', 1) + endif + foreach h : ['sys/types.h', 'signal.h'] foreach t : ['sighandler_t', 'sig_t', '__sighandler_t'] - if cc.has_header_symbol(h, t) + if cc.has_type(t, prefix: '#include <@0@>'.format(h)) define = 'HAVE_' + t.underscorify().to_upper() conf.set(define, 1) endif @@ -231,6 +244,16 @@ endforeach endif +headers = [ + 'stdbool.h', +] + +foreach h : headers + if cc.has_header(h) + conf.set('HAVE_' + h.underscorify().to_upper(), 1) + endif +endforeach + functions = [ 'asprintf', 'basename', @@ -249,6 +272,11 @@ endif endforeach +conf.set10('HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME', + cc.has_header_symbol('errno.h', + 'program_invocation_short_name', + prefix: '#define _GNU_SOURCE')) + conf.set10('HAVE_DECL_ASPRINTF', cc.has_header_symbol('stdio.h', 'asprintf', prefix: '#define _GNU_SOURCE')) @@ -361,3 +389,4 @@ endif subdir('doc/manual') subdir('po') +subdir('bash-completion') diff -Nru p11-kit-0.23.18.1/NEWS p11-kit-0.23.20/NEWS --- p11-kit-0.23.18.1/NEWS 2019-09-30 11:37:17.000000000 +0000 +++ p11-kit-0.23.20/NEWS 2020-01-29 16:42:18.000000000 +0000 @@ -1,3 +1,15 @@ +0.23.20 (stable) + * Revert "Fix RPC when length-s are 0" changes [PR#276] + +0.23.19 (stable) + * common: add Russian PKCS#11 extensions to pkcs11x.h header [PR#255] + * Add simple bash completion for provided commands [PR#258] + * Unbreak list matching in enable-in and disable-in [PR#262] + * Fix RPC when length-s are 0 [PR#259] + * rpc: Add vsock transport support [PR#270] + * trust: Support CKA_NSS_{SERVER,EMAIL}_DISTRUST_AFTER [PR#265] + * Build fixes [PR#271, PR#272, PR#273, ...] + 0.23.18 (stable) * rpc: Allow empty CK_DATE value [PR#253] * build: Meson fixes [PR#245] diff -Nru p11-kit-0.23.18.1/p11-kit/filter.c p11-kit-0.23.20/p11-kit/filter.c --- p11-kit-0.23.18.1/p11-kit/filter.c 2018-08-06 09:43:42.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/filter.c 2020-01-16 12:05:13.000000000 +0000 @@ -96,11 +96,12 @@ filter_add_slot (FilterData *filter, CK_SLOT_ID slot, const CK_TOKEN_INFO *token) { if (filter->n_slots >= filter->max_slots) { + FilterSlot *slots; filter->max_slots = filter->max_slots * 2 + 1; - filter->slots = realloc (filter->slots, - filter->max_slots * sizeof (FilterSlot)); - if (filter->slots == NULL) - return false; + slots = realloc (filter->slots, + filter->max_slots * sizeof (FilterSlot)); + return_val_if_fail (slots != NULL, false); + filter->slots = slots; } filter->slots[filter->n_slots].slot = slot; filter->slots[filter->n_slots].token = token; diff -Nru p11-kit-0.23.18.1/p11-kit/iter.c p11-kit-0.23.20/p11-kit/iter.c --- p11-kit-0.23.18.1/p11-kit/iter.c 2019-02-26 15:04:41.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/iter.c 2020-01-16 12:05:13.000000000 +0000 @@ -454,6 +454,7 @@ iter->keep_session = 1; } else if (slot != 0) { + CK_SLOT_ID *slots; /* * Limit to this slot. Initialize as if we're ready to use the @@ -461,8 +462,9 @@ */ iter->module = module; - iter->slots = realloc (iter->slots, sizeof (CK_SLOT_ID)); - return_if_fail (iter->slots != NULL); + slots = realloc (iter->slots, sizeof (CK_SLOT_ID)); + return_if_fail (slots != NULL); + iter->slots = slots; iter->slots[0] = slot; iter->num_slots = 1; iter->searched = 1; @@ -541,12 +543,15 @@ } if (iter->with_slots || iter->with_tokens || iter->with_objects) { + CK_SLOT_ID *slots; + rv = (iter->module->C_GetSlotList) (CK_TRUE, NULL, &num_slots); if (rv != CKR_OK) return finish_iterating (iter, rv); - iter->slots = realloc (iter->slots, sizeof (CK_SLOT_ID) * (num_slots + 1)); - return_val_if_fail (iter->slots != NULL, CKR_HOST_MEMORY); + slots = realloc (iter->slots, sizeof (CK_SLOT_ID) * (num_slots + 1)); + return_val_if_fail (slots != NULL, CKR_HOST_MEMORY); + iter->slots = slots; rv = (iter->module->C_GetSlotList) (CK_TRUE, iter->slots, &num_slots); if (rv != CKR_OK) @@ -697,9 +702,12 @@ for (;;) { if (iter->max_objects - iter->num_objects == 0) { + CK_OBJECT_HANDLE *objects; + iter->max_objects = iter->max_objects ? iter->max_objects * 2 : 64; - iter->objects = realloc (iter->objects, iter->max_objects * sizeof (CK_ULONG)); - return_val_if_fail (iter->objects != NULL, CKR_HOST_MEMORY); + objects = realloc (iter->objects, iter->max_objects * sizeof (CK_ULONG)); + return_val_if_fail (objects != NULL, CKR_HOST_MEMORY); + iter->objects = objects; } batch = iter->max_objects - iter->num_objects; diff -Nru p11-kit-0.23.18.1/p11-kit/Makefile.am p11-kit-0.23.20/p11-kit/Makefile.am --- p11-kit-0.23.18.1/p11-kit/Makefile.am 2019-09-30 12:57:35.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/Makefile.am 2019-12-03 09:11:20.000000000 +0000 @@ -246,6 +246,10 @@ $(LTLIBINTL) \ $(NULL) +if WITH_BASH_COMPLETION +bashcomp_DATA += bash-completion/p11-kit +endif + private_PROGRAMS += p11-kit/p11-kit-remote p11_kit_p11_kit_remote_SOURCES = \ diff -Nru p11-kit-0.23.18.1/p11-kit/meson.build p11-kit-0.23.20/p11-kit/meson.build --- p11-kit-0.23.18.1/p11-kit/meson.build 2019-09-30 11:04:51.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/meson.build 2020-01-21 15:40:30.000000000 +0000 @@ -286,6 +286,10 @@ shared_module(name, sources, name_prefix: '', + link_args: p11_module_ldflags, + link_depends: [p11_module_symbol_map, + p11_module_symbol_def], + vs_module_defs: p11_module_symbol_def, dependencies: [libp11_test_dep]) endforeach diff -Nru p11-kit-0.23.18.1/p11-kit/modules.c p11-kit-0.23.20/p11-kit/modules.c --- p11-kit-0.23.18.1/p11-kit/modules.c 2019-03-25 08:56:48.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/modules.c 2020-01-07 15:15:00.000000000 +0000 @@ -496,17 +496,27 @@ const char *string) { const char *where; + const char *start = list; - where = strstr (list, string); - if (where == NULL) - return false; + while (*start != '\0') { + where = strstr (start, string); + if (where == NULL) + return false; - /* Has to be at beginning/end of string, and delimiter before/after */ - if (where != list && !is_list_delimiter (*(where - 1))) - return false; + /* Has to be at beginning/end of string, and delimiter before/after */ + if (where != list && !is_list_delimiter (*(where - 1))) { + start += strlen (string); + continue; + } - where += strlen (string); - return (*where == '\0' || is_list_delimiter (*where)); + where += strlen (string); + if (*where == '\0' || is_list_delimiter (*where)) { + return true; + } + start = where; + } + + return false; } static bool diff -Nru p11-kit-0.23.18.1/p11-kit/proxy.c p11-kit-0.23.20/p11-kit/proxy.c --- p11-kit-0.23.18.1/p11-kit/proxy.c 2019-06-03 09:12:41.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/proxy.c 2020-01-16 12:05:13.000000000 +0000 @@ -278,13 +278,18 @@ return_val_if_fail (count == 0 || slots != NULL, CKR_GENERAL_ERROR); if (count > 0) { - py->mappings = realloc (py->mappings, sizeof (Mapping) * (py->n_mappings + count)); - return_val_if_fail (py->mappings != NULL, CKR_HOST_MEMORY); + Mapping *new_mappings; + + new_mappings = realloc (py->mappings, sizeof (Mapping) * (py->n_mappings + count)); + return_val_if_fail (new_mappings != NULL, CKR_HOST_MEMORY); + py->mappings = new_mappings; /* And now add a mapping for each of those slots */ for (i = 0; i < count; ++i) { /* Reuse the existing mapping if any */ for (j = 0; j < n_mappings; ++j) { + /* cppcheck-suppress nullPointer symbolName=mappings */ + /* false-positive: https://trac.cppcheck.net/ticket/9573 */ if (mappings[j].funcs == funcs && mappings[j].real_slot == slots[i]) break; diff -Nru p11-kit-0.23.18.1/p11-kit/rpc-transport.c p11-kit-0.23.20/p11-kit/rpc-transport.c --- p11-kit-0.23.18.1/p11-kit/rpc-transport.c 2019-06-18 15:25:34.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/rpc-transport.c 2020-01-16 12:05:13.000000000 +0000 @@ -63,6 +63,7 @@ #include #include #include +#include #endif #ifdef OS_WIN32 @@ -1145,6 +1146,89 @@ #endif /* OS_UNIX */ +#ifdef HAVE_VSOCK +#include +#include + +typedef struct { + p11_rpc_transport base; + struct sockaddr_vm sa; +} rpc_vsock; + +static CK_RV +rpc_vsock_connect (p11_rpc_client_vtable *vtable, + void *init_reserved) +{ + rpc_vsock *run = (rpc_vsock *)vtable; + int fd; + + fd = socket (AF_VSOCK, SOCK_STREAM, 0); + if (fd < 0) { + p11_message_err (errno, "failed to create socket for remote"); + return CKR_GENERAL_ERROR; + } + + if (connect (fd, (struct sockaddr *)&run->sa, sizeof (run->sa)) < 0) { + p11_debug_err (errno, "failed to connect to socket"); + close (fd); + return CKR_DEVICE_REMOVED; + } + + run->base.socket = rpc_socket_new (fd); + return_val_if_fail (run->base.socket != NULL, CKR_GENERAL_ERROR); + + return CKR_OK; +} + +static void +rpc_vsock_disconnect (p11_rpc_client_vtable *vtable, + void *fini_reserved) +{ + rpc_vsock *run = (rpc_vsock *)vtable; + + if (run->base.socket) + rpc_socket_close (run->base.socket); + + /* Do the common disconnect stuff */ + rpc_transport_disconnect (vtable, fini_reserved); +} + +static void +rpc_vsock_free (void *data) +{ + rpc_vsock *run = data; + rpc_vsock_disconnect (data, NULL); + rpc_transport_uninit (&run->base); + free (run); +} + +static p11_rpc_transport * +rpc_vsock_init (unsigned int cid, + unsigned int port, + const char *name) +{ + rpc_vsock *run; + + run = calloc (1, sizeof (rpc_vsock)); + return_val_if_fail (run != NULL, NULL); + + memset (&run->sa, 0, sizeof (run->sa)); + run->sa.svm_family = AF_VSOCK; + run->sa.svm_cid = cid; + run->sa.svm_port = port; + + run->base.vtable.connect = rpc_vsock_connect; + run->base.vtable.disconnect = rpc_vsock_disconnect; + run->base.vtable.transport = rpc_transport_buffer; + rpc_transport_init (&run->base, name, rpc_vsock_free); + + p11_debug ("initialized rpc socket: vsock:cid=%u;port=%u", + cid, port); + return &run->base; +} + +#endif /* HAVE_VSOCK */ + p11_rpc_transport * p11_rpc_transport_new (p11_virtual *virt, const char *remote, @@ -1170,11 +1254,26 @@ rpc = rpc_unix_init (path, name); free (path); #endif /* OS_UNIX */ +#ifdef HAVE_VSOCK + } else if (strncmp (remote, "vsock:", 6) == 0) { + unsigned int cid = 0, port = 0; + + if (!p11_vsock_parse_addr (remote + 6, &cid, &port) || + cid == VMADDR_CID_ANY) { + p11_message ("failed to parse vsock address: '%s'", + remote + 6); + return NULL; + } + + rpc = rpc_vsock_init (cid, port, name); +#endif /* HAVE_VSOCK */ } else { p11_message ("remote not supported: %s", remote); return NULL; } + return_val_if_fail (rpc != NULL, NULL); + if (!p11_rpc_client_init (virt, &rpc->vtable)) return_val_if_reached (NULL); diff -Nru p11-kit-0.23.18.1/p11-kit/server.c p11-kit-0.23.20/p11-kit/server.c --- p11-kit-0.23.18.1/p11-kit/server.c 2019-06-14 13:29:39.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/server.c 2020-01-16 12:05:13.000000000 +0000 @@ -66,6 +66,11 @@ #include #endif +#ifdef HAVE_VSOCK +#include "vsock.h" +#include +#endif + #ifdef HAVE_SIGHANDLER_T #define SIGHANDLER_T sighandler_t #elif HAVE_SIG_T @@ -90,6 +95,11 @@ uid_t uid; gid_t gid; +#ifdef HAVE_VSOCK + unsigned int vsock_cid; + unsigned int vsock_port; +#endif /* HAVE_VSOCK */ + int socket; #endif /* OS_UNIX */ @@ -138,6 +148,30 @@ server->socket_name = socket_name; #ifdef OS_UNIX + if (strncmp (socket_name, "unix:path=", 10) == 0) { + server->socket_name = socket_name + 10; +#ifdef HAVE_VSOCK + } else if (strncmp (socket_name, "vsock:", 6) == 0) { + if (!p11_vsock_parse_addr(socket_name + 6, + &server->vsock_cid, + &server->vsock_port)) { + p11_message ("failed to parse vsock address: '%s'", + socket_name + 6); + free (server); + return NULL; + } + if (server->vsock_cid == VMADDR_CID_ANY) { + /* We need to print the right CID so that clients can + * know the address to connect to. Just binding to + * VMADDR_CID_ANY isn't stunningly useful unless the + * client knows the CID through other means */ + p11_vsock_get_local_cid (&server->vsock_cid); + /* On error, we'll just report 0xFFFFFFFF */ + } + server->socket_name = NULL; +#endif /* HAVE_VSOCK */ + } + server->socket = -1; #endif /* OS_UNIX */ @@ -255,9 +289,9 @@ } static int -create_socket (const char *address, - uid_t uid, - gid_t gid) +create_unix_socket (const char *address, + uid_t uid, + gid_t gid) { int rc, sd; struct sockaddr_un sa; @@ -305,6 +339,43 @@ return sd; } +#ifdef HAVE_VSOCK +static int +create_vsock_socket (unsigned int cid, + unsigned int port) +{ + int rc, sd; + struct sockaddr_vm sa; + + memset (&sa, 0, sizeof(sa)); + sa.svm_family = AF_VSOCK; + sa.svm_cid = cid; + sa.svm_port = port; + + sd = socket (AF_VSOCK, SOCK_STREAM, 0); + if (sd == -1) { + p11_message_err (errno, "could not create socket %u:%u", cid, port); + return -1; + } + + rc = bind (sd, (struct sockaddr *)&sa, sizeof(sa)); + if (rc == -1) { + close (sd); + p11_message_err (errno, "could not bind socket %u:%u", cid, port); + return -1; + } + + rc = listen (sd, 1024); + if (rc == -1) { + close (sd); + p11_message_err (errno, "could not listen to socket %u:%u", cid, port); + return 1; + } + + return sd; +} +#endif /* HAVE_VSOCK */ + static bool check_credentials (int fd, uid_t uid, @@ -339,14 +410,26 @@ } static bool -print_environment (pid_t pid, const char *socket_path, bool csh) +print_environment (pid_t pid, Server *server, bool csh) { char *path, *address; - int rc; + int rc = -1; - path = p11_path_encode (socket_path); - rc = asprintf (&address, "unix:path=%s", path); - free (path); + if (server->socket_name) { + path = p11_path_encode (server->socket_name); + rc = asprintf (&address, "unix:path=%s", path); + free (path); +#ifdef HAVE_VSOCK + } else if (server->vsock_cid || server->vsock_port) { + if (server->vsock_cid == VMADDR_CID_ANY) { + rc = asprintf (&address, "vsock:port=%u", + server->vsock_port); + } else { + rc = asprintf (&address, "vsock:cid=%u;port=%u", + server->vsock_cid, server->vsock_port); + } +#endif + } if (rc < 0) return false; if (csh) { @@ -406,7 +489,7 @@ close (STDOUT_FILENO); } if (pid != 0) { - if (!print_environment (pid, server->socket_name, csh)) + if (!print_environment (pid, server, csh)) return 1; exit (0); } @@ -425,18 +508,22 @@ server->socket = SD_LISTEN_FDS_START + 0; } else #endif - { - server->socket = create_socket (server->socket_name, server->uid, server->gid); - if (server->socket == -1) - return 1; + if (server->socket_name) { + server->socket = create_unix_socket (server->socket_name, server->uid, server->gid); +#ifdef HAVE_VSOCK + } else if (server->vsock_cid || server->vsock_port) { + server->socket = create_vsock_socket (server->vsock_cid, server->vsock_port); +#endif } + if (server->socket == -1) + return 1; sigprocmask (SIG_BLOCK, &blockset, NULL); /* for testing purposes, even when started in foreground, * print the envvars */ if (foreground) { - if (!print_environment (getpid (), server->socket_name, csh)) + if (!print_environment (getpid (), server, csh)) return 1; fflush (stdout); } @@ -472,7 +559,8 @@ continue; } - if (!check_credentials (cfd, server->uid, server->gid)) + if (server->socket_name && + !check_credentials (cfd, server->uid, server->gid)) continue; pid = fork (); diff -Nru p11-kit-0.23.18.1/p11-kit/test-proxy.c p11-kit-0.23.20/p11-kit/test-proxy.c --- p11-kit-0.23.18.1/p11-kit/test-proxy.c 2019-09-09 11:17:19.000000000 +0000 +++ p11-kit-0.23.20/p11-kit/test-proxy.c 2019-10-31 09:09:25.000000000 +0000 @@ -233,6 +233,7 @@ #define TWO_MODULE "module: mock-two" SHLEXT "\n" #define ENABLED "enable-in: test-proxy, p11-kit-proxy\n" #define DISABLED "disable-in: p11-kit-proxy\n" +#define ENABLED_PREFIX "enable-in: test-proxy-suffix, p11-kit-proxy-suffix, test-proxy, p11-kit-proxy\n" #define EIGHT_MODULE "module: mock-eight" SHLEXT "\n" #define NINE_MODULE "module: mock-nine" SHLEXT "\n" @@ -311,6 +312,12 @@ p11_test_file_write (test.directory, "two.module", TWO_MODULE DISABLED, strlen (TWO_MODULE DISABLED)); disabled = load_modules_and_count_slots (); assert_num_cmp (disabled, <, count); + + p11_test_file_write (test.directory, "one.module", ONE_MODULE ENABLED_PREFIX, strlen (ONE_MODULE ENABLED_PREFIX)); + p11_test_file_write (test.directory, "two.module", TWO_MODULE, strlen (TWO_MODULE)); + enabled = load_modules_and_count_slots (); + assert_num_eq (enabled, count); + } static void Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ar.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ar.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/as.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/as.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ast.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ast.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/az.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/az.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/bg.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/bg.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/bn_IN.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/bn_IN.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ca.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ca.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ca@valencia.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ca@valencia.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/cs.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/cs.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/cy.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/cy.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/da.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/da.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/de.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/de.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/el.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/el.gmo differ diff -Nru p11-kit-0.23.18.1/po/en@boldquot.header p11-kit-0.23.20/po/en@boldquot.header --- p11-kit-0.23.18.1/po/en@boldquot.header 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/po/en@boldquot.header 2020-01-29 16:42:26.000000000 +0000 @@ -2,7 +2,7 @@ # 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 +# https://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). Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/en_GB.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/en_GB.gmo differ diff -Nru p11-kit-0.23.18.1/po/en@quot.header p11-kit-0.23.20/po/en@quot.header --- p11-kit-0.23.18.1/po/en@quot.header 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/po/en@quot.header 2020-01-29 16:42:26.000000000 +0000 @@ -2,7 +2,7 @@ # 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 +# https://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). Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/eo.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/eo.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/es.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/es.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/et.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/et.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/eu.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/eu.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/fa.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/fa.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/fi.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/fi.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/fo.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/fo.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/fr.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/fr.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/fur.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/fur.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ga.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ga.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/gl.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/gl.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/gu.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/gu.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/he.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/he.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/hi.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/hi.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/hr.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/hr.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/hu.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/hu.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ia.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ia.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/id.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/id.gmo differ diff -Nru p11-kit-0.23.18.1/po/insert-header.sin p11-kit-0.23.20/po/insert-header.sin --- p11-kit-0.23.18.1/po/insert-header.sin 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/po/insert-header.sin 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,10 @@ # Sed script that inserts the file called HEADER before the header entry. # +# Copyright (C) 2001 Free Software Foundation, Inc. +# Written by Bruno Haible , 2001. +# This file is free software; the Free Software Foundation gives +# unlimited permission to use, copy, distribute, and modify it. +# # 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 Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/it.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/it.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ja.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ja.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ka.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ka.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/kk.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/kk.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/kn.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/kn.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ko.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ko.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/lt.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/lt.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/lv.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/lv.gmo differ diff -Nru p11-kit-0.23.18.1/po/Makefile.in.in p11-kit-0.23.20/po/Makefile.in.in --- p11-kit-0.23.18.1/po/Makefile.in.in 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/po/Makefile.in.in 2020-01-29 16:42:26.000000000 +0000 @@ -1,13 +1,14 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# Copyright (C) 1995-2000 Ulrich Drepper +# Copyright (C) 2000-2019 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 any warranty. # -# Origin: gettext-0.19.8 -GETTEXT_MACRO_VERSION = 0.19 +# Origin: gettext-0.20 +GETTEXT_MACRO_VERSION = 0.20 PACKAGE = @PACKAGE@ VERSION = @VERSION@ @@ -52,16 +53,13 @@ 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 = @MSGMERGE@ MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter @@ -93,17 +91,32 @@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update +.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: +# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs. +# The GNU Coding Standards say in +# : +# "GNU distributions usually contain some files which are not source files +# ... . Since these files normally appear in the source directory, they +# should always appear in the source directory, not in the build directory. +# So Makefile rules to update them should put the updated files in the +# source directory." +# Therefore we put these files in the source directory, not the build directory. + +# During .po -> .gmo conversion, take into account the most recent changes to +# the .pot file. This eliminates the need to update the .po files when the +# .pot file has changed, which would be troublesome if the .po files are put +# under version control. +.po.gmo: $(srcdir)/$(DOMAIN).pot @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \ + cd $(srcdir) && \ + rm -f $${lang}.gmo && \ + $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \ + $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \ + mv t-$${lang}.gmo $${lang}.gmo && \ + rm -f $${lang}.1po .sin.sed: sed -e '/^#/d' $< > t-$@ @@ -112,7 +125,7 @@ all: all-@USE_NLS@ -all-yes: stamp-po +all-yes: $(srcdir)/stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. @@ -126,24 +139,24 @@ # 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). +# In this case, $(srcdir)/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 +# $(srcdir)/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 from a version control system, and the $(DOMAIN).pot +# file is not under version control, "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. +$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot @$(CHECK_MACRO_VERSION) 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; \ + echo "touch $(srcdir)/stamp-po" && \ + echo timestamp > $(srcdir)/stamp-poT && \ + mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', @@ -159,11 +172,9 @@ package_gnu="$(PACKAGE_GNU)"; \ test -n "$$package_gnu" || { \ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ - LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ - -size -10000000c -exec grep 'GNU @PACKAGE@' \ - /dev/null '{}' ';' 2>/dev/null; \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \ else \ - LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ fi; \ } | grep -v 'libtool:' >/dev/null; then \ package_gnu=yes; \ @@ -184,26 +195,29 @@ 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@ \ + --add-comments=TRANSLATORS: \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ + $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --add-comments=TRANSLATORS: \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_prefix}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ + $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot-header; then \ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ - cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ - rm -f $(DOMAIN).1po; \ + cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \ + rm -f $(DOMAIN).1po \ + || exit 1; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ @@ -228,17 +242,19 @@ # 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): $(POFILESDEPS) + @test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ - test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ - && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + 0.1[6-7] | 0.1[6-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \ *) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ @@ -373,28 +389,30 @@ info dvi ps pdf html tags TAGS ctags CTAGS ID: +install-dvi install-ps install-pdf install-html: + mostlyclean: rm -f remove-potcdate.sed - rm -f stamp-poT + rm -f $(srcdir)/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 + rm -f Makefile Makefile.in POTFILES 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) + rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) +dist2: $(srcdir)/stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ @@ -439,13 +457,15 @@ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + 0.1[6-7] | 0.1[6-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ml.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ml.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/mr.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/mr.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ms.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ms.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/nb.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/nb.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/nl.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/nl.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/nn.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/nn.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/oc.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/oc.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/or.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/or.gmo differ diff -Nru p11-kit-0.23.18.1/po/p11-kit.pot p11-kit-0.23.20/po/p11-kit.pot --- p11-kit-0.23.18.1/po/p11-kit.pot 2019-09-30 13:03:18.000000000 +0000 +++ p11-kit-0.23.20/po/p11-kit.pot 2020-01-29 16:43:24.000000000 +0000 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: p11-kit 0.23.18\n" +"Project-Id-Version: p11-kit 0.23.20\n" "Report-Msgid-Bugs-To: https://github.com/p11-glue/p11-kit/issues\n" -"POT-Creation-Date: 2019-09-30 15:03+0200\n" +"POT-Creation-Date: 2020-01-29 17:43+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/pa.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/pa.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/pl.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/pl.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/pt_BR.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/pt_BR.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/pt.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/pt.gmo differ diff -Nru p11-kit-0.23.18.1/po/remove-potcdate.sin p11-kit-0.23.20/po/remove-potcdate.sin --- p11-kit-0.23.18.1/po/remove-potcdate.sin 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/po/remove-potcdate.sin 2020-01-29 16:42:26.000000000 +0000 @@ -1,6 +1,12 @@ -# Sed script that remove the POT-Creation-Date line in the header entry +# Sed script that removes the POT-Creation-Date line in the header entry # from a POT file. # +# Copyright (C) 2002 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 any warranty. +# # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ro.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ro.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ru.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ru.gmo differ diff -Nru p11-kit-0.23.18.1/po/Rules-quot p11-kit-0.23.20/po/Rules-quot --- p11-kit-0.23.18.1/po/Rules-quot 2019-09-30 13:02:36.000000000 +0000 +++ p11-kit-0.23.20/po/Rules-quot 2020-01-29 16:42:26.000000000 +0000 @@ -1,5 +1,9 @@ -# This file, Rules-quot, can be copied and used freely without restrictions. # Special Makefile rules for English message catalogs with quotation marks. +# +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# This file, Rules-quot, and its auxiliary files (listed under +# DISTFILES.common.extra1) are free software; the Free Software Foundation +# gives unlimited permission to use, copy, distribute, and modify them. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/sk.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/sk.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/sl.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/sl.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/sq.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/sq.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/sr.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/sr.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/sr@latin.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/sr@latin.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/sv.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/sv.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/ta.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/ta.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/te.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/te.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/th.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/th.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/tr.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/tr.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/uk.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/uk.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/vi.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/vi.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/wa.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/wa.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/zh_CN.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/zh_CN.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/zh_HK.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/zh_HK.gmo differ Binary files /tmp/tmpTjyqKM/7wQvJXQgFV/p11-kit-0.23.18.1/po/zh_TW.gmo and /tmp/tmpTjyqKM/dhKUs1MF1s/p11-kit-0.23.20/po/zh_TW.gmo differ diff -Nru p11-kit-0.23.18.1/trust/builder.c p11-kit-0.23.20/trust/builder.c --- p11-kit-0.23.18.1/trust/builder.c 2019-08-28 14:38:42.000000000 +0000 +++ p11-kit-0.23.20/trust/builder.c 2020-01-21 15:22:29.000000000 +0000 @@ -339,6 +339,82 @@ return check_der_struct (builder, "PKIX1.Extension", attr); } +static bool +type_false_or_time (p11_builder *builder, + CK_ATTRIBUTE *attr) +{ + struct tm tm; + struct tm two; + char *value; + + if (sizeof (CK_BBOOL) == attr->ulValueLen && + *((CK_BBOOL *)attr->pValue) == CK_FALSE) + return true; + + value = attr->pValue; + + switch (attr->ulValueLen) { + case 13: + /* UTCTime restricted by RFC 5280 4.1.2.5.1, i.e., in + * the format "YYMMDDHHMMSSZ" */ + if (value[attr->ulValueLen - 1] != 'Z') + return false; + + tm.tm_year = atoin (value, 2); + if (tm.tm_year < 0) + return false; + if (tm.tm_year >= 50) + tm.tm_year += 1900; + else if (tm.tm_year >= 0) + tm.tm_year += 2000; + value += 2; + + break; + case 15: + /* GeneralizedTime restricted by RFC 5280 4.1.2.5.2, + * i.e., in the form "YYYYMMDDHHMMSSZ" */ + if (value[attr->ulValueLen - 1] != 'Z') + return false; + + tm.tm_year = atoin (value, 4); + if (tm.tm_year < 0) + return false; + value += 4; + + break; + default: + return false; + } + + tm.tm_mon = atoin (value, 2); + value += 2; + tm.tm_mday = atoin (value, 2); + value += 2; + tm.tm_hour = atoin (value, 2); + value += 2; + tm.tm_min = atoin (value, 2); + value += 2; + tm.tm_sec = atoin (value, 2); + + if (tm.tm_mon <= 0 || tm.tm_mday <= 0 || + tm.tm_hour < 0 || tm.tm_min < 0 || tm.tm_sec < 0) + return false; + + memcpy (&two, &tm, sizeof (tm)); + two.tm_isdst = -1; /* do not perform tz fixup */ + + /* If mktime changed anything, then bad time */ + if (tm.tm_year != two.tm_year || + tm.tm_mon != two.tm_mon || + tm.tm_mday != two.tm_mday || + tm.tm_hour != two.tm_hour || + tm.tm_min != two.tm_min || + tm.tm_sec != two.tm_sec) + return false; + + return true; +} + #define COMMON_ATTRS \ { CKA_CLASS, REQUIRE | CREATE, type_ulong }, \ { CKA_TOKEN, CREATE | WANT, type_bool }, \ @@ -797,6 +873,8 @@ { CKA_TRUSTED, CREATE | WANT, type_bool }, { CKA_X_DISTRUSTED, CREATE | WANT, type_bool }, { CKA_NSS_MOZILLA_CA_POLICY, CREATE | WANT, type_bool }, + { CKA_NSS_SERVER_DISTRUST_AFTER, CREATE | WANT, type_false_or_time }, + { CKA_NSS_EMAIL_DISTRUST_AFTER, CREATE | WANT, type_false_or_time }, { CKA_CERTIFICATE_CATEGORY, CREATE | WANT, type_ulong }, { CKA_CHECK_VALUE, CREATE | WANT, }, { CKA_START_DATE, CREATE | MODIFY | WANT, type_date }, diff -Nru p11-kit-0.23.18.1/trust/index.c p11-kit-0.23.20/trust/index.c --- p11-kit-0.23.18.1/trust/index.c 2019-02-26 15:04:41.000000000 +0000 +++ p11-kit-0.23.20/trust/index.c 2020-01-16 12:05:13.000000000 +0000 @@ -269,9 +269,13 @@ alloc = alloc_size (bucket->num); if (bucket->num + 1 > alloc) { + CK_OBJECT_HANDLE *elem; + alloc = alloc ? alloc * 2 : 1; return_if_fail (alloc != 0); - bucket->elem = realloc (bucket->elem, alloc * sizeof (CK_OBJECT_HANDLE)); + elem = realloc (bucket->elem, alloc * sizeof (CK_OBJECT_HANDLE)); + return_if_fail (elem != NULL); + bucket->elem = elem; } return_if_fail (bucket->elem != NULL); @@ -289,9 +293,13 @@ alloc = alloc_size (bucket->num); if (bucket->num + 1 > alloc) { + CK_OBJECT_HANDLE *elem; + alloc = alloc ? alloc * 2 : 1; return_val_if_fail (alloc != 0, false); - bucket->elem = realloc (bucket->elem, alloc * sizeof (CK_OBJECT_HANDLE)); + elem = realloc (bucket->elem, alloc * sizeof (CK_OBJECT_HANDLE)); + return_val_if_fail (elem != NULL, false); + bucket->elem = elem; } return_val_if_fail (bucket->elem != NULL, false); diff -Nru p11-kit-0.23.18.1/trust/Makefile.am p11-kit-0.23.20/trust/Makefile.am --- p11-kit-0.23.18.1/trust/Makefile.am 2019-09-18 13:12:38.000000000 +0000 +++ p11-kit-0.23.20/trust/Makefile.am 2019-10-31 09:09:25.000000000 +0000 @@ -119,6 +119,10 @@ external_SCRIPTS = \ trust/trust-extract-compat +if WITH_BASH_COMPLETION +bashcomp_DATA += bash-completion/trust +endif + EXTRA_DIST += \ trust/p11-kit-trust.module \ trust/meson.build diff -Nru p11-kit-0.23.18.1/trust/test-builder.c p11-kit-0.23.20/trust/test-builder.c --- p11-kit-0.23.18.1/trust/test-builder.c 2018-06-22 15:45:27.000000000 +0000 +++ p11-kit-0.23.20/trust/test-builder.c 2020-01-21 15:22:29.000000000 +0000 @@ -864,6 +864,79 @@ } static void +test_valid_false_or_time (void) +{ + CK_ATTRIBUTE *attrs = NULL; + CK_ATTRIBUTE *extra = NULL; + CK_RV rv; + + CK_ATTRIBUTE input[] = { + { CKA_NSS_SERVER_DISTRUST_AFTER, NULL, 0 }, + { CKA_CLASS, &certificate, sizeof (certificate) }, + { CKA_CERTIFICATE_TYPE, &x509, sizeof (x509) }, + { CKA_INVALID }, + }; + + input[0].pValue = "\x00"; + input[0].ulValueLen = 1; + rv = p11_builder_build (test.builder, test.index, attrs, input, &extra); + assert_num_eq (CKR_OK, rv); + + p11_attrs_free (extra); + p11_attrs_free (attrs); + attrs = NULL; + + input[0].pValue = "190701000000Z"; + input[0].ulValueLen = 13; + rv = p11_builder_build (test.builder, test.index, attrs, input, &extra); + assert_num_eq (CKR_OK, rv); + + p11_attrs_free (extra); + p11_attrs_free (attrs); + + input[0].pValue = "20190701000000Z"; + input[0].ulValueLen = 15; + rv = p11_builder_build (test.builder, test.index, attrs, input, &extra); + assert_num_eq (CKR_OK, rv); + + p11_attrs_free (extra); + p11_attrs_free (attrs); +} + +static void +test_invalid_false_or_time (void) +{ + CK_ATTRIBUTE *attrs = NULL; + CK_ATTRIBUTE *extra = NULL; + CK_RV rv; + + CK_ATTRIBUTE input[] = { + { CKA_NSS_SERVER_DISTRUST_AFTER, NULL, 0 }, + { CKA_CLASS, &certificate, sizeof (certificate) }, + { CKA_CERTIFICATE_TYPE, &x509, sizeof (x509) }, + { CKA_INVALID }, + }; + + p11_message_quiet (); + + input[0].pValue = "\x01"; + input[0].ulValueLen = 1; + rv = p11_builder_build (test.builder, test.index, attrs, input, &extra); + assert_num_eq (CKR_ATTRIBUTE_VALUE_INVALID, rv); + + input[0].pValue = "\x01\x02\x03"; + input[0].ulValueLen = 3; + rv = p11_builder_build (test.builder, test.index, attrs, input, &extra); + assert_num_eq (CKR_ATTRIBUTE_VALUE_INVALID, rv); + + input[0].pValue = NULL; + rv = p11_builder_build (test.builder, test.index, attrs, input, &extra); + assert_num_eq (CKR_ATTRIBUTE_VALUE_INVALID, rv); + + p11_message_loud (); +} + +static void test_valid_name (void) { CK_ATTRIBUTE *attrs = NULL; @@ -2204,6 +2277,7 @@ p11_test (test_valid_name, "/builder/valid-name"); p11_test (test_valid_serial, "/builder/valid-serial"); p11_test (test_valid_cert, "/builder/valid-cert"); + p11_test (test_valid_false_or_time, "/builder/valid-false-or-time"); p11_test (test_invalid_bool, "/builder/invalid-bool"); p11_test (test_invalid_ulong, "/builder/invalid-ulong"); p11_test (test_invalid_utf8, "/builder/invalid-utf8"); @@ -2211,6 +2285,7 @@ p11_test (test_invalid_name, "/builder/invalid-name"); p11_test (test_invalid_serial, "/builder/invalid-serial"); p11_test (test_invalid_cert, "/builder/invalid-cert"); + p11_test (test_invalid_false_or_time, "/builder/invalid-false-or-time"); p11_test (test_invalid_schema, "/builder/invalid-schema"); p11_test (test_create_not_settable, "/builder/create_not_settable");