32 static const char dns_tx[] =
"suricata:dns:tx";
53 luaL_getmetatable(L, dns_tx);
54 lua_setmetatable(L, -2);
59 static int LuaDnsTxGetRrname(
lua_State *L)
67 return SCDnsLuaGetRrname(L, txptr);
78 return SCDnsLuaGetTxId(L, txptr);
89 return SCDnsLuaGetRcode(L, txptr);
92 static int LuaDnsTxGetRcodeString(
lua_State *L)
100 return SCDnsLuaGetRcodeString(L, txptr);
103 static int LuaDnsTxGetRecursionDesired(
lua_State *L)
113 uint16_t
flags = SCDnsTxGetRequestFlags(txptr);
114 int recursion_desired =
flags & 0x0100 ? 1 : 0;
115 lua_pushboolean(L, recursion_desired);
119 static int LuaDnsTxGetQueries(
lua_State *L)
127 return SCDnsLuaGetQueryTable(L, txptr);
130 static int LuaDnsTxGetAnswers(
lua_State *L)
138 return SCDnsLuaGetAnswerTable(L, txptr);
141 static int LuaDnsTxGetAuthorities(
lua_State *L)
149 return SCDnsLuaGetAuthorityTable(L, txptr);
152 static const struct luaL_Reg txlib[] = {
154 {
"answers", LuaDnsTxGetAnswers },
155 {
"authorities", LuaDnsTxGetAuthorities },
156 {
"queries", LuaDnsTxGetQueries },
157 {
"rcode", LuaDnsTxGetRcode },
158 {
"rcode_string", LuaDnsTxGetRcodeString },
159 {
"recursion_desired", LuaDnsTxGetRecursionDesired },
160 {
"rrname", LuaDnsTxGetRrname },
161 {
"txid", LuaDnsTxGetTxid },
166 static const struct luaL_Reg dnslib[] = {
168 {
"get_tx", LuaDnsGetTx },
175 luaL_newmetatable(L, dns_tx);
176 lua_pushvalue(L, -1);
177 lua_setfield(L, -2,
"__index");
178 luaL_setfuncs(L, txlib, 0);
180 luaL_newlib(L, dnslib);