...
 
Commits (86)
# this udev file should be used with udev older than 188
ACTION!="add|change", GOTO="u2f_end"
# Yubico YubiKey
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", GROUP="plugdev", MODE="0660"
# Happlink (formerly Plug-Up) Security KEY
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", GROUP="plugdev", MODE="0660"
# Neowave Keydo and Keydo AES
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", GROUP="plugdev", MODE="0660"
# HyperSecu HyperFIDO
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0880", GROUP="plugdev", MODE="0660"
LABEL="u2f_end"
# Copyright (C) 2013-2015 Yubico AB
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
# this udev file should be used with udev 188 and newer
ACTION!="add|change", GOTO="u2f_end"
# Yubico YubiKey
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0200|0402|0403|0406|0407|0410", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Happlink (formerly Plug-Up) Security KEY
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Neowave Keydo and Keydo AES
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# HyperSecu HyperFIDO, KeyID U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e|2ccf", ATTRS{idProduct}=="0880", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Feitian ePass FIDO, BioPass FIDO2, KeyID U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0852|0853|0854|0856|0858|085a|085b|085d", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# JaCarta U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="24dc", ATTRS{idProduct}=="0101|0501", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# U2F Zero
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# VASCO SeccureClick
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1a44", ATTRS{idProduct}=="00bb", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Bluink Key
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2abe", ATTRS{idProduct}=="1002", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Thetis Key
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Nitrokey FIDO U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Google Titan U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="5026", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Tomu board + chopstx U2F + SoloKeys
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab|a2ca", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# SoloKeys
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5070|50b0", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Trezor
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", TAG+="uaccess", GROUP="plugdev", MODE="0660"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Neowave Keydo and Keydo AES
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", TAG+="uaccess"
# Ledger Nano S and Nano X
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001|0004", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# HyperSecu HyperFIDO
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0880", TAG+="uaccess"
# Kensington VeriMark
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="06cb", ATTRS{idProduct}=="0088", TAG+="uaccess", GROUP="plugdev", MODE="0660"
# Feitian ePass FIDO
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850", TAG+="uaccess"
# Longmai mFIDO
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="4c4d", ATTRS{idProduct}=="f703", TAG+="uaccess", GROUP="plugdev", MODE="0660"
LABEL="u2f_end"
This diff is collapsed.
This diff is collapsed.
......@@ -23,7 +23,7 @@ EXTRA_DIST = BLURB cfg.mk macosx.mk windows.mk COPYING.LGPLv2
EXTRA_DIST += doc/Mode_switch_YubiKey.adoc
EXTRA_DIST += 70-u2f.rules 70-old-u2f.rules
EXTRA_DIST += 70-u2f.rules
udevrulesdir = @udevrulesdir@
dist_udevrules_DATA = $(udevrulesfile)
......
# Makefile.in generated by automake 1.15 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -351,6 +351,9 @@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
......@@ -413,6 +416,7 @@ LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
......@@ -530,6 +534,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
......@@ -544,7 +549,7 @@ SUBDIRS = gl u2f-host src tests gtk-doc
ACLOCAL_AMFLAGS = -I m4 -I gl/m4
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
EXTRA_DIST = BLURB cfg.mk macosx.mk windows.mk COPYING.LGPLv2 \
doc/Mode_switch_YubiKey.adoc 70-u2f.rules 70-old-u2f.rules
doc/Mode_switch_YubiKey.adoc 70-u2f.rules
dist_udevrules_DATA = $(udevrulesfile)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
......@@ -806,7 +811,7 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
......@@ -831,7 +836,7 @@ dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
......@@ -849,7 +854,7 @@ dist dist-all:
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
......@@ -859,7 +864,7 @@ distcheck: dist
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
......
libu2f-host NEWS -- History of user visible changes.
* Version 1.1.10 (released 2019-05-15)
** Add new devices to udev rules.
** Fix a potentially uninitialized buffer.
* Version 1.1.9 (released 2019-03-06)
** Fix CID copying from the init response.
This broke compatibility with some devices.
* Version 1.1.8 (released 2019-03-05)
** Add udev rules.
** Drop 70-old-u2f.rules and use 70-u2f.rules for everything.
** Use a random nonce for setting up CID to prevent fingerprinting.
** Parse the response to init in a more stable way.
The old parser could leak 4 bytes of uninitialized stack back to the device.
Reported by Christian Reitter.
* Version 1.1.7 (released 2019-01-08)
** Fix for trusting length from deivce in device init.
Reported by Christian Reitter.
** Fix for buffer overflow when receiving data from device.
** Add udev rules for some new devices.
* Version 1.1.6 (released 2018-05-15)
** Change waiting logic on authenticate to allow for faster feedback.
* Version 1.1.5 (released 2018-03-07)
** Fix refcount when adding json_objects.
** Handle fido2 keepalive.
** Add udev rules for more devices.
* Version 1.1.4 (released 2017-09-01)
** Added more u2f devices to the udev rulesets.
** Increase buffer size, allowing for bigger certificates.
** Add u2f.conf.sample for FreeBSD permission handling.
* Version 1.1.3 (released 2016-10-04)
** Added more u2f devices to the udev rulesets.
** Fixup mac builds.
* Version 1.1.2 (released 2016-06-22)
** Make authenticate return U2FH_OK if touch is set to not needed.
......
......@@ -7,11 +7,13 @@ Introduction
Libu2f-host provides a C library and command-line tool that implements
the host-side of the U2F protocol. There are APIs to talk to a U2F
device and perform the U2F Register and U2F Authenticate operations.
For the server-side aspect, see our
https://developers.yubico.com/libu2f-server/[libu2f-server project].
License
-------
The library and command-ine tool is licensed under the LGPLv2+ license.
The library and command-line tool is licensed under the LGPLv2+ license.
Some other files are licensed under the GPLv3+ license. The license for
each file should be clear from the comments at the top of it. See the
files COPYING (for GPLv3) and COPYING.LGPLv2 for complete license texts.
......@@ -33,7 +35,7 @@ testing. We describe how you could use it here.
First get a _register_ challenge JSON blob somehow. You could use the
https://demo.yubico.com/u2f[Yubico U2F demo server] interactively in a browser (with the U2F
extension disabled). Alternatively,
use the WSAPI. For example:
use the WSAPI or https://github.com/Yubico/libu2f-server[our server-side library]. For example:
$ curl 'https://demo.yubico.com/wsapi/u2f/enroll?username=jas&password=foo' > foo
......@@ -165,8 +167,9 @@ binaries have been tested successfully on Mac OS X 10.7 and 10.9.
$ make -f macosx.mk VERSION=X.Y.Z
Building Windows binaries can be done using windows.mk. The resulting
binaries have been tested successfully on Windows 7 Pro 32-bit.
Windows binaries can be cross-compiled using windows.mk. For this to
work the packages wine, mingw-w64 and mingw-w64-dev are required. The
resulting binaries have been tested successfully on Windows 7 Pro 32-bit.
$ make -f windows.mk VERSION=X.Y.Z
......
This diff is collapsed.
......@@ -4,7 +4,7 @@
me=ar-lib
scriptversion=2012-03-01.08; # UTC
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
# Copyright (C) 2010-2017 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>.
#
# This program is free software; you can redistribute it and/or modify
......
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2013-05-30.07; # UTC
scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -786,6 +786,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2013-12-25.23; # UTC
scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
......@@ -324,34 +324,41 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# $RANDOM is not portable (e.g. dash); use it when possible to
# lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# As "mkdir -p" follows symlinks and we work in /tmp possibly; so
# create the $tmpdir first (and fail if unsuccessful) to make sure
# that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
......
This diff is collapsed.
......@@ -21,6 +21,9 @@
/* Define to 1 when the gnulib module strverscmp should be tested. */
#undef GNULIB_TEST_STRVERSCMP
/* Discovered a random device */
#undef HAVE_DEV_URANDOM
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
......@@ -150,8 +153,7 @@
/* Define if you have the 'wchar_t' type. */
#undef HAVE_WCHAR_T
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Name of package */
......
This diff is collapsed.
......@@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_INIT([libu2f-host], [1.1.2], [yubico-devel@googlegroups.com])
AC_INIT([libu2f-host], [1.1.10], [yubico-devel@googlegroups.com])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([build-aux])
......@@ -21,7 +21,7 @@ AC_CONFIG_AUX_DIR([build-aux])
# http://www.gnu.org/s/libtool/manual/html_node/Updating-version-info.html
AC_SUBST(LT_CURRENT, 1) # Interfaces removed: CURRENT++, AGE=0, REVISION=0
AC_SUBST(LT_AGE, 1) # Interfaces added: CURRENT++, AGE++, REVISION=0
AC_SUBST(LT_REVISION, 2) # No interfaces changed: REVISION++
AC_SUBST(LT_REVISION, 10) # No interfaces changed: REVISION++
AM_INIT_AUTOMAKE([gnits dist-xz no-dist-gzip std-options -Wall])
AM_SILENT_RULES([yes])
......@@ -98,9 +98,17 @@ AC_ARG_WITH([udevrulesdir],
[], [])
AC_SUBST([udevrulesdir], [$with_udevrulesdir])
PKG_CHECK_MODULES([UDEV], [udev >= 188],
dnl check for random device
AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
[if test -r "/dev/urandom" ; then
ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
if test "$ac_cv_have_dev_random" = yes; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Discovered a random device])
fi
PKG_CHECK_MODULES([UDEV], [udev],
udevrulesfile=70-u2f.rules,
udevrulesfile=70-old-u2f.rules,
udevrulesfile=""
)
AC_SUBST([udevrulesfile], [$udevrulesfile])
......
libu2f-host (1.1.10-1) unstable; urgency=high (security fix)
[ Nicolas Braud-Santoni ]
* New upstream version 1.1.10 (2019-05-15)
+ Remove a use of a potentially-uninitialised buffer.
+ Add support for new devices:
SoloKeys, Trezor, generic pid.codes, KeyID U2F,
Ledger Nano S and X, Kensington VeriMark, Longmai mFIDO
* libu2f-host-doc: Move HTML docs to /usr/share/doc
* debian/control: Declare compliance with policy v4.4.0.
No change required
* dh: Switch to compat level 12, specify it in debian/control directly
[ Simon Josefsson ]
* Drop myself from Uploader's.
Thanks to Simon for initially packaging it, and for their co-maintainership.
-- Nicolas Braud-Santoni <nicoo@debian.org> Sat, 13 Jul 2019 13:35:42 +0200
libu2f-host (1.1.9-1) unstable; urgency=high (security fix)
* New upstream version 1.1.9 (2019-03-06)
+ Fix CVE-2019-9578 (Closes: #923874)
libu2f-host previously leaked uninitialized stack memory to the device
+ Provide udev rules that work for systemd and SysV init (Closes: #892779)
+ Add a new product id for the JaCarta U2F devices, in udev rules
* debian/libu2f-udev.postinst: Do not display udevadm commands
Closes: #921818
* debian/copyright: Update copyright lines
-- Nicolas Braud-Santoni <nicoo@debian.org> Fri, 08 Mar 2019 11:59:52 +0100
libu2f-host (1.1.7-1) unstable; urgency=critical
* New upstream version 1.1.7 (2019-02-08)
+ Fix CVE-2018-20340 (Closes: #921725)
+ Add support for new device: tomu board with chopstx u2f
+ Drop obsolete patch
* debian/libu2f-udev.metainfo.py
+ Typecheck with mypy, fix exposed issues
+ Display line number in error messages
* debian/control: Update my uploader email address
* Add Build-Depends-Package metadata to the symbols file
* Use a script to generate an up-to-date, minimal, upstream keyring
* Comply with policy v4.3.0
- Ship upstream NEWS file
* debian/libu2f-udev.metainfo.*
+ Fix minor wart in AppStream metadata generation script
+ Relicense under LGPL-2.1+
The metadata generated by the Python script is derived from udev rules
that are themselves under LGPL-2.1+
While it's arguably a collection of facts (and non-copyrightable),
it makes things easier if we claim the same license for the generating
scripts, input data, and generated artifacts.
-- Nicolas Braud-Santoni <nicoo@debian.org> Fri, 08 Feb 2019 20:09:53 +0100
libu2f-host (1.1.6-1) unstable; urgency=medium
* New upstream version 1.1.6 (2018-05-15)
* Autogenerate AppStream metadata
* Split the documentation in a separate package
* Move the packaging repository to salsa.d.o
* Use the tracker.debian.org email address for the maintainers
* libu2f-udev: Reload and apply rules when installing the package.
Closes: #899299
* Update debian/copyright
* debian/control
+ Set Rules-Requires-Root to no
+ Declare compliance with policy v4.1.5
* debian/rules
+ Simplify
+ Add a linting rule for Debian-specific scripts
+ Make dh_missing fail the build
- Add debian/not-installed to exclude files
- Install built HTML documentation rather than the source version
-- Nicolas Braud-Santoni <nicolas@braud-santoni.eu> Tue, 24 Jul 2018 19:33:22 +0800
libu2f-host (1.1.5-1) unstable; urgency=medium
* New upstream version 1.1.5
* Fix error in changelog for v1.1.4-1
* Comply with Debian policy version 4.1.3
* debian/copyright: Use HTTPS for Format URI
* Switch to debhelper 11
* Remove obsolete debian/libu2f-common.install
-- Nicolas Braud-Santoni <nicolas@braud-santoni.eu> Sat, 17 Mar 2018 02:57:57 +0100
libu2f-host (1.1.4-1) unstable; urgency=medium
* New upstream release (2017-09-01)
* Support for more devices in the udev rules.
* Support larger certificates.
* debian/control
* Build-Depends on udev on linux-any. (Closes: #846358)
* Convert to Multi-Arch
* Packaging cleanups
* Switch to debhelper 10, making dh-autoreconf unnecessary
* Replace `Priority: extra` with `optional`
* Update copyright on the Debian packaging
* Split udev rules to libu2f-udev. (Closes: #846359, #824532)
* Patch away the dependency on gtkdoc-mktmpl. (Closes: #876579)
-- Nicolas Braud-Santoni <nicolas@braud-santoni.eu> Mon, 30 Oct 2017 08:56:18 +0100
libu2f-host (1.1.3-1) unstable; urgency=medium
* New upstream version 1.1.3.
* Bump Standards-Version.
-- Simon Josefsson <simon@josefsson.org> Fri, 18 Aug 2017 20:09:57 +0200
libu2f-host (1.1.2-2) unstable; urgency=medium
* debian/control: Move the packaging repo to Alioth
......
Source: libu2f-host
Maintainer: Debian Authentication Maintainers <pkg-auth-maintainers@lists.alioth.debian.org>
Uploaders: Simon Josefsson <simon@josefsson.org>,
Klas Lindfors <klas@yubico.com>,
Dain Nilsson <dain@yubico.com>,
Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Maintainer: Debian Authentication Maintainers <team+auth@tracker.debian.org>
Uploaders:
Klas Lindfors <klas@yubico.com>,
Dain Nilsson <dain@yubico.com>,
Nicolas Braud-Santoni <nicoo@debian.org>
Section: utils
Priority: extra
Build-Depends: debhelper (>= 9),
pkg-config,
libglib2.0-dev,
libhidapi-dev,
libjson-c-dev,
gengetopt,
help2man,
dh-autoreconf,
gtk-doc-tools,
dblatex
Standards-Version: 3.9.8
Priority: optional
Build-Depends: dblatex,
debhelper-compat (= 12),
gengetopt,
gtk-doc-tools,
help2man,
libglib2.0-dev,
libhidapi-dev,
libjson-c-dev,
pkg-config,
python3,
udev [linux-any]
Standards-Version: 4.4.0
Rules-Requires-Root: no
Homepage: https://developers.yubico.com/libu2f-host/
Vcs-Browser: https://anonscm.debian.org/git/pkg-auth/libu2f-host.git/
Vcs-Git: https://anonscm.debian.org/git/pkg-auth/libu2f-host.git
Vcs-Browser: https://salsa.debian.org/auth-team/libu2f-host
Vcs-Git: https://salsa.debian.org/auth-team/libu2f-host.git
Package: libu2f-udev
Architecture: all
Multi-Arch: foreign
Section: libs
Depends: ${misc:Depends}, udev
Description: Universal 2nd Factor (U2F) common files
Libu2f is a package for doing Universal 2nd Factor (U2F) host communication
and has functionality for the Registration and Authentication operations.
.
This package provides the udev rules file required to support U2F devices.
Package: libu2f-host0
Architecture: any
Multi-Arch: same
Section: libs
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libu2f-udev
Description: Universal 2nd Factor (U2F) host communication C Library
Libu2f is a package for doing Universal 2nd Factor (U2F) host communication
and has functionality for the Registration and Authentication operations.
......@@ -37,13 +52,28 @@ Description: Universal 2nd Factor (U2F) host communication C Library
Package: libu2f-host-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, libu2f-host0 (= ${binary:Version})
Depends: ${misc:Depends}, libu2f-host0 (= ${binary:Version})
Suggests: libu2f-host-doc
Description: Development files for the U2F host C library libu2f-host
Libu2f is a package for doing Universal 2nd Factor (U2F) host communication
and has functionality for the Registration and Authentication operations.
The package contains a C library, a command line tool, and documentation.
.
This package contains development files for the libu2f-host0 library.
This package contains development files for the libu2f-host library.
Package: libu2f-host-doc
Architecture: all
Multi-Arch: foreign
Section: doc
Depends: ${misc:Depends}, libu2f-host-dev
Breaks: libu2f-host-dev (<< 1.1.6-1)
Replaces: libu2f-host-dev (<< 1.1.6-1)
Description: Documentation for the U2F host C library libu2f-host
Libu2f is a package for doing Universal 2nd Factor (U2F) host communication
and has functionality for the Registration and Authentication operations.
The package contains a C library, a command line tool, and documentation.
.
This package contains the documentation for the libu2f-host library.
Package: u2f-host
Architecture: any
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libu2f-host
Source: https://developers.yubico.com/libu2f-host/
Files: *
Copyright: Copyright (c) 2013-2015 Yubico AB
Copyright: Copyright (c) 2013-2019 Yubico AB
License: LGPL-2.1+
Files: configure.ac GNUmakefile maint.mk build-aux/* tests/*
Copyright: Copyright (c) 2013-2019 Yubico AB
License: GPL-3+
Files: debian/*
Copyright: Copyright (c) 2013-2015 Yubico AB
Copyright (c) 2016 Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
Copyright (c) 2016-2019 Nicolas Braud-Santoni <nicoo@debian.org>
License: GPL-3+
Files: u2f-host/*
Copyright: Copyright (c) 2013-2015 Yubico AB
License: LGPL-2+
Files: gl/*
Copyright: Copyright (C) 1995-2015 Free Software Foundation, Inc.
License: LGPL-2+
Files: debian/libu2f-udev.metainfo.*
Copyright: Copyright (c) 2018-2019 Nicolas Braud-Santoni <nicoo@debian.org>
License: LGPL-2.1+
Comment:
Those files generate AppStream metadata, based (in part) on the udev
rules shipped by the package, which are themselves under LGPL-2.1+.
License: GPL-3+
This program is free software; you can redistribute it and/or modify
......@@ -38,10 +40,10 @@ License: GPL-3+
On Debian systems, the full text of the GPL v3 can be found in
/usr/share/common-licenses/GPL-3
License: LGPL-2+
License: LGPL-2.1+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 2 of the License, or
the Free Software Foundation, either version 2.1 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
......@@ -52,5 +54,5 @@ License: LGPL-2+
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
The complete text of the GNU Lesser General Public License
can be found in /usr/share/common-licenses/LGPL-2 file.
The complete text of the GNU Lesser General Public License v2.1
can be found in /usr/share/common-licenses/LGPL-2.1 file.
/usr/share/gtk-doc/html/u2f-host
......@@ -2,4 +2,3 @@ usr/lib/*/libu2f-host.so
usr/lib/*/libu2f-host.a
usr/lib/*/pkgconfig
usr/include/u2f-host
gtk-doc/html/* /usr/share/gtk-doc/html/u2f-host
......@@ -8,5 +8,5 @@ Format: PDF
Files: /usr/share/doc/libu2f-host-dev/u2f-host.pdf
Format: HTML
Index: /usr/share/gtk-doc/html/u2f-host/index.html
Files: /usr/share/gtk-doc/html/u2f-host/*.html
Index: /usr/share/doc/libu2f-host-dev/html/index.html
Files: /usr/share/doc/libu2f-host-dev/html/*
usr/share/gtk-doc/html/u2f-host/*.css usr/share/doc/libu2f-host-dev/html
usr/share/gtk-doc/html/u2f-host/*.html usr/share/doc/libu2f-host-dev/html
usr/share/gtk-doc/html/u2f-host/*.png usr/share/doc/libu2f-host-dev/html
usr/share/gtk-doc/html/u2f-host/u2f-host.devhelp2
usr/lib/*/libu2f-host.so.*
lib/udev/rules.d
libu2f-host.so.0 libu2f-host0 #MINVER#
* Build-Depends-Package: libu2f-host-dev
U2F_HOST_0.0@U2F_HOST_0.0 0.0
U2F_HOST_1.1@U2F_HOST_1.1 1.1.0
u2fh_authenticate2@U2F_HOST_1.1 1.1.0
......
lib/udev/rules.d
libu2f-udev.metainfo.xml usr/share/metainfo
#!/usr/bin/env python3
import itertools
import re
import sys
import xml.etree.ElementTree
from typing import Iterable, List, NamedTuple
class Device(NamedTuple):
"""Represent a device"""
vendor: str
product: str
def modalias(self) -> str:
"""Format the device info for use in AppStream."""
return f"usb:v{self.vendor.upper()}p{self.product.upper()}d*"
class Rule(NamedTuple):
"""Represent a udev rule."""
vendors: List[str]
products: List[str]
def devices(self) -> Iterable[Device]:
return map(lambda x: Device(*x),
itertools.product(self.vendors, self.products))
def parse_rule(f) -> Iterable[Rule]:
"""Parse a udev rule file."""
syntax = re.compile(r'KERNEL=="hidraw\*", SUBSYSTEM=="hidraw", '
r'ATTRS\{idVendor\}=="(?P<vendors>[^"]*)", '
r'ATTRS\{idProduct\}=="(?P<products>[^"]*)"')
for line_no, line in enumerate(f.readlines(), start=1):
line = line.strip()
# Skip irrelevant lines
if not line or line.startswith(("#", "LABEL=", "ACTION!=")):
continue
parse = syntax.match(line)
if parse is None:
raise ValueError(f"Invalid syntax on line {line_no}: '{line}'")
yield Rule(parse.group('vendors').split('|'),
parse.group('products').split('|'))
if __name__ == '__main__':
with open('debian/libu2f-udev.metainfo.xml', 'rb') as metainfo:
data = xml.etree.ElementTree.parse(metainfo)
provides = data.getroot().find('provides')
assert provides is not None
with open('70-u2f.rules') as rules_file:
for rule in parse_rule(rules_file):
for device in rule.devices():
modalias = xml.etree.ElementTree.Element('modalias')
modalias.text = device.modalias()
provides.append(modalias)
data.write(sys.stdout.buffer)
<?xml version="1.0" encoding="UTF-8"?>
<component>
<id>libu2f-udev</id>
<metadata_license>LGPL-2.1+</metadata_license>
<name>libu2f-udev</name>
<summary>Provide user access to U2F devices</summary>
<description>
<p>
Libu2f is a package for doing Universal 2nd Factor (U2F) host
communication and has functionality for the Registration and
Authentication operations.
</p>
<p>
This package provides the udev rules file required to support U2F devices.
</p>
</description>
<provides>
<!-- Autogenerate during build -->
</provides>
</component>
#!/bin/bash
# This maintainer script does not set -e on purpose:
# the package should not be put in a configuration-failed state
# should the udev rules fail to be reloaded, for any reason.
set -u -o pipefail
# Reload rules
udevadm control --reload
# Deal with already-plugged-in device
while IFS='' read -r line || [[ -n "$line" ]]; do
# Skip comment
if [[ "$line" == \#* ]] || [[ -z "$line" ]] ||
[[ "$line" == ACTION* ]] || [[ "$line" == LABEL* ]]; then
continue
fi
IFS=', ' read -r kernel subsystem idVendor idProduct _ <<< "$line"
if [[ "$kernel" != 'KERNEL=="hidraw*"' ]] ||
[[ "$subsystem" != 'SUBSYSTEM=="hidraw"' ]]; then
echo "Skipping unexpected rule: '$line'" >&2
continue
fi
udevadm trigger -s hidraw -a "$idVendor" -a "$idProduct" -v
done < /lib/udev/rules.d/70-u2f.rules
# Exit on errors for debhelper actions
set -e
#DEBHELPER#
usr/lib/*/libu2f-host.la
......@@ -3,7 +3,13 @@
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --parallel --with autoreconf
dh $@
lint_scripts:
shellcheck debian/*.postinst
flake8 debian/*.py
mypy debian/*.py
override_dh_auto_configure:
dh_auto_configure -- \
......@@ -13,8 +19,16 @@ override_dh_auto_configure:
--enable-gtk-doc-pdf \
--enable-gtk-doc-html
override_dh_auto_clean:
test -f Makefile && dh_auto_clean || true
override_dh_auto_build:
dh_auto_build
# Build the AppStream metadata from the udev rule file
debian/libu2f-udev.metainfo.py > libu2f-udev.metainfo.xml
override_dh_installchangelogs:
dh_installchangelogs NEWS
override_dh_compress:
dh_compress -Xu2f-host.pdf
override_dh_missing:
dh_missing --fail-missing
This diff is collapsed.
This diff is collapsed.
#!/usr/bin/env bash
set -euo pipefail
KEYS=(
0A3B0262BCA1705307D5FF06BCA00FD4B2168C0A # Klas Lindfors <klas@yubico.com>
20EE325B86A81BCBD3E56798F04367096FBA95E8 # Dain Nilsson <dain@yubico.com>
B70D62AA6A31AD6B9E4F9F4BDC8888925D25CA7A # Alessio Di Mauro <alessio@yubico.com>
FF8AF719AE5828181B894D831CE39268A0973948 # Tommaso De Orchi <tom@yubico.com>
B6042E2BD1FDBC2BCA8588B2FF8D3B45B7B875A9 # Jean Paul Galea <jeanpaul@yubico.com>
8D0B4EBA9345254BCEC0E843514F078FF4AB24C3 # Dag Heyman <dag@yubico.com>
57A9DEED4C6D962A923BB691816F3ED99921835E # Emil Lundberg <emil@yubico.com>
268583B64786F50F807456DA8CED3A80D41C0DCB # Trevor Bentley <trevor@yubico.com>
EE90AE0D19774C8386628FAAB428949EF7914718 # Pedro Martelletto <pedro@yubico.com>
)
if [ $# -gt 0 ]; then
exec gpg "$@" "${KEYS[@]}"
else
exec gpg --export --export-options export-minimal -a --yes \
-o "$(dirname "$0")/signing-key.asc" "${KEYS[@]}"
fi
......@@ -18,7 +18,7 @@ The '\x06' corresponds to mode 6 and the following modes are known:
Add 80 to set MODE_FLAG_EJECT, for example: 81 is mode 1 (CCID-only)
with MODE_FLAG_EJECT. To select another mode, replace \x06 with what
you wish. For example, if you want to put the YuiKey into pure OTP-mode
you wish. For example, if you want to put the YubiKey into pure OTP-mode
use the following:
echo -e '\x01\x00\x00\x00' | u2f-host -d -a sendrecv -c c0
......
# Makefile.in generated by automake 1.15 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -338,6 +338,9 @@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
......@@ -400,6 +403,7 @@ LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
......@@ -517,6 +521,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
......
This diff is collapsed.
This diff is collapsed.
gtk-doc/html/home.png

169 Bytes | W: | H:

gtk-doc/html/home.png

169 Bytes | W: | H:

gtk-doc/html/home.png
gtk-doc/html/home.png
gtk-doc/html/home.png
gtk-doc/html/home.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -3,10 +3,10 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Yubico Universal 2nd Factor C Library: Yubico Universal 2nd Factor C Library</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Yubico Universal 2nd Factor C Library">
<link rel="next" href="intro.html" title="Yubico Universal 2nd Factor C Library">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
......@@ -38,6 +38,6 @@
</dl></div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>
\ No newline at end of file
<ONLINE href="https://github.com/Yubico/libu2f-host">
<ANCHOR id="u2f-host-u2f-host" href="u2f-host/u2f-host-u2f-host.html">
<ANCHOR id="u2f-host-u2f-host.functions" href="u2f-host/u2f-host-u2f-host.html#u2f-host-u2f-host.functions">
<ANCHOR id="u2f-host-u2f-host.description" href="u2f-host/u2f-host-u2f-host.html#u2f-host-u2f-host.description">
<ANCHOR id="u2f-host-u2f-host.functions_details" href="u2f-host/u2f-host-u2f-host.html#u2f-host-u2f-host.functions_details">
<ANCHOR id="u2fh-global-init" href="u2f-host/u2f-host-u2f-host.html#u2fh-global-init">
<ANCHOR id="u2fh-global-done" href="u2f-host/u2f-host-u2f-host.html#u2fh-global-done">
<ANCHOR id="u2fh-strerror" href="u2f-host/u2f-host-u2f-host.html#u2fh-strerror">
<ANCHOR id="u2fh-strerror-name" href="u2f-host/u2f-host-u2f-host.html#u2fh-strerror-name">
<ANCHOR id="u2fh-devs-init" href="u2f-host/u2f-host-u2f-host.html#u2fh-devs-init">
<ANCHOR id="u2fh-devs-discover" href="u2f-host/u2f-host-u2f-host.html#u2fh-devs-discover">
<ANCHOR id="u2fh-devs-done" href="u2f-host/u2f-host-u2f-host.html#u2fh-devs-done">
<ANCHOR id="u2fh-register" href="u2f-host/u2f-host-u2f-host.html#u2fh-register">
<ANCHOR id="u2fh-authenticate" href="u2f-host/u2f-host-u2f-host.html#u2fh-authenticate">
<ANCHOR id="u2fh-sendrecv" href="u2f-host/u2f-host-u2f-host.html#u2fh-sendrecv">
<ANCHOR id="u2fh-get-device-description" href="u2f-host/u2f-host-u2f-host.html#u2fh-get-device-description">
<ANCHOR id="u2fh-is-alive" href="u2f-host/u2f-host-u2f-host.html#u2fh-is-alive">
<ANCHOR id="u2f-host-u2f-host.other_details" href="u2f-host/u2f-host-u2f-host.html#u2f-host-u2f-host.other_details">
<ANCHOR id="u2f-host-u2f-host-types" href="u2f-host/u2f-host-u2f-host-types.html">
<ANCHOR id="u2f-host-u2f-host-types.other" href="u2f-host/u2f-host-u2f-host-types.html#u2f-host-u2f-host-types.other">
<ANCHOR id="u2f-host-u2f-host-types.description" href="u2f-host/u2f-host-u2f-host-types.html#u2f-host-u2f-host-types.description">
<ANCHOR id="u2f-host-u2f-host-types.functions_details" href="u2f-host/u2f-host-u2f-host-types.html#u2f-host-u2f-host-types.functions_details">
<ANCHOR id="u2f-host-u2f-host-types.other_details" href="u2f-host/u2f-host-u2f-host-types.html#u2f-host-u2f-host-types.other_details">
<ANCHOR id="u2fh-rc" href="u2f-host/u2f-host-u2f-host-types.html#u2fh-rc">
<ANCHOR id="U2FH-OK:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-OK:CAPS">
<ANCHOR id="U2FH-MEMORY-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-MEMORY-ERROR:CAPS">
<ANCHOR id="U2FH-TRANSPORT-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-TRANSPORT-ERROR:CAPS">
<ANCHOR id="U2FH-JSON-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-JSON-ERROR:CAPS">
<ANCHOR id="U2FH-BASE64-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-BASE64-ERROR:CAPS">
<ANCHOR id="U2FH-NO-U2F-DEVICE:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-NO-U2F-DEVICE:CAPS">
<ANCHOR id="U2FH-AUTHENTICATOR-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-AUTHENTICATOR-ERROR:CAPS">
<ANCHOR id="U2FH-TIMEOUT-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-TIMEOUT-ERROR:CAPS">
<ANCHOR id="U2FH-SIZE-ERROR:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-SIZE-ERROR:CAPS">
<ANCHOR id="u2fh-initflags" href="u2f-host/u2f-host-u2f-host-types.html#u2fh-initflags">
<ANCHOR id="U2FH-DEBUG:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-DEBUG:CAPS">
<ANCHOR id="u2fh-cmdflags" href="u2f-host/u2f-host-u2f-host-types.html#u2fh-cmdflags">
<ANCHOR id="U2FH-REQUEST-USER-PRESENCE:CAPS" href="u2f-host/u2f-host-u2f-host-types.html#U2FH-REQUEST-USER-PRESENCE:CAPS">
<ANCHOR id="u2fh-devs" href="u2f-host/u2f-host-u2f-host-types.html#u2fh-devs">
<ANCHOR id="u2f-host-u2f-host-version" href="u2f-host/u2f-host-u2f-host-version.html">
<ANCHOR id="u2f-host-u2f-host-version.functions" href="u2f-host/u2f-host-u2f-host-version.html#u2f-host-u2f-host-version.functions">
<ANCHOR id="u2f-host-u2f-host-version.other" href="u2f-host/u2f-host-u2f-host-version.html#u2f-host-u2f-host-version.other">
<ANCHOR id="u2f-host-u2f-host-version.description" href="u2f-host/u2f-host-u2f-host-version.html#u2f-host-u2f-host-version.description">
<ANCHOR id="u2f-host-u2f-host-version.functions_details" href="u2f-host/u2f-host-u2f-host-version.html#u2f-host-u2f-host-version.functions_details">
<ANCHOR id="u2fh-check-version" href="u2f-host/u2f-host-u2f-host-version.html#u2fh-check-version">
<ANCHOR id="u2f-host-u2f-host-version.other_details" href="u2f-host/u2f-host-u2f-host-version.html#u2f-host-u2f-host-version.other_details">
<ANCHOR id="U2FH-VERSION-STRING:CAPS" href="u2f-host/u2f-host-u2f-host-version.html#U2FH-VERSION-STRING:CAPS">
<ANCHOR id="U2FH-VERSION-NUMBER:CAPS" href="u2f-host/u2f-host-u2f-host-version.html#U2FH-VERSION-NUMBER:CAPS">
<ANCHOR id="U2FH-VERSION-MAJOR:CAPS" href="u2f-host/u2f-host-u2f-host-version.html#U2FH-VERSION-MAJOR:CAPS">
<ANCHOR id="U2FH-VERSION-MINOR:CAPS" href="u2f-host/u2f-host-u2f-host-version.html#U2FH-VERSION-MINOR:CAPS">
<ANCHOR id="U2FH-VERSION-PATCH:CAPS" href="u2f-host/u2f-host-u2f-host-version.html#U2FH-VERSION-PATCH:CAPS">
......@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Yubico Universal 2nd Factor C Library: Yubico Universal 2nd Factor C Library</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Yubico Universal 2nd Factor C Library">
<link rel="up" href="index.html" title="Yubico Universal 2nd Factor C Library">
<link rel="prev" href="index.html" title="Yubico Universal 2nd Factor C Library">
<link rel="next" href="u2f-host-u2f-host.html" title="u2f-host">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
......@@ -41,6 +41,6 @@
</p>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>
\ No newline at end of file
gtk-doc/html/left-insensitive.png

329 Bytes | W: | H:

gtk-doc/html/left-insensitive.png

334 Bytes | W: | H:

gtk-doc/html/left-insensitive.png
gtk-doc/html/left-insensitive.png
gtk-doc/html/left-insensitive.png
gtk-doc/html/left-insensitive.png
  • 2-up
  • Swipe
  • Onion skin
gtk-doc/html/left.png

187 Bytes | W: | H:

gtk-doc/html/left.png

185 Bytes | W: | H:

gtk-doc/html/left.png
gtk-doc/html/left.png
gtk-doc/html/left.png
gtk-doc/html/left.png
  • 2-up
  • Swipe
  • Onion skin
gtk-doc/html/right-insensitive.png

233 Bytes | W: | H:

gtk-doc/html/right-insensitive.png

233 Bytes | W: | H:

gtk-doc/html/right-insensitive.png
gtk-doc/html/right-insensitive.png
gtk-doc/html/right-insensitive.png
gtk-doc/html/right-insensitive.png
  • 2-up
  • Swipe
  • Onion skin
gtk-doc/html/right.png

186 Bytes | W: | H:

gtk-doc/html/right.png

184 Bytes | W: | H:

gtk-doc/html/right.png
gtk-doc/html/right.png
gtk-doc/html/right.png
gtk-doc/html/right.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
gtk-doc/html/up-insensitive.png

293 Bytes | W: | H:

gtk-doc/html/up-insensitive.png

288 Bytes | W: | H:

gtk-doc/html/up-insensitive.png
gtk-doc/html/up-insensitive.png
gtk-doc/html/up-insensitive.png
gtk-doc/html/up-insensitive.png
  • 2-up
  • Swipe
  • Onion skin
gtk-doc/html/up.png

187 Bytes | W: | H:

gtk-doc/html/up.png

186 Bytes | W: | H:

gtk-doc/html/up.png
gtk-doc/html/up.png
gtk-doc/html/up.png
gtk-doc/html/up.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -35,7 +35,7 @@ MAINTAINERCLEANFILES = $(BUILT_SOURCES)
dist_man_MANS = u2f-host.1
DISTCLEANFILES = $(dist_man_MANS)
u2f-host.1: $(srcdir)/u2f-host.c $(srcdir)/cmdline.ggo $(top_srcdir)/configure.ac
u2f-host.1: $(srcdir)/u2f-host.c $(srcdir)/cmdline.ggo $(top_srcdir)/configure.ac | $(builddir)/u2f-host$(EXEEXT)
$(AM_V_GEN)$(HELP2MAN) \
--output=$@ $(builddir)/u2f-host$(EXEEXT) \
--name="Yubico Universal 2nd Factor (U2F) Host Tool" \
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -33,7 +33,7 @@ main (int argc, char *argv[])
struct gengetopt_args_info args_info;
char challenge[BUFSIZ];
size_t chal_len;
char response[2048];
char response[2048] = {0};
size_t response_len = sizeof (response);
u2fh_devs *devs = NULL;
u2fh_cmdflags flags = 0;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.