[Groonga-commit] droonga/fluent-plugin-droonga at 24907ea [master] Validate request by Watcher instead of HandlerWatch.

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index