1. 22 Sep, 2015 2 commits
  2. 21 Sep, 2015 2 commits
  3. 15 Sep, 2015 6 commits
  4. 23 Jun, 2015 1 commit
    • Michael Tokarev's avatar
      libcacard: pkgconfig: tidy dependent libs · 7abb909f
      Michael Tokarev authored
      
      
      libcacard.pc file lists only one package in Requires
      field, which is nss, while glib-2.0 is also a requiriment.
      Furthermore, for libraries used internally by the library
      (this is the way nss and glib are used by libcacard),
      Requires.private shold be used instead of Requires.
      
      Fix both issues.
      
      This does not affect linking of qemu because it links
      with objects from libcacard directly.
      Signed-off-by: Michael Tokarev's avatarMichael Tokarev <mjt@tls.msk.ru>
      7abb909f
  5. 22 May, 2015 1 commit
  6. 08 May, 2015 1 commit
  7. 30 Apr, 2015 2 commits
  8. 02 Apr, 2015 1 commit
  9. 10 Feb, 2015 1 commit
    • Daniel P. Berrange's avatar
      libcacard: stop linking against every single 3rd party library · 7c12cf89
      Daniel P. Berrange authored and Michael Tokarev's avatar Michael Tokarev committed
      
      
      Building QEMU results in a libcacard.so that links against
      practically the entire world
      
      	linux-vdso.so.1 =>  (0x00007fff71e99000)
      	libssl3.so => /usr/lib64/libssl3.so (0x00007f49f94b6000)
      	libsmime3.so => /usr/lib64/libsmime3.so (0x00007f49f928e000)
      	libnss3.so => /usr/lib64/libnss3.so (0x00007f49f8f67000)
      	libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f49f8d3b000)
      	libplds4.so => /usr/lib64/libplds4.so (0x00007f49f8b36000)
      	libplc4.so => /usr/lib64/libplc4.so (0x00007f49f8931000)
      	libnspr4.so => /usr/lib64/libnspr4.so (0x00007f49f86f2000)
      	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f49f84ed000)
      	libm.so.6 => /usr/lib64/libm.so.6 (0x00007f49f81e5000)
      	libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f49f7fe3000)
      	librt.so.1 => /usr/lib64/librt.so.1 (0x00007f49f7dda000)
      	libz.so.1 => /usr/lib64/libz.so.1 (0x00007f49f7bc4000)
      	libcap-ng.so.0 => /usr/lib64/libcap-ng.so.0 (0x00007f49f79be000)
      	libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f49f77b8000)
      	libgnutls.so.28 => /usr/lib64/libgnutls.so.28 (0x00007f49f749a000)
      	libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007f49f71fd000)
      	libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f49f6fe0000)
      	libvte.so.9 => /usr/lib64/libvte.so.9 (0x00007f49f6d3f000)
      	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f49f6b2d000)
      	libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007f49f64a0000)
      	libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x00007f49f61de000)
      	libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f49f5fd1000)
      	libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f49f5daa000)
      	libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f49f5a9d000)
      	libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f49f5878000)
      	libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f49f5500000)
      	libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f49f52eb000)
      	libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f49f50a0000)
      	libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f49f4e4e000)
      	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f49f4b15000)
      	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f49f48d6000)
      	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f49f462b000)
      	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f49f42e8000)
      	libxenstore.so.3.0 => /usr/lib64/libxenstore.so.3.0 (0x00007f49f40de000)
      	libxenctrl.so.4.4 => /usr/lib64/libxenctrl.so.4.4 (0x00007f49f3eb6000)
      	libxenguest.so.4.4 => /usr/lib64/libxenguest.so.4.4 (0x00007f49f3c8b000)
      	libseccomp.so.2 => /usr/lib64/libseccomp.so.2 (0x00007f49f3a74000)
      	librdmacm.so.1 => /usr/lib64/librdmacm.so.1 (0x00007f49f385d000)
      	libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00007f49f364a000)
      	libutil.so.1 => /usr/lib64/libutil.so.1 (0x00007f49f3447000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x00007f49f3089000)
      	/lib64/ld-linux-x86-64.so.2 (0x00007f49f9902000)
      	libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f49f2e23000)
      	libtspi.so.1 => /usr/lib64/libtspi.so.1 (0x00007f49f2bb2000)
      	libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f49f299f000)
      	libnettle.so.4 => /usr/lib64/libnettle.so.4 (0x00007f49f276d000)
      	libhogweed.so.2 => /usr/lib64/libhogweed.so.2 (0x00007f49f2545000)
      	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f49f22cd000)
      	libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x00007f49f20a5000)
      	libtinfo.so.5 => /usr/lib64/libtinfo.so.5 (0x00007f49f1e7a000)
      	libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f49f1c76000)
      	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f49f1a6f000)
      	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f49f1865000)
      	libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f49f1662000)
      	libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f49f1452000)
      	libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f49f1247000)
      	libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f49f103c000)
      	libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f49f0e39000)
      	libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f49f0c35000)
      	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f49f09dd000)
      	libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f49f072f000)
      	libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f49f0505000)
      	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f49f02d2000)
      	libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f49f00cd000)
      	libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f49efec3000)
      	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f49efca1000)
      	libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f49efa06000)
      	libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007f49ef7fe000)
      	libselinux.so.1 => /usr/lib64/libselinux.so.1 (0x00007f49ef5d8000)
      	libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x00007f49ef3be000)
      	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f49ef193000)
      	libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f49eef83000)
      	libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f49eed6c000)
      	liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f49eeb46000)
      	libnl-route-3.so.200 => /usr/lib64/libnl-route-3.so.200 (0x00007f49ee8e2000)
      	libnl-3.so.200 => /usr/lib64/libnl-3.so.200 (0x00007f49ee6c4000)
      	libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f49ee2d6000)
      	libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f49ee067000)
      	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f49ede48000)
      	libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f49edc46000)
      	libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007f49eda41000)
      	libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007f49ed838000)
      	libxcb-shape.so.0 => /usr/lib64/libxcb-shape.so.0 (0x00007f49ed634000)
      	libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007f49ed426000)
      	libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007f49ed217000)
      	libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 (0x00007f49ed005000)
      	libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007f49ecddb000)
      	libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f49ecbce000)
      	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f49ec9ca000)
      	libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007f49ec7b0000)
      	libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007f49ec5ad000)
      	libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007f49ec3aa000)
      	libxcb-randr.so.0 => /usr/lib64/libxcb-randr.so.0 (0x00007f49ec19b000)
      	libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007f49ebf94000)
      	libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007f49ebd91000)
      	libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f49ebb8a000)
      	libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f49eb91d000)
      	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f49eb6cf000)
      	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f49eb3ec000)
      	libcom_err.so.2 => /usr/lib64/libcom_err.so.2 (0x00007f49eb1e8000)
      	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f49eafb4000)
      	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f49eada5000)
      	libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007f49eaba0000)
      
      All libcacard actually needs are the NSS libs. Linking against the entire
      world is a regression caused by
      
        commit 9d171bd9375e4d08feff9adda15163e0811f5f42
        Author: Michael Tokarev <mjt@tls.msk.ru>
        Date:   Thu May 8 16:48:27 2014 +0400
      
          libcacard: remove libcacard-specific CFLAGS and LIBS from global vars
      
      Which removed the setting of the LIBS variable in libcacard/Makefile.
      
      Adding it back as an empty assignment brings the linked libs back to a more
      reasonable set
      
      	linux-vdso.so.1 =>  (0x00007fff575c1000)
      	libssl3.so => /usr/lib64/libssl3.so (0x00007f7f753b1000)
      	libsmime3.so => /usr/lib64/libsmime3.so (0x00007f7f75189000)
      	libnss3.so => /usr/lib64/libnss3.so (0x00007f7f74e62000)
      	libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f7f74c36000)
      	libplds4.so => /usr/lib64/libplds4.so (0x00007f7f74a31000)
      	libplc4.so => /usr/lib64/libplc4.so (0x00007f7f7482c000)
      	libnspr4.so => /usr/lib64/libnspr4.so (0x00007f7f745ed000)
      	libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f7f743d0000)
      	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f7f741cc000)
      	libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f7f73fca000)
      	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f7f73c90000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x00007f7f738d3000)
      	libz.so.1 => /usr/lib64/libz.so.1 (0x00007f7f736bd000)
      	librt.so.1 => /usr/lib64/librt.so.1 (0x00007f7f734b4000)
      	/lib64/ld-linux-x86-64.so.2 (0x00007f7f757fd000)
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Cc: <qemu-stable@nongnu.org>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: Michael Tokarev's avatarMichael Tokarev <mjt@tls.msk.ru>
      7c12cf89
  10. 14 Nov, 2014 1 commit
  11. 28 Oct, 2014 3 commits
  12. 16 Oct, 2014 1 commit
  13. 15 Oct, 2014 1 commit
  14. 20 Sep, 2014 1 commit
  15. 24 Jun, 2014 1 commit
  16. 11 Jun, 2014 1 commit
  17. 10 Jun, 2014 6 commits
  18. 26 May, 2014 2 commits
    • Michael Tokarev's avatar
      libcacard: remove useless initializers · b85dd1fe
      Michael Tokarev authored
      
      
      libcacard has many functions which initializes local variables
      at declaration time, which are always assigned some values later
      (often right after declaration).  Clean up these initializers.
      Signed-off-by: Michael Tokarev's avatarMichael Tokarev <mjt@tls.msk.ru>
      b85dd1fe
    • Michael Tokarev's avatar
      libcacard: fix wrong array expansion logic · 0b25d4b5
      Michael Tokarev authored
      
      
      The currrent code in libcacard/vcard_emul_nss.c:vcard_emul_options()
      has a weird bug in variable usage around expanding opts->vreader
      array.
      
      There's a helper variable, vreaderOpt, which is first needlessly
      initialized to NULL, next, conditionally, only we have to expand
      opts->vreader, receives array expansion from g_renew(), and next,
      even if we don't actually perform expansion, the value of this
      variable is assigned to the actual array, opts->vreader, which
      was supposed to be expanded.
      
      So, since we expand the array by READER_STEP increments, only
      once in READER_STEP (=4) the code will work, in other 3/4 times
      it will fail badly.
      
      Fix this by not using this temp variable when expanding the
      array, and by dropping the useless =NULL initializer too -
      if it wasn't in place initially, compiler would have warned
      us about this problem at the beginning.
      Signed-off-by: Michael Tokarev's avatarMichael Tokarev <mjt@tls.msk.ru>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      0b25d4b5
  19. 23 May, 2014 6 commits