From: Miek Gieben Date: Thu, 25 Aug 2005 13:42:22 +0000 (+0000) Subject: This all seems to work just fine X-Git-Tag: release-1.0.0~233 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=49a9494fc97ee49f12effe437aa322ed4294d4eb;p=thirdparty%2Fldns.git This all seems to work just fine --- diff --git a/lua/echo.lua b/lua/echo.lua index 31da7f11..db128f17 100644 --- a/lua/echo.lua +++ b/lua/echo.lua @@ -3,7 +3,10 @@ dofile("rns-lib.lua") -- echo whatever is received -pkt = packet.new() +-- this function specifies the mutalation to the packet +function lua_packet_mangle(orig_packet) + return(packet.to_buf(orig_packet)) +end rdf_ip = rdf.new_frm_str(LDNS_RDF_TYPE_A, "127.0.0.1") socket = udp.server_open(rdf_ip, 5353) @@ -36,31 +39,19 @@ while true do nameserver_bytes = udp.write(socket_nameserver, wirebuf2, rdf_ip_nameserver, 53) if nameserver_bytes == nil then lua_debug("ns write error") - else - lua_debug("wrote %d bytes", nameserver_bytes) end nameserver_buf, sockaddr_from_nameserver = udp.read(socket_nameserver) udp.close(socket_nameserver) nameserver_pkt = buffer.to_pkt(nameserver_buf) - lua_debug("received from the nameserver") packet.print(nameserver_pkt) - - -- write back to the client - -- This is fishy, why the new buf?? - nsbuf2 = packet.to_buf(nameserver_pkt) - - print("nsbuf2") - buffer.info(nsbuf2) - print("nameserver_buf") - buffer.info(nameserver_buf) - + + -- make a new buf and write that back to the client + nsbuf2 = lua_packet_mangle(nameserver_pkt) bytes = lua_udp_write(socket, nsbuf2, sockaddr_from) --this works - --bytes = lua_udp_write(socket, nameserver_buf, sockaddr_from) ----this not - --but is the above legal?? -- - if bytes == nil then + if bytes == nil then lua_debug("write error") end diff --git a/lua/lua-rns.c b/lua/lua-rns.c index 006b3a44..602040f7 100644 --- a/lua/lua-rns.c +++ b/lua/lua-rns.c @@ -205,6 +205,7 @@ l_pkt_insert_rr(lua_State *L) } if(ldns_pkt_insert_rr(p, rr, n)) { + printf("dit gaat nog goed\n"); lua_pushlightuserdata(L, p); return 1; } else { diff --git a/lua/rns-lib.lua b/lua/rns-lib.lua index 6f5de2e4..841dad55 100644 --- a/lua/rns-lib.lua +++ b/lua/rns-lib.lua @@ -6,8 +6,6 @@ LDNS_SECTION_ADDITIONAL = 3 LDNS_SECTION_ANY = 4 LDNS_SECTION_ANY_NOQUESTION = 5 --- BETTER FUNCTION NAMES - -- rdf types LDNS_RDF_TYPE_NONE = 0 LDNS_RDF_TYPE_DNAME = 1 @@ -61,7 +59,8 @@ end -- substitute, add, remove function lua_record_insert(pkt, r, n) print("[info] [RR] insert after", n) - packet.insert_record(pkt, r, n) + pkt = packet.insert_rr(pkt, r, n) + record.print(pkt) end -- add an rr to the end of a pkt -- @@ -69,7 +68,7 @@ end function lua_record_insert_E(pkt, r) local n = packet.rrcount(pkt) - 1 print(n) - lua_insert_record(pkt, r, n) + lua_insert_rr(pkt, r, n) end -- remove an rr from the end of a pkt --