]> granicus.if.org Git - pdns/commitdiff
Added enum namespace to lua-pdns to prevent magic number usage when referring to...
authorZack Allen <zack@riskive.com>
Mon, 30 Dec 2013 17:09:06 +0000 (12:09 -0500)
committerZack Allen <zack@riskive.com>
Mon, 6 Jan 2014 16:42:17 +0000 (11:42 -0500)
pdns/lua-pdns.cc
pdns/lua-pdns.hh
pdns/lua-recursor.hh
pdns/pdns_recursor.cc

index 9ea66fe0fa4e6b5341e5f109fc3de57e5c45d90f..1935730e2a71349ecc9869391386d759739ab229 100644 (file)
@@ -299,9 +299,9 @@ PowerDNSLua::PowerDNSLua(const std::string& fname)
   // set syslog codes used by Logger/enum Urgency
   pushSyslogSecurityLevelTable(d_lua);
   lua_setfield(d_lua, -2, "loglevels");
-  lua_pushnumber(d_lua, -1);
+  lua_pushnumber(d_lua, RecursorBehavior::PASS);
   lua_setfield(d_lua, -2, "PASS");
-  lua_pushnumber(d_lua, -2);
+  lua_pushnumber(d_lua, RecursorBehavior::DROP);
   lua_setfield(d_lua, -2, "DROP");
 
   lua_setglobal(d_lua, "pdns");
index de9bdbfb1cb8df465eca44912ab51932d31ba386..14a3e0539c53bb28e022bf8994c4861436fe43f7 100644 (file)
@@ -30,7 +30,8 @@ protected: // FIXME?
   bool d_variable;  
   ComboAddress d_local;
 };
-
+// this enum creates constants to track the pdns_recursor behavior when returned from the Lua call 
+namespace RecursorBehavior { enum returnTypes{PASS=-1,DROP=-2}; };
 void pushResourceRecordsTable(lua_State* lua, const vector<DNSResourceRecord>& records);
 void popResourceRecordsTable(lua_State *lua, const string &query, vector<DNSResourceRecord>& ret);
 void pushSyslogSecurityLevelTable(lua_State *lua);
index 62eaead2aa75c62ed848594c7b0d5a3a1829968a..1dd885107b1a58afc59b5ea9e1240d8304a3099f 100644 (file)
@@ -13,9 +13,7 @@ public:
   bool nxdomain(const ComboAddress& remote, const ComboAddress& local, const string& query, const QType& qtype, vector<DNSResourceRecord>& res, int& ret, bool* variable);
   bool nodata(const ComboAddress& remote, const ComboAddress& local, const string& query, const QType& qtype, vector<DNSResourceRecord>& res, int& ret, bool* variable);
   bool postresolve(const ComboAddress& remote, const ComboAddress& local, const string& query, const QType& qtype, vector<DNSResourceRecord>& res, int& ret, bool* variable);
-
 private:
   bool passthrough(const string& func, const ComboAddress& remote,const ComboAddress& local, const string& query, const QType& qtype, vector<DNSResourceRecord>& ret, int& res, bool* variable);
 };
-
 #endif
index aae499d571297c650830f702e1545b7467485c46..31c3cb90f42da0ed325aab3ada2c5a7aa6926dfd 100644 (file)
@@ -563,12 +563,12 @@ void startDoResolve(void *p)
       }
     }
     
-    if(res == -2) {
+    if(res == RecursorBehavior::DROP) {
       delete dc;
       dc=0;
       return;
     }  
-    if(tracedQuery || res < 0 || res == RCode::ServFail || pw.getHeader()->rcode == RCode::ServFail)
+    if(tracedQuery || res == RecursorBehavior::PASS || res == RCode::ServFail || pw.getHeader()->rcode == RCode::ServFail)
     {
       string trace(sr.getTrace());
       if(!trace.empty()) {
@@ -581,7 +581,7 @@ void startDoResolve(void *p)
       }
     }
 
-    if(res < 0) {
+    if(res == RecursorBehavior::PASS) {
       pw.getHeader()->rcode=RCode::ServFail;
       // no commit here, because no record
       g_stats.servFails++;