Actions
Bug #9273
closedparse_resolv_conf fails with unicode comments in /etc/resolvconf.c
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby -v: ruby 2.1.0dev (2013-12-20 trunk 44303) [x86_64-linux]
Backport:
Description
=begin
This is content of my resolve.conf:
$ cat /etc/resolv.conf
Generated by NetworkManager¶
domain redhat.com
search redhat.com
nameserver 10.38.5.26
nameserver 10.35.255.14
nameserver 213.46.172.36
POZNÁMKA: překladač adres z libc nemůže podporovat více než 3 jmenné servery.¶
Jmenné servery uvedené v následujícím seznamu nelze rozpoznat.¶
nameserver 213.46.172.37
nameserver 192.168.0.1
As you can see, NetworkManager inserts there some localized comment. Later, when I run the Ruby's test suite with LANG=C (this is default for Fedora build system), I observer error:
- Error:
TestGemRemoteFetcher#test_download_to_cache:
ArgumentError: invalid byte sequence in US-ASCII
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:926:insub!' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:926:in
block (2 levels) in parse_resolv_conf'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:925:ineach' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:925:in
block in parse_resolv_conf'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:924:inopen' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:924:in
parse_resolv_conf'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:956:indefault_config_hash' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:977:in
block in lazy_initialize'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:970:insynchronize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:970:in
lazy_initialize'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:358:inblock in lazy_initialize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:356:in
synchronize'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:356:inlazy_initialize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:516:in
fetch_resource'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:510:ineach_resource' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:491:in
getresource'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/remote_fetcher.rb:89:inapi_endpoint' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/source.rb:42:in
api_uri'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/source.rb:126:infetch_spec' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/spec_fetcher.rb:171:in
block in spec_for_dependency'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/spec_fetcher.rb:169:ineach' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/spec_fetcher.rb:169:in
spec_for_dependency'
/builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/remote_fetcher.rb:106:indownload_to_cache' /builddir/build/BUILD/ruby-2.1.0-r44303/test/rubygems/test_gem_remote_fetcher.rb:400:in
test_download_to_cache'
The attached patch ignores such error and should be sufficient to fix this issue IMO. Not sure if I should not contact NM developers, but anybody else might insert there some localized strings as well, so Ruby should be probably more robust in this case.
=end
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0