Git Product home page Git Product logo

yubikey-personalization-gui's Introduction

Qt based Cross-Platform YubiKey Personalization Tool

Note
This project is no longer under active development. Use YubiKey Manager CLI or Yubico Authenticator to configure a YubiKey device.

Introduction

The YubiKey Personalization Tool is a Qt based Cross-Platform utility designed to facilitate re-configuration of YubiKeys on Windows, Linux and Mac platforms. The tool provides a same simple step-by-step approach to make configuration of YubiKeys easy to follow and understand, while still being powerful enough to exploit all functionality both of the YubiKey 1 and YubiKey 2 generation of keys. The tool provides the same functionality and user interface on Windows, Linux and Mac platforms.

The Cross-Platform YubiKey Personalization Tool provides the following main functions:

  • Programming the YubiKey in "Yubico OTP" mode

  • Programming the YubiKey in "OATH-HOTP" mode

  • Programming the YubiKey in "Static Password" mode

  • Programming the YubiKey in "Challenge-Response" mode

  • Programming the NDEF feature of the YubiKey NEO

  • Testing the challenge-response functionality of a YubiKey

  • Deleting the configuration of a YubiKey

  • Checking type and firmware version of the YubiKey

Building from Git

You may check out the sources using Git with the following command:

  $ git clone https://github.com/Yubico/yubikey-personalization-gui.git

This will create a directory yubikey-personalization-gui. Enter the directory:

  $ cd yubikey-personalization-gui

Dependencies

yubikey-personalization-gui depends on version 1.14.0 or higher of libykpers.

When building on Windows and mac you will need a binary build of yubikey-personalization, the contents should then be places in libs/win32, libs/win64 and libs/macx respectively.

For building on linux pkg-config is used to find these dependencies.

On Debian-based systems (Ubuntu, Linux Mint, etc.):

  $ sudo apt install libusb-1.0-0-dev qt4-qmake libykpers-1-dev \
      libyubikey-dev libqt4-dev

On Fedora-based systems (RHEL, CentOS, Scientific Linux, etc.):

  $ sudo dnf install libusb-devel qt-devel ykpers-devel libyubikey-devel

Command-line build

Run these commands:

On Debian-based systems:

  $ qmake && make

On Fedora-based systems:

  $ qmake-qt4 && make

Cross Compiling from Linux

The project can be cross compiled from linux for OS X and Windows. As a first step you need a cross-compiler chain for that OS, for windows you want mingw-w64.

Then you need unpacked Qt binaries for that platform.

You can then do (for Windows): TARGET_ARCH=i686-w64-mingw32 QTDIR=<qt location> qmake \ -spec win32-g+-4.6 "CONFIG=cross"

To build installers you can add build_installer to the CONFIG variable for qmake. This requires makensis to be in path for windows and genisoimage and dmg (from libhfs-dmg) for Mac.

Opening the project in Qt designer

Locate the qtcreator executable file and click on it to open the Qt Designer.

To open the project in Qt Designer, select File > Open File or Project from the tool bar, navigate to the project folder, select YKPersonalisation.pro file and click on the Open button.

To set the path of the Build diractory select Projects > Build Settings Browse project folder path.

Building

To generate the build system, select Build > "Clean Project YKPersonalization" option from the tool bar. Then select Build > Run qmake option from the tool bar.

To build the project, select Build > Build Project YKPersonalization option from the tool bar.

Based on your platform, the successful build will create a YubiKey Personalization Tool executable file into the respective build folder. The build creates a YKPersonalization.exe file on Windows, YubiKey Personalization Tool.sh file on Linux and YubiKey Personalization Tool.app file on Mac.

Example on Linux: To run the YubiKey Personalization Tool, open the command shell and execute the following command:

  $ build/release/yubikey-personalization-gui

yubikey-personalization-gui's People

Contributors

a-dma avatar axelsimon avatar dagheyman avatar dainnilsson avatar davidwittman avatar dudebout avatar eworm-de avatar fdennis avatar guilloome avatar jas4711 avatar klali avatar kongeo avatar mickael9 avatar minisu avatar mistertoh avatar stefansundin avatar stevekuznetsov avatar strugee avatar wzzrd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yubikey-personalization-gui's Issues

yubikeylogger.cpp:237: possible bad if test ?

[src/yubikeylogger.cpp:237]: (style) Expression is always false because 'else if' condition matches previous condition at line 235.

Source code is

} else if(mode == YubiKeyConfig::Mode_ChalRespHmac) {
    return(tr("Challenge-Response: Yubico OTP"));
} else if(mode == YubiKeyConfig::Mode_ChalRespHmac) {
    return(tr("Challenge-Response: HMAC-SHA1"));

Suggest code rework.

Improve visibility of page state

Background
Several of the "tabs" in the tool have sub-pages. For example, the "Static Password" tab has "Scan Code" and "Advanced" buttons, which open up new pages. The issue here is that once you've clicked on "Scan Code" it's not very easy to tell that you've entered a sub-page. Switching to another tab and then back puts you right back into the "Scan Code" page, making it very easy to forget that there was an "Advanced" page as well.

The only way to see that there is indeed a level above "Scan Code" is the "Back" button located in the lower right part of the page (not always the same position, this depends on which page you're viewing).

Suggestion
Move the "Back" button to a more visible place and indicate clearly that there is a level above the current one. This can be done by sticking it near the top pf the page, in a bar of its own, for example (excuse the ASCII art):

... OATH-HOTP   Static Password   Challenge-Response ...
--------------------------------------------------------
| Static Password > Scan Code                   [Back] |
--------------------------------------------------------
| Configuration Slot ...                               |

No signatures/hashes listed on https://www.yubico.com/support/downloads/

I needed to download the personalisation tool, so ended up on https://www.yubico.com/products/services-software/personalization-tools/use/ which links to https://www.yubico.com/support/downloads/

The download page links to the win32 binaries, but doesn't display (or link to) signatures and/or SHA1/SHA256 hashes of any of the binaries on that page, which I found pretty surprising.

Please can you add such links? (Ideally not just for the personalisation tool, but many of the downloads on that page)

Thanks :-)

Remove the Exit button

The top bar functions as tabs, each element can be selected to show its page. The only exception is Exit, which is the only entry to perform an action (the application exists). This breaks the tab metaphor and should either be removed completely, or separated from the rest of the elements visually (by making it a button, or adding a separator, etc).

Since most window decorators feature a quite prominent exit button (an X in the corner of the window), I feel that our Exit button can safely be removed without hindering our users from closing the app. Less is more.

Support for 64 character OTP secrets (For use with TOTP)

I've noticed that the personalization tool doesn't allow you to enter 64 character (not hex) secrets for generating the 6 digit TOPT (using the little desktop applet that provides the time), only 32 character ones are supported.

For example, the AWS TOPT 2FA support provides 64 character tokens. The Yubico support team said this is supported using the YubiOATH CCID applet but i'm unable to configure that using this UI.

An example secret provided by the setup-up process would be TUTLUXXXOXXXXXFNIZN3ALOVDAXXXXXDZBC5PHTSBTXXXXXAJL7VXXXMPXXXOENJ though the supported ones are only 16 or 32 character (e.g google 2FA uses 16 characters).

Feature Request: Secure method of upgarding the firmware

There should be a tool for upgrading the firmware.

  1. User plugs in YubiKey
  2. User launches tool to update
  3. User holds down YubiKey button for 60 seconds
  4. Firmware is updated.

A warning that key/auth data may be lost and require a reprogram should also appear.

Cannot disable configuration protection

Steps to reproduce: Configure a YubiKey NEO to set a static password (or challenge-response) and disable protection.

Expected result: The static password would be set and the YubiKey would become unprotected.

Actual result: The static password is set but the device remains protected.

Access code: 00 00 00 00 00 00
Firmware version: 3.1.2
YubiKey Personalization GUI version: 3.1.16

Apparently, @jeanpaulgalea had similar issues.

Static Password > Scan Code: For "Español (Mexico) - Latinoamérica" keyboard layout, character "_" is replaced with "&"

In version 3.1.9, Library Version 1.13.0 of the Personalization tool on Windows 7 x64, when using the keyboard layout "Español (Mexico) - Latinoamérica" to enter in a static password using the Scan Code option, the character "_" is replaced by "&" in the output.

When entering the character "" into the tool, it is displayed correctly, both when copied and pasted or when typed in manually. However, after the YubiKey has been configured with the static password, the character "" is replaced with the character "&" for the YubiKey output.

This does not occur with the US keyboard Layout.

Make Scan Code Mode Limitations Clearer

As it stands now the Scan Code option of the Static Password mode only supports the US standard layout. There is a help text available, but as it is not very obvious users might be confused. Consider making it clearer, such as by putting a tool-tip and/or detecting user keyboard layout.

Support for Dvorak

When using Dvorak keyboard layout, the generated keys do not work.

It is probably not so easy to support, but one idea I have is to be able to select Dvorak in the configuration. Then it could either always be used with Dvorak, or you could have one config with Dvorak and one with Qwerty.

[AZERTY] - layout SHIFT issue with HOTP

Setting the option "use numeric keypad" requires the user to press the SHIFT button pressed to emit proper AZERTY layout using number in the top bar rather than the numeric keypad.

Version 3.1.18
Library Version 1.16.2

  • The NEO Firmware Version: 3.4.3
  • The NEO-n Firmware Version: 3.3.7

Failing to build on Arch Linux

I was unable to build this program using the standard "qmake && make". Errors occur during the build process, pertaining almost exclusively to private member violations. I'd imagine this is an issue with a new version of GCC - I'm using GCC 4.9.1 for the build process.
Below is a sample (I can provide a full list if desired):

src/yubikeylogger.h: In member function ‘void SettingPage::restoreDefaults()’:
src/yubikeylogger.h:68:20: error: ‘static QString YubiKeyLogger::defaultLogFilename()’ is private
static QString defaultLogFilename();
^

Static Password - Scan Code - Shift Stuck issue

OS: Windows 10 x64 (build 10240)
APP: YubiKey Personalization Tool

  • application version: 3.1.20
  • library version: 1.17.0

YubiKey: Neo FW 3.4.3

When generating a static password on slot 2 with Scan Code, if the password ends in a capital letter, when using the YubiKey to generate slot 2 input, for some reason my keyboard is "Stuck" with shift. Every letter I manually type after that is capital. I was able to kick this "lock" by hitting my left shift key 5 times to prompt the sticky key window and clicking no.

Here is a video: http://youtu.be/Y28X8yA2E2U

P.S. this isn't an issue if I do Advanced instead of Scan Code. My issue with advanced is that the password it generates usually only has 2 Uppercase characters and only about 2 or so numbers and the rest is all lowercase letters and they look very similar.

Example with using Advanced: 31GUniglknrihhjbbjiclurlvrhhdrih

Forum Link: http://forum.yubico.com/viewtopic.php?f=26&t=1985

compilation fails caused by missing ui element

Compilation fails with the following error message:

src/ui/toolpage.cpp: In constructor ‘ToolPage::ToolPage(QWidget*)’:
src/ui/toolpage.cpp:85:9: error: ‘class Ui::ToolPage’ has no member named ‘importBox’
ui->importBox->setVisible(false);

This is caused by commit c26d5d6 (drop box around import).

Doesn't work with new U2F keys?

The UI of this seems like it should allow reconfiguring U2F keys, given that it shows a U2F boolean on the main page. But when I plugin my GH branded U2F yubikey it doesn't notice it at all... Any idea what's wrong?

EDGE 4.1.6 static password delay - 20ms delaying to 2 seconds circa

When changing the pacing to 20ms the EDGE outputs the characters extremely slow (1 char every 2 seconds or so)

  • EDGE Version 4.1.0 - unable to replicate, OK(?)
  • EDGE Version 4.1.6 - verified

To replicate:

  • create a static password simple mode with value "testpassword"
  • change delay in the personalization gui settings to 20ms
  • touch the Yubikey EDGE

Polling every second may interact badly with sending OTP

We have received a report from a user who left the GUI running in the background, and then had problems using the YubiKey to generate OTPs, the problem was that some characters from the OTP was lost. Most likely this is caused by the GUI polling every second.

Let's see if we can reproduce the problem first, and then think about whether we can do something about the polling design.

Bundle QTs accessibility libraries with binary builds

I jus ttested the Windows binary of this tool. For users of assistive technology (screenreaders, speech recognition, etc) it is completely unusable. By bundling QTs accessibility libraries, it becomes quite usable. There are still some controls that may be better labeled, but it allows a user of assistive technology at least to program a Yubikey.

Problem with MUI field entry

    > I've just been contacted by a user who is having an issue
    >         with the
    >         > Cross-Platform Personalization tool's OATH-HOTP Advanced
    >         mode. (build
    >         > 3.1.6)
    >         >
    >         >
    >         > In the "Program in OATH-HOTP mode - Advanced" page, in the
    >         "OATH-HOTP
    >         > Parameters" section, when the OATH Token Identifier is
    >         active
    >         > (Checked) the MUI field is not retaining values entered into
    >         it.
    >         >
    >         >
    >         > A user can type in values into the MUI field, but those
    >         values change
    >         > whenever a user clicks outside of the MUI text box. This is
    >         causing an
    >         > issue when a user is attempting to configure a specific MUI
    >         for a
    >         > YubiKey - it is expected that if the values entered is
    >         correct, they
    >         > should not change.
    >         >
    >         >
    >         > This occurs when the field is set to numeric or modhex.

Slot 1 Protection Without Overwrite

Currently, the Configuration Protection field of the GUI doesn't make it clear whether you can add configuration protection without overwriting the contents of the slot. Regardless of whether one can or can't, the UI should make this clearer than it does.

For example, if I want to ensure that the factory settings in Slot 1 aren't overwritten, the UI doesn't provide a dedicated button to apply Configuration Protection. The implication is that clicking Write Configuration will clobber the factory settings, resulting in a complete overwrite of the slot and requiring the user to upload a new key to the YubiCloud.

If Configuration Protection can be enabled safely without clobbering the slot, the UI should make that more obvious, perhaps by offering a dedicated button to apply just that field. If it can't be enabled safely, then the UI should probably change the "Write Configuration" button to Overwrite Configuration instead to make that explicit.

No YubiKey inserted

Hey Yubico,

Getting "No YubiKey inserted" in the YubiKey Personalization Tool. Running as root (see #25) does nothing but exit with code 132. Works great with Google and Github on Chrome.

Version3.1.7 - MUI field not applied to OATH user prefix in output

In version 3.1.7, when configuring the YubiKey using OATH-HOTP, the MUI values is not being prefixed to the generated OATH output.

The 4 character OMP + TT code is present, but the MUI field is not. This occurs for both the Quick and Advanced configuration modes. The OATH code is being generated correctly.

Installs /usr/tests/tests/tests

This file probably shouldn't be installed. Noticed while building the debian package:

...
jas@latte:/src/yubikey-personalization-gui-dpkg$ dpkg -c /var/cache/pbuilder/result/yubikey-personalization-gui_3.1.20-1_amd64.deb |grep tests
drwxr-xr-x root/root 0 2015-04-15 15:28 ./usr/tests/
drwxr-xr-x root/root 0 2015-04-15 15:28 ./usr/tests/tests/
-rwxr-xr-x root/root 38944 2015-04-15 15:28 ./usr/tests/tests/tests
jas@latte:
/src/yubikey-personalization-gui-dpkg$
...

Detects zero keys when 2 are plugged in

Not sure if it's a solvable issue or maybe just worth mentioning in the docs, but when I initially fired up the gui, it said no yuibkeys were installed. I unplugged one and it finds the remaining one. I'm guessing it's not a serious issue, but figured I'd mention it anyway.

Linker path for qtaccessiblewidgets & qmng plugins incorrect when compiling under Linux

It looks like whatever patch for OSX done here a9ac4e8 needs to also be done for Linux. I'm compiling 3.1.17 under Fedora 20 with the spec from the Fedora yubikey-personalizaiton-gui-3.1.11 source RPM:

[warewolf@xanatos ~]$ yubikey-personalization-gui
yubikey-personalization-gui: error while loading shared libraries: libqtaccessiblewidgets.so: cannot open shared object file: No such file or directory
[warewolf@xanatos ~]$ LD_LIBRARY_PATH=/usr/lib64/qt4/plugins/accessible yubikey-personalization-gui
yubikey-personalization-gui: error while loading shared libraries: libqmng.so: cannot open shared object file: No such file or directory
[warewolf@xanatos ~]$ LD_LIBRARY_PATH=/usr/lib64/qt4/plugins/imageformats:/usr/lib64/qt4/plugins/accessible yubikey-personalization-gui
libpng warning: iCCP: known incorrect sRGB profile
[warewolf@xanatos ~]$ # all good here

Change default logging behaviour

Currently default is to log keys to disk (~/configuration_log.csv) it would be good to change this for several reasons:

  • Security, don't write keys to disk unnecessarily
  • To be able to run in sandbox on osx the user has to pick the file every time

Launch with gksu or gksudo on Debian / Ubuntu

Not sure about other distros, but on Ubuntu the tool only works if run as root. The .desktop file could be updated to exec gksu yubikey-personalization-gui or gksudo yubikey-personalization-gui which would run it as root by default. Might save new users from confusion.

That or report a permissions error as the command line util does, currently on Ubuntu 12.04 the app launches fine but says only "No YubiKey inserted".

Static Password > Scan Code: Typing in a Scan Code value for a non-alphanumeric character crashes the Windows Personalization tool GUI

In version 3.1.9, Library Version 1.13.0 of the Personalization tool on Windows 7 x64, in the Static Password > Scan Code interface, when manually typing in a Scan Code value for a non-alphanumeric character, the Personalization tool GUI will stop working and close after the second hex character is entered for the scan code value, but before the character associated with the scan code is displayed.

This does not occur for alphanumeric characters. This was tested on a US keyboard layout.

Memory access error

I got an memory access error when I choose the DE or US keyboard layout or press the exit button. In both cases the GUI exits.

Version 3.1.22
Lib 1.17.2
openSUSE 13.2 32Bit
Build options:
qmake-qt5 'CONFIG+=nosilent c++11' 'QMAKE_CXXFLAGS=-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fvisibility=hidden -fvisibility-inlines-hidden'
make -j8

error: ‘YKP_FORMAT_YCFG’ was not declared in this scope

Hi,
I was trying to compile yubikey-personalization-gui under Fedora 19 x86_64, but I got this error:

[frafra@localhost yubikey-personalization-gui]$ qmake-qt4 
Project MESSAGE: Release build
Project MESSAGE: Unix build
[frafra@localhost yubikey-personalization-gui]$ make
uic src/ui/toolpage.ui
uic src/ui/staticpage.ui
uic src/ui/settingpage.ui
uic src/ui/otppage.ui
uic src/ui/oathpage.ui
uic src/ui/mainwindow.ui
uic src/ui/helpbox.ui
uic src/ui/confirmbox.ui
uic src/ui/chalresppage.ui
uic src/ui/aboutpage.ui
uic src/ui/yubiaccbox.ui
compiling src/main.cpp
compiling src/ui/toolpage.cpp
src/ui/toolpage.cpp:390:6: warning: unused parameter ‘msg’ [-Wunused-parameter]
 void ToolPage::ndefWritten(bool written, const QString &msg) {
      ^
src/ui/toolpage.cpp:429:6: warning: unused parameter ‘msg’ [-Wunused-parameter]
 void ToolPage::zapDone(bool written, const QString &msg) {
      ^
src/ui/toolpage.cpp: In member function ‘void ToolPage::on_importPerformBtn_clicked()’:
src/ui/toolpage.cpp:463:49: error: ‘YKP_FORMAT_YCFG’ was not declared in this scope
     int ret = ykp_import_config(cfg, data, len, YKP_FORMAT_YCFG);
                                                 ^
src/ui/toolpage.cpp:463:64: error: ‘ykp_import_config’ was not declared in this scope
     int ret = ykp_import_config(cfg, data, len, YKP_FORMAT_YCFG);
                                                                ^
src/ui/toolpage.cpp:471:41: error: ‘ykp_get_tktflag_OATH_HOTP’ was not declared in this scope
         if(ykp_get_tktflag_OATH_HOTP(cfg)) {
                                         ^
src/ui/toolpage.cpp:472:45: error: ‘ykp_get_cfgflag_CHAL_HMAC’ was not declared in this scope
             if(ykp_get_cfgflag_CHAL_HMAC(cfg)) {
                                             ^
src/ui/toolpage.cpp:476:86: error: ‘ykp_get_cfgflag_CHAL_BTN_TRIG’ was not declared in this scope
                 settings.setValue(SG_REQUIRE_INPUT, ykp_get_cfgflag_CHAL_BTN_TRIG(cfg));
                                                                                      ^
src/ui/toolpage.cpp:477:78: error: ‘ykp_get_cfgflag_HMAC_LT64’ was not declared in this scope
                 settings.setValue(SG_HMAC_LT64, ykp_get_cfgflag_HMAC_LT64(cfg));
                                                                              ^
src/ui/toolpage.cpp:478:54: error: ‘ykp_get_cfgflag_CHAL_YUBICO’ was not declared in this scope
             } else if(ykp_get_cfgflag_CHAL_YUBICO(cfg)) {
                                                      ^
src/ui/toolpage.cpp:482:86: error: ‘ykp_get_cfgflag_CHAL_BTN_TRIG’ was not declared in this scope
                 settings.setValue(SG_REQUIRE_INPUT, ykp_get_cfgflag_CHAL_BTN_TRIG(cfg));
                                                                                      ^
src/ui/toolpage.cpp:487:80: error: ‘ykp_get_cfgflag_OATH_HOTP8’ was not declared in this scope
                 settings.setValue(SG_OATH_HOTP8, ykp_get_cfgflag_OATH_HOTP8(cfg));
                                                                                ^
src/ui/toolpage.cpp:490:52: error: ‘ykp_get_cfgflag_STATIC_TICKET’ was not declared in this scope
         } else if(ykp_get_cfgflag_STATIC_TICKET(cfg)) {
                                                    ^
src/ui/toolpage.cpp:494:76: error: ‘ykp_get_cfgflag_STRONG_PW1’ was not declared in this scope
             settings.setValue(SG_STRONG_PW1, ykp_get_cfgflag_STRONG_PW1(cfg));
                                                                            ^
src/ui/toolpage.cpp:495:46: error: ‘ykp_get_cfgflag_STRONG_PW2’ was not declared in this scope
             if(ykp_get_cfgflag_STRONG_PW2(cfg)) {
                                              ^
src/ui/toolpage.cpp:497:78: error: ‘ykp_get_cfgflag_SEND_REF’ was not declared in this scope
                 settings.setValue(SG_STRONG_PW3, ykp_get_cfgflag_SEND_REF(cfg));
                                                                              ^
src/ui/toolpage.cpp:505:72: error: ‘ykp_get_cfgflag_MAN_UPDATE’ was not declared in this scope
         settings.setValue(SG_MAN_UPDATE, ykp_get_cfgflag_MAN_UPDATE(cfg));
                                                                        ^
src/ui/toolpage.cpp:506:74: error: ‘ykp_get_cfgflag_PACING_10MS’ was not declared in this scope
         settings.setValue(SG_PACING_10MS, ykp_get_cfgflag_PACING_10MS(cfg));
                                                                          ^
src/ui/toolpage.cpp:507:74: error: ‘ykp_get_cfgflag_PACING_20MS’ was not declared in this scope
         settings.setValue(SG_PACING_20MS, ykp_get_cfgflag_PACING_20MS(cfg));
                                                                          ^
src/ui/toolpage.cpp:508:70: error: ‘ykp_get_tktflag_APPEND_CR’ was not declared in this scope
         settings.setValue(SG_APPEND_CR, ykp_get_tktflag_APPEND_CR(cfg));
                                                                      ^
src/ui/toolpage.cpp:509:78: error: ‘ykp_get_tktflag_APPEND_DELAY1’ was not declared in this scope
         settings.setValue(SG_APPEND_DELAY1, ykp_get_tktflag_APPEND_DELAY1(cfg));
                                                                              ^
src/ui/toolpage.cpp:510:78: error: ‘ykp_get_tktflag_APPEND_DELAY2’ was not declared in this scope
         settings.setValue(SG_APPEND_DELAY2, ykp_get_tktflag_APPEND_DELAY2(cfg));
                                                                              ^
src/ui/toolpage.cpp:511:74: error: ‘ykp_get_tktflag_APPEND_TAB1’ was not declared in this scope
         settings.setValue(SG_APPEND_TAB1, ykp_get_tktflag_APPEND_TAB1(cfg));
                                                                          ^
src/ui/toolpage.cpp:512:74: error: ‘ykp_get_tktflag_APPEND_TAB2’ was not declared in this scope
         settings.setValue(SG_APPEND_TAB2, ykp_get_tktflag_APPEND_TAB2(cfg));
                                                                          ^
src/ui/toolpage.cpp:513:70: error: ‘ykp_get_tktflag_TAB_FIRST’ was not declared in this scope
         settings.setValue(SG_TAB_FIRST, ykp_get_tktflag_TAB_FIRST(cfg));
                                                                      ^
src/ui/toolpage.cpp:514:84: error: ‘ykp_get_extflag_SERIAL_BTN_VISIBLE’ was not declared in this scope
         settings.setValue(SG_SR_BTN_VISIBLE, ykp_get_extflag_SERIAL_BTN_VISIBLE(cfg));
                                                                                    ^
src/ui/toolpage.cpp:515:84: error: ‘ykp_get_extflag_SERIAL_USB_VISIBLE’ was not declared in this scope
         settings.setValue(SG_SR_USB_VISIBLE, ykp_get_extflag_SERIAL_USB_VISIBLE(cfg));
                                                                                    ^
src/ui/toolpage.cpp:516:84: error: ‘ykp_get_extflag_SERIAL_API_VISIBLE’ was not declared in this scope
         settings.setValue(SG_SR_API_VISIBLE, ykp_get_extflag_SERIAL_API_VISIBLE(cfg));
                                                                                    ^
src/ui/toolpage.cpp:517:88: error: ‘ykp_get_extflag_USE_NUMERIC_KEYPAD’ was not declared in this scope
         settings.setValue(SG_USE_NUMERIC_KEYPAD, ykp_get_extflag_USE_NUMERIC_KEYPAD(cfg));
                                                                                        ^
src/ui/toolpage.cpp:518:70: error: ‘ykp_get_extflag_FAST_TRIG’ was not declared in this scope
         settings.setValue(SG_FAST_TRIG, ykp_get_extflag_FAST_TRIG(cfg));
                                                                      ^
src/ui/toolpage.cpp:519:76: error: ‘ykp_get_extflag_ALLOW_UPDATE’ was not declared in this scope
         settings.setValue(SG_ALLOW_UPDATE, ykp_get_extflag_ALLOW_UPDATE(cfg));
                                                                            ^
src/ui/toolpage.cpp:520:69: error: ‘ykp_get_extflag_LED_INV’ was not declared in this scope
         settings.setValue(SG_LED_INVERT, ykp_get_extflag_LED_INV(cfg));
                                                                     ^
make: *** [build/release/ObjFiles/toolpage.o] Errore 1

Number Converter core dump

When using the Number Converter I was able to make yubikey-personalization-gui core dump by putting a >24 character value into either:
Tools -> Number Converter -> Hexadecimal
0123456789abcdef01234567 (OK)
0123456789abcdef012345678 (core dump)
-or-
Tools -> Number Converter -> Modhex
cbdefghijklnrtuvcbdefghi (OK)
cbdefghijklnrtuvcbdefghij (core dump)

Tested on:
OS: OpenBSD 5.3-current (GENERIC.MP) #121: Mon May 27 10:39:10 MDT 2013
ypg version: 3.1.9 (from OpenBSD packages)

OS: Linux gigabyte 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux
ypg version: 3.1.8 (from Debian packages)

Editing OMP & TT for OATH when General Settings: Use and enforce customer prefix

When "Use and enforce customer prefix" is set in the "General Settings", the OMP and TT become un-editable in the OATH Advanced config page. This does not make sense to me. Maybe include OMP & TT as optional global settings together with those for Yubico OTP? Or always allow editing of OMP and TT in the OATH page irrespective of this check box.

OS X - "Upload to Yubico" when default browser is not Safari

When I try:

  1. Write new Yubico OTP parameters to the key.
  2. Click the "Upload to Yubico" button.

It does nothing when the default browser on OS X is Chrome.

When I change the default browser to Safari, it works.

If you can't integrate with Chrome / Firefox / Opera depending on what's the default, could you please offer a way to perform the upload manually, by telling you what URL to visit :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.