Bug 726568

Summary: Connect to the hypervisor will hang using TLS with SASL
Product: Red Hat Enterprise Linux 6 Reporter: weizhang <weizhan>
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: medium    
Version: 6.2CC: dallan, dyuan, gren, mzhan, rwu, veillard, whuang
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-26 15:06:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description weizhang 2011-07-29 03:14:44 UTC
Description of problem:
When test tls enabled uri with sasl connection, it will hang without feedback

Version-Release number of selected component (if applicable):
kernel-2.6.32-171.el6.x86_64
libvirt-0.9.4-0rc1.el6.x86_64
qemu-kvm-0.12.1.2-2.172.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.  Edit /etc/libvirt/libvirtd.conf
  -- enbale listen_tls = 1
  -- enable auth_tls = "sasl"

2.  generate key and cert file to configure tls environment

3.  service libvirtd stop; libvirtd -d --listen

4. saslpasswd2 -a libvirt -d fred

5. virsh -c qemu+tls://{ip}/system

  
Actual results:
will hang

Expected results:
continue by inputting authenticate user

Additional info:

Comment 2 weizhang 2011-07-29 05:11:54 UTC
it can success on libvirt-0.8.7-18, so it is a regression bug

Comment 4 Daniel Veillard 2011-08-02 09:06:39 UTC
  Are you sure how your certs are proper. 0.9.4 now does some checks for
correctness of certificates and if your certificate are improper
libvirtd may not start, and you will see an error in libvirtd.log

 Is there any informations about certificate being improper in libvirtd.log ?

Daniel

Comment 5 weizhang 2011-08-02 10:56:56 UTC
Hi DV,

If I change the auth_tls to 'none', then no problem. libvirtd start normally. When I change auth_tls to 'sasl', then it will hang. If only change libvirt version to 0.8.7-18 without any other changes, it will normal with asking :Please enter your authentication name. There is no error info in libvirtd.log

Comment 6 Gunannan Ren 2011-08-04 03:35:07 UTC
*** Bug 728053 has been marked as a duplicate of this bug. ***

Comment 7 Dave Allan 2011-08-04 19:35:05 UTC
commit 8329c56e3a2017399f465aeca06ffa0039e2141a
Author: Guannan Ren <gren>
Date:   Thu Aug 4 21:27:52 2011 +0800

    rpc:fix sasl session relocking intead of unlocking it
    
    When trying to use any SASL authentication for TCP sockets by
    setting auth_tls = "sasl" in libvirtd.conf on server side, the
    client will hang because of the sasl session relocking other than
    dropping the lock when exiting virNetSASLSessionExtKeySize()
    * src/rpc/virnetsaslcontext.c: virNetSASLSessionExtKeySize drop the
      lock on exit

Comment 9 Jiri Denemark 2011-08-26 15:06:09 UTC

*** This bug has been marked as a duplicate of bug 729198 ***