YUKI Hiroshi
null+****@clear*****
Thu Oct 31 16:40:24 JST 2013
YUKI Hiroshi 2013-10-31 16:40:24 +0900 (Thu, 31 Oct 2013) New Revision: 24907ea427efec1f969d5a62a8e06218aace7513 https://github.com/droonga/fluent-plugin-droonga/commit/24907ea427efec1f969d5a62a8e06218aace7513 Message: Validate request by Watcher instead of HandlerWatch. Because unsubscribe should accept request without query (and condition). Modified files: lib/droonga/plugin/handler_watch.rb lib/droonga/watcher.rb Modified: lib/droonga/plugin/handler_watch.rb (+1 -2) =================================================================== --- lib/droonga/plugin/handler_watch.rb 2013-10-31 16:34:23 +0900 (6d93db9) +++ lib/droonga/plugin/handler_watch.rb 2013-10-31 16:40:24 +0900 (bbb6a2e) @@ -66,8 +66,7 @@ module Droonga subscriber = request["subscriber"] condition = request["condition"] route = request["route"] || envelope["from"] - raise "invalid request" if subscriber.nil? || subscriber.empty? || condition.nil? - query = condition.to_json + query = condition && condition.to_json [subscriber, condition, query, route] end end Modified: lib/droonga/watcher.rb (+8 -1) =================================================================== --- lib/droonga/watcher.rb 2013-10-31 16:34:23 +0900 (4288837) +++ lib/droonga/watcher.rb 2013-10-31 16:40:24 +0900 (fc1c6b1) @@ -33,6 +33,9 @@ module Droonga query = request[:query] route = request[:route] + if subscriber.nil? || subscriber.empty? || condition.nil? || query.nil? + raise "invalid request" + end raise "too long query" if query.size > 4095 query_record = @query_table[query] @@ -60,10 +63,14 @@ module Droonga subscriber = request[:subscriber] query = request[:query] + if subscriber.nil? || subscriber.empty? + raise "invalid request" + end + subscriber_record = @subscriber_table[subscriber] return unless subscriber_record - if query.nil? + if query.nil? || query.empty? delete_subscriber(subscriber_record) else query_record = @query_table[query] -------------- next part -------------- HTML����������������������������...Download