# (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.14.3],
+AC_INIT([yubikey-personalization], [1.15.0],
[yubico-devel@googlegroups.com], [ykpers],
[http://opensource.yubico.com/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, 15)
-AC_SUBST(LT_REVISION, 1)
-AC_SUBST(LT_AGE, 14)
+AC_SUBST(LT_CURRENT, 16)
+AC_SUBST(LT_REVISION, 0)
+AC_SUBST(LT_AGE, 15)
AM_INIT_AUTOMAKE([1.11.3 -Wall -Werror])
AM_SILENT_RULES([yes])
ykp_get_acccode_type;
# Variables:
} LIBYKPERS_1.13;
+
+LIBYKPERS_1.15 {
+ global:
+# Functions:
+ ykp_get_supported_key_length;
+# Variables:
+} LIBYKPERS_1.14;
/* Return number of bytes of key data for this configuration.
* 20 bytes is 160 bits, 16 bytes is 128.
*/
-static int _get_supported_key_length(const YKP_CONFIG *cfg)
+int ykp_get_supported_key_length(const YKP_CONFIG *cfg)
{
/* OATH-HOTP and HMAC-SHA1 challenge response support 20 byte (160 bits)
* keys, holding the last four bytes in the uid field.
size_t _salt_len = 0;
unsigned char buf[sizeof(cfg->ykcore_config.key) + 4];
int rc;
- int key_bytes = _get_supported_key_length(cfg);
+ int key_bytes = ykp_get_supported_key_length(cfg);
YK_PRF_METHOD prf_method = {20, yk_hmac_sha1};
assert (key_bytes <= sizeof(buf));
/* for OATH-HOTP and HMAC-SHA1 challenge response, there is four bytes
* additional key data in the uid field
*/
- key_bits_in_uid = (_get_supported_key_length(cfg) == 20);
+ key_bits_in_uid = (ykp_get_supported_key_length(cfg) == 20);
/* fixed: or OATH id: */
if ((ycfg.tktFlags & TKTFLAG_OATH_HOTP) == TKTFLAG_OATH_HOTP &&
#define YKP_ACCCODE_RANDOM 0x02
#define YKP_ACCCODE_SERIAL 0x03
+int ykp_get_supported_key_length(const YKP_CONFIG *cfg);
+
extern int * _ykp_errno_location(void);
#define ykp_errno (*_ykp_errno_location())
const char *ykp_strerror(int errnum);