Re: [Freeipa-devel] [PATCH 0079] Catch USBError during YubiKey location

2014-11-25 Thread Martin Kosek
On 11/13/2014 07:39 AM, Nathaniel McCallum wrote:
> On Mon, 2014-11-10 at 09:08 +0100, Martin Kosek wrote:
>> On 11/10/2014 08:31 AM, Alexander Bokovoy wrote:
>>> On Mon, 10 Nov 2014, Jan Cholasta wrote:
 Hi,

 Dne 7.11.2014 v 16:51 Nathaniel McCallum napsal(a):
> https://fedorahosted.org/freeipa/ticket/4693

 Is it good enough to just say "No YubiKey found"? Would it make sense to 
 log
 the original message, for the sake of debugging why the yubikey was not 
 found?
>>> This is logged on the client side so it only would be visible if you
>>> would run 'ipa' tool with -v. Perhaps useful but my practice with
>>> yubikeys says that most of issues are basically permission-related:
>>> you've inserted the key and udev rules didn't change access to allow
>>> getting to it via libusb. In this case our debugging will hardly be
>>> helpful beyond 'yes, it is not accessible' which is already conveyed by
>>> the original message.
>>
>> Ok. Though IMO, passing the USBError string to the error would still be a 
>> good
>> thing to do - unless we have a strong reason to hide it. Error stating 
>> "Access
>> denied (insufficient permissions)" would steer the person closer to the root
>> cause that just "No YubiKey found".
> 
> It took a bit to figure out exactly how to handle the errors, but the
> attached patch passes the error codes through.
> 

Yup, this is exactly what I wanted to see, ACK!

Pushed to:
master: b3a6701e73f6ccd4dff1dab47554381f42d40bb4
ipa-4-1: a7a7e967580c8ef4fa4341aa8b8877128e7d822a

Martin

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH 0079] Catch USBError during YubiKey location

2014-11-12 Thread Nathaniel McCallum
On Mon, 2014-11-10 at 09:08 +0100, Martin Kosek wrote:
> On 11/10/2014 08:31 AM, Alexander Bokovoy wrote:
> > On Mon, 10 Nov 2014, Jan Cholasta wrote:
> >> Hi,
> >>
> >> Dne 7.11.2014 v 16:51 Nathaniel McCallum napsal(a):
> >>> https://fedorahosted.org/freeipa/ticket/4693
> >>
> >> Is it good enough to just say "No YubiKey found"? Would it make sense to 
> >> log
> >> the original message, for the sake of debugging why the yubikey was not 
> >> found?
> > This is logged on the client side so it only would be visible if you
> > would run 'ipa' tool with -v. Perhaps useful but my practice with
> > yubikeys says that most of issues are basically permission-related:
> > you've inserted the key and udev rules didn't change access to allow
> > getting to it via libusb. In this case our debugging will hardly be
> > helpful beyond 'yes, it is not accessible' which is already conveyed by
> > the original message.
> 
> Ok. Though IMO, passing the USBError string to the error would still be a good
> thing to do - unless we have a strong reason to hide it. Error stating "Access
> denied (insufficient permissions)" would steer the person closer to the root
> cause that just "No YubiKey found".

It took a bit to figure out exactly how to handle the errors, but the
attached patch passes the error codes through.
From b8b7a4e34309120c012a8ec466f1b66d3a2bff9d Mon Sep 17 00:00:00 2001
From: Nathaniel McCallum 
Date: Fri, 7 Nov 2014 10:47:43 -0500
Subject: [PATCH] Catch USBError during YubiKey location

https://fedorahosted.org/freeipa/ticket/4693
---
 ipalib/plugins/otptoken_yubikey.py | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ipalib/plugins/otptoken_yubikey.py b/ipalib/plugins/otptoken_yubikey.py
index e70ddb6e42b5ea34d7ebecb252d6bbd73ac64d03..1540117093386ef29c6ec47c07731d7a432d26bf 100644
--- a/ipalib/plugins/otptoken_yubikey.py
+++ b/ipalib/plugins/otptoken_yubikey.py
@@ -25,6 +25,7 @@ from ipalib.plugins.otptoken import otptoken
 
 import os
 
+import usb.core
 import yubico
 
 __doc__ = _("""
@@ -81,8 +82,10 @@ class otptoken_add_yubikey(Command):
 # Open the YubiKey
 try:
 yk = yubico.find_yubikey()
-except yubico.yubikey.YubiKeyError, e:
-raise NotFound(reason=_('No YubiKey found'))
+except usb.core.USBError as e:
+raise NotFound(reason="No YubiKey found: %s" % e.strerror)
+except yubico.yubikey.YubiKeyError as e:
+raise NotFound(reason=e.reason)
 
 assert yk.version_num() >= (2, 1)
 
-- 
2.1.0

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] [PATCH 0079] Catch USBError during YubiKey location

2014-11-10 Thread Martin Kosek
On 11/10/2014 08:31 AM, Alexander Bokovoy wrote:
> On Mon, 10 Nov 2014, Jan Cholasta wrote:
>> Hi,
>>
>> Dne 7.11.2014 v 16:51 Nathaniel McCallum napsal(a):
>>> https://fedorahosted.org/freeipa/ticket/4693
>>
>> Is it good enough to just say "No YubiKey found"? Would it make sense to log
>> the original message, for the sake of debugging why the yubikey was not 
>> found?
> This is logged on the client side so it only would be visible if you
> would run 'ipa' tool with -v. Perhaps useful but my practice with
> yubikeys says that most of issues are basically permission-related:
> you've inserted the key and udev rules didn't change access to allow
> getting to it via libusb. In this case our debugging will hardly be
> helpful beyond 'yes, it is not accessible' which is already conveyed by
> the original message.

Ok. Though IMO, passing the USBError string to the error would still be a good
thing to do - unless we have a strong reason to hide it. Error stating "Access
denied (insufficient permissions)" would steer the person closer to the root
cause that just "No YubiKey found".

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH 0079] Catch USBError during YubiKey location

2014-11-09 Thread Alexander Bokovoy

On Mon, 10 Nov 2014, Jan Cholasta wrote:

Hi,

Dne 7.11.2014 v 16:51 Nathaniel McCallum napsal(a):

https://fedorahosted.org/freeipa/ticket/4693


Is it good enough to just say "No YubiKey found"? Would it make sense 
to log the original message, for the sake of debugging why the yubikey 
was not found?

This is logged on the client side so it only would be visible if you
would run 'ipa' tool with -v. Perhaps useful but my practice with
yubikeys says that most of issues are basically permission-related:
you've inserted the key and udev rules didn't change access to allow
getting to it via libusb. In this case our debugging will hardly be
helpful beyond 'yes, it is not accessible' which is already conveyed by
the original message.
--
/ Alexander Bokovoy

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH 0079] Catch USBError during YubiKey location

2014-11-09 Thread Jan Cholasta

Hi,

Dne 7.11.2014 v 16:51 Nathaniel McCallum napsal(a):

https://fedorahosted.org/freeipa/ticket/4693


Is it good enough to just say "No YubiKey found"? Would it make sense to 
log the original message, for the sake of debugging why the yubikey was 
not found?


Honza

--
Jan Cholasta

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel