diff options
-rw-r--r-- | debian/control | 28 | ||||
-rw-r--r-- | lib/mauve/alert.rb | 39 | ||||
-rw-r--r-- | lib/mauve/alert_changed.rb | 15 | ||||
-rw-r--r-- | lib/mauve/datamapper.rb | 7 | ||||
-rw-r--r-- | lib/mauve/history.rb | 6 | ||||
-rw-r--r-- | lib/mauve/server.rb | 15 | ||||
-rw-r--r-- | lib/mauve/web_interface.rb | 13 | ||||
-rw-r--r-- | test/bst_to_gmt.yaml | 531 | ||||
-rw-r--r-- | test/tc_mauve_alert.rb | 21 |
9 files changed, 631 insertions, 44 deletions
diff --git a/debian/control b/debian/control index e7019fb..48ef489 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Maintainer: Matthew Bloch <matthew@bytemark.co.uk> Uploaders: Patrick J Cherry <patrick@bytemark.co.uk> Section: ruby Priority: optional -Build-Depends: ruby1.8, debhelper, cdbs, rdoc, txt2man, cdbs +Build-Depends: ruby1.8, debhelper, cdbs, rdoc, txt2man, cdbs, libsetup-ruby1.8 Standards-Version: 3.9.1 Package: mauvealert-client @@ -24,24 +24,20 @@ Architecture: all Pre-Depends: libjs-jquery Depends: mauvealert-common (>= 3.4.0), adduser, - ruby1.8 (>= 1.8.7), - libhaml-ruby1.8 | haml, + libdm-core-ruby1.8 (>= 1.2.0), + libdm-migrations-ruby1.8 (>= 1.2.0), + libdm-serializer-ruby1.8 (>= 1.2.0), + libdm-sqlite-adapter-ruby1.8 (>= 1.2.0), + libdm-types-ruby1.8 (>= 1.2.0), + libdm-validations-ruby1.8 (>= 1.2.0), + libhaml-ruby1.8, liblog4r-ruby1.8, libredcloth-ruby1.8, librmail-ruby1.8, - libsinatra-ruby1.8, - libuuidtools-ruby1.8, - libwebrick-ruby1.8, - libdm-core-ruby1.8, - libdm-do-adapter-ruby1.8, - libdm-migrations-ruby1.8, - libdm-serializer-ruby1.8, - libdm-sqlite-adapter-ruby1.8, - libdo-sqlite3-ruby1.8, - libdm-timestamps-ruby1.8, - libdm-types-ruby1.8, - libdm-validations-ruby1.8, - thin1.8 | thin, + libsanitize-ruby1.8 (>= 2.0.3), + libsinatra-ruby1.8 (>= 1.0), + ruby1.8 (>= 1.8.7), + thin1.8 (>= 1.2.11), libxmpp4r-ruby1.8, ${misc:Depends} Suggests: mauvealert-client diff --git a/lib/mauve/alert.rb b/lib/mauve/alert.rb index 25cee54..37a8f2e 100644 --- a/lib/mauve/alert.rb +++ b/lib/mauve/alert.rb @@ -16,7 +16,7 @@ module Mauve property :id, Serial property :alert_id, Integer - property :earliest, Time + property :earliest, EpochTime belongs_to :alert, :model => "Alert" # 1) Shame we can't get this called automatically from DataMapper.auto_upgrade! @@ -28,7 +28,7 @@ module Mauve # http://www.mail-archive.com/datamapper@googlegroups.com/msg02314.html # def self.create_view! - the_distant_future = Time.now + 2000.days # it is the year 2000 - the humans are dead + the_distant_future = (Time.now + 2000.days).to_i # it is the year 2000 - the humans are dead ["BEGIN TRANSACTION", "DROP VIEW IF EXISTS mauve_alert_earliest_dates", "CREATE VIEW @@ -76,21 +76,22 @@ module Mauve property :detail, Text, :length=>65535 property :importance, Integer, :default => 50 - property :raised_at, Time - property :cleared_at, Time - property :updated_at, Time - property :acknowledged_at, Time + property :raised_at, EpochTime + property :cleared_at, EpochTime + property :updated_at, EpochTime + property :acknowledged_at, EpochTime property :acknowledged_by, String, :lazy => false property :update_type, String, :lazy => false - property :will_clear_at, Time - property :will_raise_at, Time - property :will_unacknowledge_at, Time + property :will_clear_at, EpochTime + property :will_raise_at, EpochTime + property :will_unacknowledge_at, EpochTime has n, :changes, :model => AlertChanged has n, :histories, :through => :alerthistory has 1, :alert_earliest_date + before :valid?, :do_set_timestamps before :save, :do_sanitize_html before :save, :take_copy_of_changes after :save, :notify_if_needed @@ -204,7 +205,11 @@ module Mauve attribute_set(key, Alert.clean_html(val)) end end - + + def do_set_timestamps(context = :default) + self.updated_at = Time.now unless self.original_attributes.has_key?("updated_at") + end + # This is to stop datamapper inserting duff dates into the database. # def check_dates @@ -255,7 +260,7 @@ module Mauve h = History.new(:alerts => [self], :type => "update") if self.update_type == "acknowledged" - h.event = "ACKNOWLEDGEDuntil #{self.will_unacknowledge_at}" + h.event = "ACKNOWLEDGED until #{self.will_unacknowledge_at}" h.user = self.acknowledged_by elsif is_a_change @@ -378,7 +383,7 @@ module Mauve # Don't clear will_clear_at self.update_type = "raised" if self.update_type.nil? or self.update_type != "changed" or self.original_attributes[Alert.properties[:update_type]] == "cleared" end - + unless save logger.error("Couldn't save #{self}") false @@ -386,7 +391,7 @@ module Mauve true end end - + # Clear an alert at a specified time # # @param [Time] at The time at which the alert should be cleared. @@ -576,7 +581,11 @@ module Mauve # @return [NilClass] def receive_update(update, reception_time = Time.now, ip_source="network") - update = Proto::AlertUpdate.parse_from_string(update) unless update.kind_of?(Proto::AlertUpdate) + unless update.kind_of?(Proto::AlertUpdate) + new_update = Proto::AlertUpdate.new + new_update.parse_from_string(update) + update = new_update + end alerts_updated = [] @@ -679,7 +688,7 @@ module Mauve alert_db.importance = alert.importance if alert.importance != 0 - alert_db.updated_at = reception_time + alert_db.updated_at = reception_time if alert_db.raised? # diff --git a/lib/mauve/alert_changed.rb b/lib/mauve/alert_changed.rb index c36c4c8..9b2bea4 100644 --- a/lib/mauve/alert_changed.rb +++ b/lib/mauve/alert_changed.rb @@ -15,14 +15,23 @@ module Mauve property :id, Serial property :alert_id, Integer, :required => true property :person, String, :required => true - property :at, Time, :required => true + property :at, EpochTime, :required => true property :was_relevant, Boolean, :required => true, :default => true property :level, String, :required => true property :update_type, String, :required => true - property :remind_at, Time + property :remind_at, EpochTime, :required => false belongs_to :alert - + + before :valid?, :do_set_timestamps + + protected + + def do_set_timestamps(context = :default) + self.at = Time.now unless self.original_attributes.has_key?("at") + end + + public # @return [String] def to_s diff --git a/lib/mauve/datamapper.rb b/lib/mauve/datamapper.rb index 12f95dc..abf56c7 100644 --- a/lib/mauve/datamapper.rb +++ b/lib/mauve/datamapper.rb @@ -4,12 +4,11 @@ # # require 'dm-core' -require 'dm-validations' +require 'dm-migrations' +require 'dm-serializer' require 'dm-sqlite-adapter-with-mutex' require 'dm-types' -require 'dm-serializer' -require 'dm-migrations' -require 'dm-timestamps' +require 'dm-validations' # DataMapper::Model.raise_on_save_failure = true diff --git a/lib/mauve/history.rb b/lib/mauve/history.rb index d9ab8e9..bcdd41a 100644 --- a/lib/mauve/history.rb +++ b/lib/mauve/history.rb @@ -80,11 +80,11 @@ module Mauve property :type, String, :required => true, :default => "unknown", :lazy => false property :event, Text, :required => true, :default => "Nothing set", :lazy => false property :user, String - property :created_at, Time, :required => true + property :created_at, EpochTime, :required => true has n, :alerts, :through => :alerthistory - before :valid?, :set_created_at + before :valid?, :do_set_created_at before :save, :do_sanitize_html protected @@ -110,7 +110,7 @@ module Mauve # Update the created_at time on the object # - def set_created_at(context = :default) + def do_set_created_at(context = :default) self.created_at = Time.now unless self.created_at.is_a?(Time) end diff --git a/lib/mauve/server.rb b/lib/mauve/server.rb index 41a76dc..233695d 100644 --- a/lib/mauve/server.rb +++ b/lib/mauve/server.rb @@ -108,14 +108,25 @@ module Mauve # # Update any tables. # - Mauve.constants.each do |c| + Mauve.constants.each do |c| next if %w(AlertEarliestDate).include?(c) m = Mauve.const_get(c) - m.auto_upgrade! if m.respond_to?("auto_upgrade!") + next unless m.respond_to?("auto_upgrade!") + m.auto_upgrade! # # Don't want to use automigrate, since this trashes the tables. # # m.auto_migrate! if m.respond_to?("auto_migrate!") + # + # + m.properties.each do |prop| + next unless prop.is_a?(DataMapper::Property::EpochTime) + logger.info("Updating #{c}.#{prop.name}") + statement = "UPDATE mauve_#{DataMapper::Inflector.tableize(c)} SET #{prop.name} = strftime(\"%s\",#{prop.name}) WHERE #{prop.name} LIKE \"%-%-%\";" + DataMapper.repository(:default).adapter.execute("BEGIN TRANSACTION;") + DataMapper.repository(:default).adapter.execute(statement) + DataMapper.repository(:default).adapter.execute("COMMIT TRANSACTION;") + end end AlertHistory.migrate! diff --git a/lib/mauve/web_interface.rb b/lib/mauve/web_interface.rb index 716aaf3..b998ad8 100644 --- a/lib/mauve/web_interface.rb +++ b/lib/mauve/web_interface.rb @@ -5,7 +5,18 @@ require 'json' require 'mauve/authentication' -require 'sinatra/tilt' +tilt_lib = "tilt" +begin + require tilt_lib +rescue LoadError => ex + if tilt_lib == "tilt" + tilt_lib = "sinatra/tilt" + retry + end + + raise ex +end + require 'sinatra/base' require 'sinatra-partials' diff --git a/test/bst_to_gmt.yaml b/test/bst_to_gmt.yaml new file mode 100644 index 0000000..9beba52 --- /dev/null +++ b/test/bst_to_gmt.yaml @@ -0,0 +1,531 @@ +--- +- - !binary | + CIGtjfXBidCdLxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJOssvUEGLunsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC7p7L1BA== + + - 2011-10-30 01:00:59 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CNqN9tre2LzJIRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ENKssvUEGPqnsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkD6p7L1BA== + + - 2011-10-30 01:02:02 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + COPg8rupw4WNNBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EIOusvUEGKupsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCrqbL1BA== + + - 2011-10-30 01:04:59 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CJvH9u+o6r34PxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EO6usvUEGJaqsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCWqrL1BA== + + - 2011-10-30 01:06:46 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CLmy3Kig9ZLtbRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EOqvsvUEGJKrsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCSq7L1BA== + + - 2011-10-30 01:08:50 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CMHTufKazojGShIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EMKwsvUEGOqrsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDqq7L1BA== + + - 2011-10-30 01:10:18 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CN30w9mX8/mgQBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ELOxsvUEGNussvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDbrLL1BA== + + - 2011-10-30 01:12:11 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + COyfjdKqnuXjIxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKOysvUEGMutsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDLrbL1BA== + + - 2011-10-30 01:14:03 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CILniMKzp+OpLhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ELWzsvUEGN2usvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDdrrL1BA== + + - 2011-10-30 01:16:29 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CNee8on82/2oYRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJS0svUEGLyvsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC8r7L1BA== + + - 2011-10-30 01:18:04 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CKXWm/3F1pO3HBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJ21svUEGMWwsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDFsLL1BA== + + - 2011-10-30 01:20:21 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CO/pvpGIp62bBBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ELO2svUEGNuxsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDbsbL1BA== + + - 2011-10-30 01:22:52 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + COjh0r7CvPX+SRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKe3svUEGM+ysvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDPsrL1BA== + + - 2011-10-30 01:24:47 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + COvzjJrnk9ubEhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKG4svUEGMmzsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDJs7L1BA== + + - 2011-10-30 01:26:49 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CI2ygZH5ptGDGhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPW4svUEGJ20svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCdtLL1BA== + + - 2011-10-30 01:28:13 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CL3l5o7LgpTrCxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPm5svUEGKG1svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkChtbL1BA== + + - 2011-10-30 01:30:25 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CJvly9bGytPuWhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPW6svUEGJ22svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCdtrL1BA== + + - 2011-10-30 01:32:29 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CP7qw92Qqp+DXBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ENG7svUEGPm2svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkD5trL1BA== + + - 2011-10-30 01:34:01 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CP792a+2nu+CRhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EOC8svUEGIi4svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCIuLL1BA== + + - 2011-10-30 01:36:24 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CK+A/rSb9Y70JxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ENG9svUEGPm4svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkD5uLL1BA== + + - 2011-10-30 01:38:17 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CKLj19unkcHDXBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ENK+svUEGPq5svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkD6ubL1BA== + + - 2011-10-30 01:40:26 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CLiAl/y9zaPsNRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EOK/svUEGIq7svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCKu7L1BA== + + - 2011-10-30 01:42:50 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CMLH3JuKhI+hAhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ENnAsvUEGIG8svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCBvLL1BA== + + - 2011-10-30 01:44:49 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CNzj3NrtpKm0KBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKTBsvUEGMy8svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDMvLL1BA== + + - 2011-10-30 01:46:04 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CM2I8Ojuoqv5aRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJDEsvUEGLi/svUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC4v7L1BA== + + - 2011-10-30 01:52:08 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CI2+3qmcr6fwaBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJLFsvUEGLrAsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC6wLL1BA== + + - 2011-10-30 01:54:18 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CLjG4eGfsa26IRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKLGsvUEGMrBsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDKwbL1BA== + + - 2011-10-30 01:56:42 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CLeKg+G84vfIShIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPjGsvUEGKDCsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCgwrL1BA== + + - 2011-10-30 01:58:08 +01:00 + - "::ffff:89.16.188.31" +- - !binary | + CMfz56zZ3L26PRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EOrHsvUEGJLDsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCSw7L1BA== + + - 2011-10-30 01:00:02 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CPDv2/GpnNSQFhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPXIsvUEGJ3EsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCdxLL1BA== + + - 2011-10-30 01:02:21 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CJXtqJ6zpd3GUxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPnJsvUEGKHFsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkChxbL1BA== + + - 2011-10-30 01:04:33 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CJrLnOHgquzIMRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EOTKsvUEGIzGsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCMxrL1BA== + + - 2011-10-30 01:06:20 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CLXhxeWlj+fNRBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPbLsvUEGJ7HsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCex7L1BA== + + - 2011-10-30 01:08:46 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + COS+o/ujhdrjcRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPTMsvUEGJzIsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCcyLL1BA== + + - 2011-10-30 01:10:52 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CNGJq4LxscK8fBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EMPNsvUEGOvIsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDryLL1BA== + + - 2011-10-30 01:12:11 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CLqiv/XDo6C4dxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EOvOsvUEGJPKsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCTyrL1BA== + + - 2011-10-30 01:14:59 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CN2d/pWcq/TfXBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EM3PsvUEGPXKsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkD1yrL1BA== + + - 2011-10-30 01:16:37 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CK+mirHyut+/UxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKrQsvUEGNLLsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDSy7L1BA== + + - 2011-10-30 01:18:10 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CIG01qO1y7ftcxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EMfRsvUEGO/MsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDvzLL1BA== + + - 2011-10-30 01:20:47 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CIXM/JvGtoX+LxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJ7SsvUEGMbNsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDGzbL1BA== + + - 2011-10-30 01:22:14 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CKGM366BkdrbBhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKfTsvUEGM/OsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDPzrL1BA== + + - 2011-10-30 01:24:31 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CJeegJD1pYztYhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ELvUsvUEGOPPsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDjz7L1BA== + + - 2011-10-30 01:26:59 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CLjZwZa86+r0MBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EI/VsvUEGLfQsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC30LL1BA== + + - 2011-10-30 01:28:23 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CLuZn/+xhP/4RBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EJfWsvUEGL/RsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC/0bL1BA== + + - 2011-10-30 01:30:39 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CNGbh6GuysWTJhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EI7XsvUEGLbSsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkC20rL1BA== + + - 2011-10-30 01:32:38 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + COPvpcTwvvSzMhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPnXsvUEGKHTsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCh07L1BA== + + - 2011-10-30 01:34:25 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CMuqyePzsbbaNRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EITZsvUEGKzUsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCs1LL1BA== + + - 2011-10-30 01:36:44 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CKP26o/7g/rpAhIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ENfZsvUEGP/UsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkD/1LL1BA== + + - 2011-10-30 01:38:07 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CPiQrJqp7ODFbRIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EPDasvUEGJjWsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCY1rL1BA== + + - 2011-10-30 01:40:40 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CNjqj8qT143lORIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EO7bsvUEGJbXsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkCW17L1BA== + + - 2011-10-30 01:42:46 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CJ7w08TBiajLcBIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0ELncsvUEGOHXsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDh17L1BA== + + - 2011-10-30 01:44:01 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + COj72fL3mKrMaxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EMjdsvUEGPDYsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDw2LL1BA== + + - 2011-10-30 01:46:24 +00:00 + - "::ffff:89.16.188.31" +- - !binary | + CJHPq+fw5fvJQxIXbnV0aGF0Y2guYnl0ZW1hcmsuY28udWsYACK9AQoJaGVh + cnRiZWF0EKresvUEGNLZsvUEKixoZWFydGJlYXQgZmFpbGVkIGZvciBudXRo + YXRjaC5ieXRlbWFyay5jby51azJ2PHA+VGhlIGhlYXJ0YmVhdCB3YXNuJ3Qg + c2VudCBmb3IgdGhlIGhvc3QgbnV0aGF0Y2guYnl0ZW1hcmsuY28udWs8L3A+ + PHA+VGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgaG9zdCBtaWdodCBiZSBkb3du + PC9wPkDS2bL1BA== + + - 2011-10-30 01:48:02 +00:00 + - "::ffff:89.16.188.31" diff --git a/test/tc_mauve_alert.rb b/test/tc_mauve_alert.rb index a9aef5f..2b8af6f 100644 --- a/test/tc_mauve_alert.rb +++ b/test/tc_mauve_alert.rb @@ -272,4 +272,25 @@ EOF # end + def test_heartbeats_during_clock_change + + updates = YAML.load_file(File.join(File.dirname(__FILE__),"bst_to_gmt.yaml")) + + Timecop.freeze(updates.first[1]-20.minutes) + Configuration.current = ConfigurationBuilder.parse(@test_config) + Server.instance.setup + assert_equal(Time.now, Server.instance.started_at) + + updates.each do |update, received_at, source_ip| + Timecop.freeze(received_at) + Alert.receive_update(update, received_at, source_ip) + alert = Alert.first + assert(alert.cleared?) + alert.poll + assert(alert.cleared?) + assert(0, Server.instance.notification_buffer.length) + end + + end + end |