Project

General

Profile

Bug #18437

Updated by Ivan Necas almost 8 years ago

The problem seems to be in using DateTime in json in https://github.com/Katello/katello/blob/aad62cc6dae670565218f7434a4e908550244b41/app/lib/katello/resources/candlepin.rb#L686 

 It seems ActiveSupport's DateTime has some issues with formating the time. 

 It's not that hard to get an invalid date with it (with 1000 on milisends) 

 <pre> 
 x = nil; 100000.times { x = (DateTime.now + 10_950.days).to_json; break unless x.size == 31 }; puts x 
 # => "2047-02-01T23:42:09.1000+01:00" 
 </pre> 

 Using Time doesn't seem to have the problem 

 <pre> 
 x = nil; 100000.times { x = (Time.now + 10_950.days).to_json; break unless x.size == 31 }; puts x 
 # = "2047-02-01T23:42:50.906+01:00" 
 </pre>

Back