]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
This all seems to work just fine
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 25 Aug 2005 13:42:22 +0000 (13:42 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 25 Aug 2005 13:42:22 +0000 (13:42 +0000)
lua/echo.lua
lua/lua-rns.c
lua/rns-lib.lua

index 31da7f11f37afb45196538b28320113ebe6d6f7c..db128f178533fa0d9fa97d87520cb1fdea153998 100644 (file)
@@ -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
 
index 006b3a442006c22c4dc4fbad305e434869524965..602040f7e6dddcd193dace41ed3d0d7d7010eae3 100644 (file)
@@ -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 {
index 6f5de2e4af7edd9e85be28d318986ce2390d790b..841dad55d4ae9764c2003b673f0b9e5a218b4d1a 100644 (file)
@@ -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 --