From: Miek Gieben Date: Tue, 9 Aug 2005 12:00:49 +0000 (+0000) Subject: implement insert_rr. Also found subtle bug in rr_list pop (of by 1) X-Git-Tag: release-1.0.0~343 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd638a2d8db69843174ed59043f1eda4cc817ffc;p=thirdparty%2Fldns.git implement insert_rr. Also found subtle bug in rr_list pop (of by 1) --- diff --git a/lua/lua-rns.c b/lua/lua-rns.c index 0deaadc4..74536280 100644 --- a/lua/lua-rns.c +++ b/lua/lua-rns.c @@ -116,6 +116,21 @@ l_pkt_push_rr(lua_State *L) return 1; } +static int +l_pkt_insert_rr(lua_State *L) +{ + ldns_pkt *p = (ldns_pkt*)lua_touserdata(L, 1); + ldns_rr *rr = (ldns_rr*)lua_touserdata(L, 2); + unsigned int n = lua_tonumber(L, 3); + + if(ldns_pkt_insert_rr(p, rr, n)) { + lua_pushlightuserdata(L, p); + return 1; + } else { + return 0; + } +} + static int l_pkt_get_rr(lua_State *L) { @@ -187,8 +202,6 @@ l_pkt2string(lua_State *L) ldns_buffer_free(b); return 0; } - printf("how is this comming along %d\n", ldns_buffer_capacity(b)); - /* this is a memcpy??? */ luaL_addlstring(&lua_b, ldns_buffer_begin(b), @@ -246,6 +259,7 @@ register_ldns_functions(void) lua_register(L, "l_pkt_get_rr", l_pkt_get_rr); lua_register(L, "l_pkt_set_rr", l_pkt_set_rr); lua_register(L, "l_pkt_rr_count", l_pkt_rr_count); + lua_register(L, "l_pkt_insert_rr", l_pkt_insert_rr); /* CONVERSIONs */ lua_register(L, "l_pkt2string", l_pkt2string); } diff --git a/lua/rns.lua b/lua/rns.lua index ae57570f..e78ab760 100644 --- a/lua/rns.lua +++ b/lua/rns.lua @@ -5,6 +5,7 @@ rr1 = l_rr_new_frm_str("www.miek.nl IN A 192.168.1.2") rr2 = l_rr_new_frm_str("miek.nl IN ns gaap") rr3 = l_rr_new_frm_str("miek.nl IN ns gaap2") rr4 = l_rr_new_frm_str("www.atoom.net. IN A 192.168.1.2") +rr5 = l_rr_new_frm_str("www.nlnetlabs.nl IN A 192.168.1.2") pkt = l_pkt_new() pkt = l_pkt_push_rr(pkt, LDNS_SECTION_ANSWER, rr1) @@ -18,19 +19,23 @@ lua_reverse_pkt(pkt) l_pkt_print(pkt) +print("INSERT") +l_pkt_insert_rr(pkt, rr5, 2); +l_pkt_print(pkt) +-- + + -- now do it at random lua_transpose_rr_random(pkt) -- print again l_pkt_print(pkt) +-- spkt = l_pkt2string(pkt) -print("Hallo en nu dan") - -spkt = l_pkt2string(pkt) - -len = string.len(spkt) +-- len = string.len(spkt) -print(len) +-- print(len) -print(spkt) +-- print(spkt) +-- print (string.byte(spkt,160))