Yubikey-personalize NEWS -- History of user-visible changes. -*- outline -*-
-* Version 1.5.3 (unreleased)
+* Version 1.6.0 (unreleased)
** Accept firmware version 2.3.x too.
+** ykpersonalize: New parameter -oath-imf for OATH Initial Moving Factor.
+Contributed by Frank Cusack <frank@google.com>.
+
+** libykpers: New apis for setting/getting OATH Initial Moving Factor.
+The APIs are ykp_set_oath_imf and ykp_get_oath_imf.
+
* Version 1.5.2 (released 2011-05-10)
** Added an udev file.
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-AC_INIT([yubikey-personalization], [1.5.3],
+AC_INIT([yubikey-personalization], [1.6.0],
[yubico-devel@googlegroups.com], [ykpers],
[http://code.google.com/p/yubikey-personalization/])
AC_CONFIG_AUX_DIR([build-aux])
# Interfaces changed/added/removed: CURRENT++ REVISION=0
# Interfaces added: AGE++
# Interfaces removed: AGE=0
-AC_SUBST(LT_CURRENT, 6)
-AC_SUBST(LT_REVISION, 2)
-AC_SUBST(LT_AGE, 5)
+AC_SUBST(LT_CURRENT, 7)
+AC_SUBST(LT_REVISION, 0)
+AC_SUBST(LT_AGE, 6)
AM_INIT_AUTOMAKE([-Wall -Werror])
AC_PROG_CC
# Written by Simon Josefsson <simon@yubico.com>.
-# Copyright (c) 2008, 2009 Yubico AB
+# Copyright (c) 2008, 2009, 2011 Yubico AB
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
yk_wait_for_key_status;
yk_read_response_from_key;
yk_get_serial;
+# Variables:
+} LIBYKPERS_1.4;
+
+LIBYKPERS_1.6 {
+ global:
+# Functions:
ykp_set_oath_imf;
ykp_get_oath_imf;
# Variables:
-} LIBYKPERS_1.4;
+} LIBYKPERS_1.5;
{
if (!vcheck_v22_or_greater(cfg)) {
ykp_errno = YKP_EYUBIKEYVER;
- return 0;
+ return 0;
}
if (imf > 65535*16) {
ykp_errno = YKP_EINVAL;
- return 0;
+ return 0;
}
if (imf % 16 != 0) {
ykp_errno = YKP_EINVAL;
- return 0;
+ return 0;
}
/* IMF/16 is 16 bits stored big-endian in uid[4] */
imf /= 16;
unsigned long ykp_get_oath_imf(YKP_CONFIG *cfg)
{
- if (!vcheck_v22_or_greater(cfg))
- return 0;
+ if (!vcheck_v22_or_greater(cfg)) {
+ return 0;
+ }
/* we can't do a simple cast due to alignment issues */
- return ((cfg->ykcore_config.uid[4] << 8) | cfg->ykcore_config.uid[5]) << 4;
+ return ((cfg->ykcore_config.uid[4] << 8)
+ | cfg->ykcore_config.uid[5]) << 4;
}
#define def_set_charfield(fnname,fieldname,size,extra,vcheck) \