[Bug 3696] New: ACL bug - passwords with special ascii character throwing exception and cant be used

bugzilla-daemon at bz.selenic.com bugzilla-daemon at bz.selenic.com
Thu Nov 8 08:52:27 CST 2012


http://bz.selenic.com/show_bug.cgi?id=3696

          Priority: normal
            Bug ID: 3696
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: ACL bug - passwords with special ascii character
                    throwing exception and cant be used
          Severity: bug
    Classification: Unclassified
                OS: Windows
          Reporter: Bastian.Wassermann at multivac.de
          Hardware: PC
            Status: UNCONFIRMED
           Version: unspecified
         Component: Mercurial
           Product: Mercurial

I am from germany and our "central repository" is protected by ACL. This works
fine for most time, but if we try to use a password with special german Ascii
character (Umlaut), a error message will be thrown and we can not login.

It is easy to reproduce, by taking a password with Ascii 0x99 (Ö) and try to
pull from ACL protected repository. We have tried this on Windows XP and
although Windows 7.

Cmd commands:

hg pull
http authorization required
realm: our-server
user: my-username (fixed in .hg/hgrc)
password:
** Unknown exception encountered with possibly-broken third-party extension
mercurial_keyring
** which supports versions unknown of Mercurial.
** Please disable mercurial_keyring and try your action again.
** If that fixes the bug please report it to the extension author.
** Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]
** Mercurial Distributed SCM (version 2.3.2)
** Extensions loaded: acl, rebase, largefiles, mq, mercurial_keyring, projrc,
extdiff
Traceback (most recent call last):
  File "hg", line 42, in <module>
  File "mercurial\dispatch.pyo", line 28, in run
  File "mercurial\dispatch.pyo", line 65, in dispatch
  File "mercurial\dispatch.pyo", line 88, in _runcatch
  File "mercurial\dispatch.pyo", line 740, in _dispatch
  File "mercurial\dispatch.pyo", line 514, in runcommand
  File "mercurial\dispatch.pyo", line 830, in _runcommand
  File "mercurial\dispatch.pyo", line 801, in checkargs
  File "mercurial\dispatch.pyo", line 737, in <lambda>
  File "mercurial\util.pyo", line 471, in check
  File "mercurial\extensions.pyo", line 144, in wrap
  File "mercurial\util.pyo", line 471, in check
  File "hgext\mq.pyo", line 3528, in mqcommand
  File "mercurial\util.pyo", line 471, in check
  File "mercurial\extensions.pyo", line 144, in wrap
  File "mercurial\util.pyo", line 471, in check
  File "hgext\largefiles\overrides.pyo", line 701, in overridepull
  File "mercurial\util.pyo", line 471, in check
  File "mercurial\extensions.pyo", line 144, in wrap
  File "mercurial\util.pyo", line 471, in check
  File "hgext\rebase.pyo", line 700, in pullrebase
  File "mercurial\util.pyo", line 471, in check
  File "mercurial\commands.pyo", line 4593, in pull
  File "mercurial\hg.pyo", line 114, in peer
  File "mercurial\hg.pyo", line 94, in _peerorrepo
  File "mercurial\httppeer.pyo", line 237, in instance
  File "mercurial\httppeer.pyo", line 57, in _fetchcaps
  File "mercurial\httppeer.pyo", line 170, in _call
  File "hgext\largefiles\proto.pyo", line 173, in httprepocallstream
  File "mercurial\httppeer.pyo", line 118, in _callstream
  File "urllib2.pyo", line 406, in open
  File "urllib2.pyo", line 519, in http_response
  File "urllib2.pyo", line 438, in error
  File "urllib2.pyo", line 378, in _call_chain
  File "urllib2.pyo", line 890, in http_error_401
  File "mercurial\url.pyo", line 430, in http_error_auth_reqed
  File "hgext\mercurial_keyring.pyo", line 339, in basic_http_error_auth_reqed
  File "urllib2.pyo", line 865, in http_error_auth_reqed
  File "urllib2.pyo", line 878, in retry_http_basic_auth
  File "urllib2.pyo", line 406, in open
  File "urllib2.pyo", line 519, in http_response
  File "urllib2.pyo", line 438, in error
  File "urllib2.pyo", line 378, in _call_chain
  File "urllib2.pyo", line 890, in http_error_401
  File "mercurial\url.pyo", line 430, in http_error_auth_reqed
  File "hgext\mercurial_keyring.pyo", line 339, in basic_http_error_auth_reqed
  File "urllib2.pyo", line 865, in http_error_auth_reqed
  File "urllib2.pyo", line 871, in retry_http_basic_auth
  File "hgext\mercurial_keyring.pyo", line 333, in find_user_password
  File "hgext\mercurial_keyring.pyo", line 218, in find_auth
  File "hgext\mercurial_keyring.pyo", line 71, in set_http_password
  File "keyring\core.pyo", line 42, in set_password
  File "keyring\backend.pyo", line 775, in set_password
UnicodeDecodeError: 'ascii' codec can't decode byte 0x99 in position 0: ordinal
not in range(128)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list