]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
committed patch from HÃ¥kan Olsson
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Wed, 7 Sep 2005 15:02:15 +0000 (15:02 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Wed, 7 Sep 2005 15:02:15 +0000 (15:02 +0000)
dnssec.c
host2wire.c
ldns/dns.h
net.c

index 63f1df990541c0edfbaaabc2d0b70a4a0ff7bfdd..5827d1affd36fb34bf153ce4150d12d42f9055c7 100644 (file)
--- a/dnssec.c
+++ b/dnssec.c
@@ -24,6 +24,7 @@
 #include <openssl/bio.h>
 #include <openssl/evp.h>
 #include <openssl/hmac.h>
+#include <openssl/md5.h>
 
 uint16_t
 ldns_calc_keytag(ldns_rr *key)
index 86959dcade1364bf92d0c5b4d99e7751e0e26544..4fa87f18d23101825df6299d0a94c860615e0ae2 100644 (file)
@@ -162,7 +162,7 @@ ldns_hdr2buffer_wire(ldns_buffer *buffer, const ldns_pkt *packet)
                ldns_buffer_write_u16(buffer, ldns_pkt_id(packet));
                
                flags = ldns_pkt_qr(packet) << 7
-                       | ldns_pkt_get_opcode(packet) << 6
+                       | ldns_pkt_get_opcode(packet) << 3
                        | ldns_pkt_aa(packet) << 2
                        | ldns_pkt_tc(packet) << 1
                        | ldns_pkt_rd(packet);
index c257d3dcc547ab1f1005bda99ed37ccffeddec12..b2f2b021140cef4e0296f0b6ace0ff589331c081 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef _LDNS_DNS_H_
 #define _LDNS_DNS_H_
 
+#include <stdio.h>
+
 #include <ldns/util.h>
 #include <ldns/buffer.h>
 #include <ldns/common.h>
diff --git a/net.c b/net.c
index 0b140ff06668d4dc26e09fe1bbcf442685fe2994..dda056721e9f32de87b1e60ea61bac86fbab865c 100644 (file)
--- a/net.c
+++ b/net.c
@@ -325,6 +325,7 @@ ldns_udp_read_wire(int sockfd, size_t *size, struct sockaddr_storage *from,
 {
        uint8_t *wire;
        ssize_t wire_size;
+       socklen_t flen;
 
        wire = LDNS_XMALLOC(uint8_t, LDNS_MAX_PACKETLEN);
        if (!wire) {
@@ -333,7 +334,14 @@ ldns_udp_read_wire(int sockfd, size_t *size, struct sockaddr_storage *from,
        }
 
        wire_size = recvfrom(sockfd, wire, LDNS_MAX_PACKETLEN, 0, 
-                       (struct sockaddr*) from, fromlen);
+                       (struct sockaddr*) from, &flen);
+
+       if (from) {
+               if (fromlen) {
+                       *fromlen = flen;
+               }
+               printf("from len %d\n", (int)flen);
+       }
 
        if (wire_size == -1) {
                if (errno == EAGAIN) {