Issue #9273 has been updated by Yui NARUSE.

Backport changed from 1.9.3: DONE, 2.0.0: DONE, 2.1: REQUIRED to 1.9.3: DONE, 2.0.0: DONE, 2.1: DONE

r45075.

----------------------------------------
Bug #9273: parse_resolv_conf fails with unicode comments in /etc/resolvconf.c
https://bugs.ruby-lang.org/issues/9273#change-45332

* Author: Vit Ondruch
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby -v: ruby 2.1.0dev (2013-12-20 trunk 44303) [x86_64-linux]
* Backport: 1.9.3: DONE, 2.0.0: DONE, 2.1: DONE
----------------------------------------
=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
 # POZNMKA: peklada adres z libc neme podporovat vce ne 3 jmenn servery.
 # Jmenn servery uveden v nsledujcm 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 Fedorabuild system), I observer error:

   1) 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:in `sub!'
     /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:926:in `block (2levels) in parse_resolv_conf'
     /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:925:in `each'
     /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:925:in `block inparse_resolv_conf'
     /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:924:in `open'
     /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:in `default_config_hash'
     /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:977:in `block inlazy_initialize'
     /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:970:in `synchronize'
     /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:in `block inlazy_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:in `lazy_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:in `each_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:in `api_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:in `fetch_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:in `each'
     /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:in `download_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 elsemight insert there some localized strings as well, so Ruby should be probably more robust in this case.
=end


---Files--------------------------------
0001-Ignore-encoding-issues.patch (1.08 KB)
0001-Ignore-encoding-issues.patch (971 Bytes)


-- 
http://bugs.ruby-lang.org/