LIBTOOL = $(libtool) --tag=CC --quiet
LINT = splint
LINTFLAGS = +quiet -weak -warnposix -unrecog -Din_addr_t=uint32_t -Du_int=unsigned -Du_char=uint8_t -preproc -Drlimit=rlimit64 -D__gnuc_va_list=va_list
-LINTFLAGS +="-DBN_ULONG=unsigned long" -Dkrb5_int32=int "-Dkrb5_ui_4=unsigned int" -DPQ_64BIT=uint64_t -DRC4_INT=unsigned -fixedformalarray -D"ENGINE=unsigned" -D"RSA=unsigned" -D"DSA=unsigned" -D"EVP_PKEY=unsigned" -D"EVP_MD=unsigned" -D"SSL=unsigned" -D"SSL_CTX=unsigned" -D"X509=unsigned" -D"RC4_KEY=unsigned" -D"EVP_MD_CTX=unsigned" -D"EC_KEY=unsigned" -D"EC_POINT=unsigned" -D"EC_GROUP=unsigned" -D"EVP_PKEY_ASN1_METHOD=struct evp_pkey_asn1_method_st" -D"EVP_PKEY_CTX=struct evp_pkey_ctx_st"
+# Extra flags from configure
+LINTFLAGS += @LINTFLAGS@
+LINTFLAGS += "-DBN_ULONG=unsigned long" -Dkrb5_int32=int "-Dkrb5_ui_4=unsigned int" -DPQ_64BIT=uint64_t -DRC4_INT=unsigned -fixedformalarray -D"ENGINE=unsigned" -D"RSA=unsigned" -D"DSA=unsigned" -D"EVP_PKEY=unsigned" -D"EVP_MD=unsigned" -D"SSL=unsigned" -D"SSL_CTX=unsigned" -D"X509=unsigned" -D"RC4_KEY=unsigned" -D"EVP_MD_CTX=unsigned" -D"EC_KEY=unsigned" -D"EC_POINT=unsigned" -D"EC_GROUP=unsigned" -D"EVP_PKEY_ASN1_METHOD=struct evp_pkey_asn1_method_st" -D"EVP_PKEY_CTX=struct evp_pkey_ctx_st"
# compat with OpenBSD
-LINTFLAGS +="-Dsigset_t=long"
+LINTFLAGS += "-Dsigset_t=long"
# FreeBSD8
-LINTFLAGS +="-D__uint16_t=uint16_t"
-LINTFLAGS +=@LINTFLAGS@
+LINTFLAGS += "-D__uint16_t=uint16_t"
+# Ubuntu oneiric"
+LINTFLAGS += -D"__BEGIN_DECLS=" -D"__ssize_t=ssize_t" -D"__intptr_t=intptr_t" -D"__nonnull(x)=" -D"__THROW=" -D"__wur=" -D"__off_t=unsigned" -D"__off64_t=unsigned" -D"__useconds_t=unsigned" -D"__uid_t=unsigned" -D"__gid_t=unsigned" -D"__attribute_deprecated__=" -D"__pid_t=unsigned" -D"__restrict=" -D"__END_DECLS=" -D"__BEGIN_NAMESPACE_STD=" -D"__END_NAMESPACE_STD=" -D"__BEGIN_NAMESPACE_C99=" -D"__END_NAMESPACE_C99=" -D"__socklen_t=unsigned" -D"sa_family_t=unsigned " -D"__mode_t=unsigned" -D"u_int16_t=uint16_t" -D"u_int32_t=uint32_t" -D"u_int8_t=uint8_t" -D"u_short=unsigned short" -D"__u16=uint16_t" -D"__u32=uint32_t"
+-D"__u64=uint64_t"
DEPFLAG = @DEPFLAG@
INSTALL = $(srcdir)/install-sh
putdown-builddir:
rm -f include/ldns lib config.h
test ! -d include || rmdir include || :
- test ! -d examples || rmdir examples || :
- test ! -d drill || rmdir drill || :
- test ! -d compat || rmdir compat || :
+ if test -d examples -a ! -f examples/README; then rmdir examples || : ; fi
+ if test -d drill -a ! -f drill/README ; then rmdir drill || : ; fi
+ if test -d compat -a ! -f compat/malloc.c; then rmdir compat || : ; fi
drill: drill/drill
drill/drill: $(DRILL_LOBJS) $(LIB)
rm -f ldns/net.h
rm -f packaging/ldns-config
rm -f packaging/libldns.pc
- test ! -d packaging || rmdir packaging || :
+ if test -d packaging -a ! -f packaging/ldns-config.in ; then \
+ rmdir packaging || : ; fi
rm -f libtool
if test -d ldns ; then \
echo "is builddir srcdir" > ldns/YES ; \
## No need for changes here
-lint:
+lint: @LINT_DRILL@ @LINT_EXAMPLES@
for i in $(srcdir)/*.c; do \
$(LINT) $(LINTFLAGS) -I. -I$(srcdir) $(srcdir)/$$i ; \
if test $$? -ne 0 ; then exit 1 ; fi ; \
done
+lint-drill:
+ for i in $(srcdir)/drill/*.c; do \
+ $(LINT) $(LINTFLAGS) -I. -I$(srcdir) $(srcdir)/$$i ; \
+ if test $$? -ne 0 ; then exit 1 ; fi ; \
+ done
+
+lint-examples:
+ for i in $(srcdir)/examples/*.c; do \
+ $(LINT) $(LINTFLAGS) -I. -I$(srcdir) $(srcdir)/$$i ; \
+ if test $$? -ne 0 ; then exit 1 ; fi ; \
+ done
+
tags: $(srcdir)/*.c ldns/*.[ch]
ctags -f $(srcdir)/tags $(srcdir)/*.[ch] ldns/*.[ch]
AC_SUBST(INSTALL_DRILL,[install-drill])
AC_SUBST(UNINSTALL_DRILL,[uninstall-drill])
AC_SUBST(CLEAN_DRILL,[clean-drill])
+ AC_SUBST(LINT_DRILL,[lint-drill])
else
AC_SUBST(DRILL,[""])
AC_SUBST(INSTALL_DRILL,[""])
AC_SUBST(UNINSTALL_DRILL,[""])
AC_SUBST(CLEAN_DRILL,[""])
+ AC_SUBST(LINT_DRILL,[""])
fi
AC_SUBST(INSTALL_EXAMPLES,[install-examples])
AC_SUBST(UNINSTALL_EXAMPLES,[uninstall-examples])
AC_SUBST(CLEAN_EXAMPLES,[clean-examples])
+ AC_SUBST(LINT_EXAMPLES,[lint-examples])
else
AC_SUBST(EXAMPLES,[""])
AC_SUBST(INSTALL_EXAMPLES,[""])
AC_SUBST(UNINSTALL_EXAMPLES,[""])
AC_SUBST(CLEAN_EXAMPLES,[""])
+ AC_SUBST(LINT_EXAMPLES,[""])
fi
# add option to disable installation of ldns-config script
if test "x$enable_ldns_config" = xyes; then
AC_SUBST(INSTALL_CONFIG, [install-config])
AC_SUBST(INSTALL_CONFIG_MANPAGE, [install-config-manpage])
- AC_SUBST(UNINSTALL_CONFIG, [install-config])
- AC_SUBST(UNINSTALL_CONFIG_MANPAGE, [install-config-manpage])
+ AC_SUBST(UNINSTALL_CONFIG, [uninstall-config])
+ AC_SUBST(UNINSTALL_CONFIG_MANPAGE, [uninstall-config-manpage])
else
AC_SUBST(INSTALL_CONFIG, [""])
AC_SUBST(INSTALL_CONFIG_MANPAGE, [""])
{
int timeout_retry = 5; /* seconds */
int num_retry = max_num_retry;
+#ifndef S_SPLINT_S
fd_set rfds;
+#endif
struct timeval tv;
int retval = 0;
ssize_t received = 0;
}
/* wait for ACK packet */
+#ifndef S_SPLINT_S
FD_ZERO(&rfds);
FD_SET(s, &rfds);
-#ifndef S_SPLINT_S
tv.tv_sec = timeout_retry; /* seconds */
#endif
tv.tv_usec = 0; /* microseconds */
} else {
#endif
*len = (socklen_t)sizeof(struct sockaddr_in);
+#ifndef S_SPLINT_S
((struct sockaddr_in*)addr)->sin_family = AF_INET;
+#endif
((struct sockaddr_in*)addr)->sin_port = htons((uint16_t)p);
if(inet_pton(AF_INET, str,
&((struct sockaddr_in*)addr)->sin_addr) == 1)
}
#endif
+#ifndef S_SPLINT_S
addr.sin_family = AF_INET;
+#endif
addr.sin_port = (in_port_t)htons((uint16_t)port);
addr.sin_addr.s_addr = INADDR_ANY;
return bind(sock, (struct sockaddr *)&addr, (socklen_t) sizeof(addr));
static void
service(void)
{
+#ifndef S_SPLINT_S
fd_set rset, wset, eset;
+#endif
struct timeval timeout;
int count;
int maxfd;
#endif /* USE_WINSOCK */
#else /* HAVE_FORK */
pid_t pid = fork();
- if(pid == -1) {
+ if(pid == (pid_t) -1) {
log_msg("error forking: %s\n", strerror(errno));
return;
}
}
}
+#ifndef S_SPLINT_S
addr.sin_family = AF_INET;
+#endif
addr.sin_port = (in_port_t) htons((uint16_t)port);
addr.sin_addr.s_addr = maddr;
return bind(sock, (struct sockaddr *)&addr, (socklen_t) sizeof(addr));
ns = ldns_rdf2native_sockaddr_storage(ns_array[i],
ldns_resolver_port(r), &ns_len);
+
+#ifndef S_SPLINT_S
if ((ns->ss_family == AF_INET) &&
(ldns_resolver_ip6(r) == LDNS_RESOLV_INET6)) {
/* not reachable */
/* not reachable */
continue;
}
+#endif
all_servers_rtt_inf = false;
static int
ldns_sock_wait(int sockfd, struct timeval timeout, int write)
{
- fd_set fds;
int ret;
#ifndef S_SPLINT_S
+ fd_set fds;
FD_ZERO(&fds);
FD_SET(FD_SET_T sockfd, &fds);
-#endif
if(write)
ret = select(sockfd+1, NULL, &fds, NULL, &timeout);
else
ret = select(sockfd+1, &fds, NULL, NULL, &timeout);
+#endif
if(ret == 0)
/* timeout expired */
return 0;
{
int sockfd;
+#ifndef S_SPLINT_S
if ((sockfd = socket((int)((struct sockaddr*)to)->sa_family, SOCK_DGRAM,
IPPROTO_UDP))
== -1) {
return 0;
}
+#endif
return sockfd;
}
{
int sockfd;
+#ifndef S_SPLINT_S
if ((sockfd = socket((int)((struct sockaddr*)to)->sa_family, SOCK_STREAM,
IPPROTO_TCP)) == -1) {
return 0;
}
+#endif
/* perform nonblocking connect, to be able to wait with select() */
ldns_sock_nonblock(sockfd);
switch(ldns_rdf_get_type(rd)) {
case LDNS_RDF_TYPE_A:
+#ifndef S_SPLINT_S
data->ss_family = AF_INET;
+#endif
data_in = (struct sockaddr_in*) data;
data_in->sin_port = (in_port_t)htons(port);
memcpy(&(data_in->sin_addr), ldns_rdf_data(rd), ldns_rdf_size(rd));
*size = sizeof(struct sockaddr_in);
return data;
case LDNS_RDF_TYPE_AAAA:
+#ifndef S_SPLINT_S
data->ss_family = AF_INET6;
+#endif
data_in6 = (struct sockaddr_in6*) data;
data_in6->sin6_port = (in_port_t)htons(port);
memcpy(&data_in6->sin6_addr, ldns_rdf_data(rd), ldns_rdf_size(rd));
}
}
+#ifndef S_SPLINT_S
ldns_rdf *
ldns_sockaddr_storage2rdf(struct sockaddr_storage *sock, uint16_t *port)
{
}
return addr;
}
+#endif
/* code from resolver.c */
ldns_status