Merging upstream version 1.3.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
3923563047
commit
3180152c48
395 changed files with 7370 additions and 5866 deletions
22
CHANGES
22
CHANGES
|
@ -1,3 +1,25 @@
|
||||||
|
2023-12-07 Jerry Lundström
|
||||||
|
|
||||||
|
Release 1.3.0
|
||||||
|
|
||||||
|
This release adds `core.object.dns:reset()` to reset DNS objects so they
|
||||||
|
can be reused correctly.
|
||||||
|
|
||||||
|
Example scripts have been updated to reflect this along with correctly
|
||||||
|
setting `includes_dnslen` for TCP packets.
|
||||||
|
|
||||||
|
New example converter `pcap2tcpdns` added that can be used to create bin
|
||||||
|
files for replaying with `dnsperf -B`.
|
||||||
|
|
||||||
|
f0d0b39 pkg-config
|
||||||
|
464a198 pcap2tcpdns
|
||||||
|
b40ad6d example convertor from PCAP to TCP DNS format used by dnsperf -B option
|
||||||
|
ac51bfd pkg-config
|
||||||
|
198bae9 Copyright
|
||||||
|
5a87e37 DNS reset, dnslen TCP
|
||||||
|
f2d6b05 Doc
|
||||||
|
265a577 COPR fix
|
||||||
|
|
||||||
2022-03-21 Jerry Lundström
|
2022-03-21 Jerry Lundström
|
||||||
|
|
||||||
Release 1.2.3
|
Release 1.2.3
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
|
56
Makefile.in
56
Makefile.in
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
@ -212,12 +212,9 @@ am__define_uniq_tagged_files = \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | $(am__uniquify_input)`
|
done | $(am__uniquify_input)`
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
CSCOPE = cscope
|
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
am__DIST_COMMON = $(srcdir)/Makefile.in ar-lib compile config.guess \
|
am__DIST_COMMON = $(srcdir)/Makefile.in README.md ar-lib compile \
|
||||||
config.sub install-sh ltmain.sh missing
|
config.guess config.sub install-sh ltmain.sh missing
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
distdir = $(PACKAGE)-$(VERSION)
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
top_distdir = $(distdir)
|
top_distdir = $(distdir)
|
||||||
|
@ -256,6 +253,8 @@ am__relativize = \
|
||||||
DIST_ARCHIVES = $(distdir).tar.gz
|
DIST_ARCHIVES = $(distdir).tar.gz
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
DIST_TARGETS = dist-gzip
|
DIST_TARGETS = dist-gzip
|
||||||
|
# Exists only to be overridden by the user if desired.
|
||||||
|
AM_DISTCHECK_DVI_TARGET = dvi
|
||||||
distuninstallcheck_listfiles = find . -type f -print
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||||
|
@ -274,6 +273,8 @@ CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CPUEXT_FLAGS = @CPUEXT_FLAGS@
|
CPUEXT_FLAGS = @CPUEXT_FLAGS@
|
||||||
|
CSCOPE = @CSCOPE@
|
||||||
|
CTAGS = @CTAGS@
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
@ -284,6 +285,7 @@ ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
@ -359,6 +361,8 @@ datarootdir = @datarootdir@
|
||||||
docdir = @docdir@
|
docdir = @docdir@
|
||||||
dvidir = @dvidir@
|
dvidir = @dvidir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
|
gnutls_CFLAGS = @gnutls_CFLAGS@
|
||||||
|
gnutls_LIBS = @gnutls_LIBS@
|
||||||
host = @host@
|
host = @host@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
|
@ -372,6 +376,8 @@ libdir = @libdir@
|
||||||
libexecdir = @libexecdir@
|
libexecdir = @libexecdir@
|
||||||
liblz4_CFLAGS = @liblz4_CFLAGS@
|
liblz4_CFLAGS = @liblz4_CFLAGS@
|
||||||
liblz4_LIBS = @liblz4_LIBS@
|
liblz4_LIBS = @liblz4_LIBS@
|
||||||
|
libpcap_CFLAGS = @libpcap_CFLAGS@
|
||||||
|
libpcap_LIBS = @libpcap_LIBS@
|
||||||
libzstd_CFLAGS = @libzstd_CFLAGS@
|
libzstd_CFLAGS = @libzstd_CFLAGS@
|
||||||
libzstd_LIBS = @libzstd_LIBS@
|
libzstd_LIBS = @libzstd_LIBS@
|
||||||
localedir = @localedir@
|
localedir = @localedir@
|
||||||
|
@ -575,7 +581,6 @@ cscopelist-am: $(am__tagged_files)
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||||
|
|
||||||
distdir: $(BUILT_SOURCES)
|
distdir: $(BUILT_SOURCES)
|
||||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
@ -659,6 +664,10 @@ dist-xz: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
|
dist-zstd: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
|
||||||
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-tarZ: distdir
|
dist-tarZ: distdir
|
||||||
@echo WARNING: "Support for distribution archives compressed with" \
|
@echo WARNING: "Support for distribution archives compressed with" \
|
||||||
"legacy program 'compress' is deprecated." >&2
|
"legacy program 'compress' is deprecated." >&2
|
||||||
|
@ -701,6 +710,8 @@ distcheck: dist
|
||||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||||
*.zip*) \
|
*.zip*) \
|
||||||
unzip $(distdir).zip ;;\
|
unzip $(distdir).zip ;;\
|
||||||
|
*.tar.zst*) \
|
||||||
|
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
|
||||||
esac
|
esac
|
||||||
chmod -R a-w $(distdir)
|
chmod -R a-w $(distdir)
|
||||||
chmod u+w $(distdir)
|
chmod u+w $(distdir)
|
||||||
|
@ -716,7 +727,7 @@ distcheck: dist
|
||||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
--srcdir=../.. --prefix="$$dc_install_base" \
|
--srcdir=../.. --prefix="$$dc_install_base" \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
&& $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
@ -886,18 +897,19 @@ uninstall-am: uninstall-dist_docDATA
|
||||||
am--refresh check check-am clean clean-cscope clean-generic \
|
am--refresh check check-am clean clean-cscope clean-generic \
|
||||||
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
||||||
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
|
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
|
||||||
dist-xz dist-zip distcheck distclean distclean-generic \
|
dist-xz dist-zip dist-zstd distcheck distclean \
|
||||||
distclean-libtool distclean-tags distcleancheck distdir \
|
distclean-generic distclean-libtool distclean-tags \
|
||||||
distuninstallcheck dvi dvi-am gcov-am gcov-local html html-am \
|
distcleancheck distdir distuninstallcheck dvi dvi-am gcov-am \
|
||||||
info info-am install install-am install-data install-data-am \
|
gcov-local html html-am info info-am install install-am \
|
||||||
install-dist_docDATA install-dvi install-dvi-am install-exec \
|
install-data install-data-am install-dist_docDATA install-dvi \
|
||||||
install-exec-am install-html install-html-am install-info \
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
install-info-am install-man install-pdf install-pdf-am \
|
install-html-am install-info install-info-am install-man \
|
||||||
install-ps install-ps-am install-strip installcheck \
|
install-pdf install-pdf-am install-ps install-ps-am \
|
||||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
install-strip installcheck installcheck-am installdirs \
|
||||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||||
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||||
uninstall-am uninstall-dist_docDATA
|
ps ps-am tags tags-am uninstall uninstall-am \
|
||||||
|
uninstall-dist_docDATA
|
||||||
|
|
||||||
.PRECIOUS: Makefile
|
.PRECIOUS: Makefile
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ Debian/Ubuntu: `apt-get install libluajit-5.1-dev libpcap-dev luajit liblmdb-dev
|
||||||
- Note: On Xenial you'll need to install `libzstd1-dev`
|
- Note: On Xenial you'll need to install `libzstd1-dev`
|
||||||
|
|
||||||
CentOS: `yum install luajit-devel libpcap-devel lmdb-devel ck-devel gnutls-devel lz4-devel libzstd-devel`
|
CentOS: `yum install luajit-devel libpcap-devel lmdb-devel ck-devel gnutls-devel lz4-devel libzstd-devel`
|
||||||
|
- Note: You might need EPEL and/or PowerTools repositories enabled
|
||||||
|
|
||||||
FreeBSD: `pkg install luajit libpcap lmdb gnutls concurrencykit zstd liblz4`
|
FreeBSD: `pkg install luajit libpcap lmdb gnutls concurrencykit zstd liblz4`
|
||||||
|
|
||||||
|
@ -120,6 +121,7 @@ while true do
|
||||||
local object = producer(ctx)
|
local object = producer(ctx)
|
||||||
if object == nil then break end
|
if object == nil then break end
|
||||||
if object:type() == "payload" then
|
if object:type() == "payload" then
|
||||||
|
dns:reset()
|
||||||
dns.obj_prev = object
|
dns.obj_prev = object
|
||||||
if dns:parse_header() == 0 then
|
if dns:parse_header() == 0 then
|
||||||
print(dns.id)
|
print(dns.id)
|
||||||
|
@ -128,11 +130,14 @@ while true do
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Disclaimer, to keep the above example short it only works on pre-prepared
|
||||||
|
PCAPs with only UDP DNS traffic in them.
|
||||||
|
|
||||||
See more examples in the [examples](https://github.com/DNS-OARC/dnsjit/tree/develop/examples) directory.
|
See more examples in the [examples](https://github.com/DNS-OARC/dnsjit/tree/develop/examples) directory.
|
||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
|
|
||||||
Copyright (c) 2018-2022, OARC, Inc.
|
Copyright (c) 2018-2023, OARC, Inc.
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|
99
aclocal.m4
vendored
99
aclocal.m4
vendored
|
@ -1,6 +1,6 @@
|
||||||
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
|
# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -14,15 +14,15 @@
|
||||||
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
|
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
|
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
|
||||||
[m4_warning([this file was generated for autoconf 2.69.
|
[m4_warning([this file was generated for autoconf 2.71.
|
||||||
You have another version of autoconf. It may work, but is not guaranteed to.
|
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||||
If you have problems, you may need to regenerate the build system entirely.
|
If you have problems, you may need to regenerate the build system entirely.
|
||||||
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
||||||
|
|
||||||
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||||
dnl serial 11 (pkg-config-0.29.1)
|
# serial 12 (pkg-config-0.29.2)
|
||||||
dnl
|
|
||||||
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||||
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
|
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
|
||||||
dnl
|
dnl
|
||||||
|
@ -63,7 +63,7 @@ dnl
|
||||||
dnl See the "Since" comment for each macro you use to see what version
|
dnl See the "Since" comment for each macro you use to see what version
|
||||||
dnl of the macros you require.
|
dnl of the macros you require.
|
||||||
m4_defun([PKG_PREREQ],
|
m4_defun([PKG_PREREQ],
|
||||||
[m4_define([PKG_MACROS_VERSION], [0.29.1])
|
[m4_define([PKG_MACROS_VERSION], [0.29.2])
|
||||||
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
|
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
|
||||||
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
|
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
|
||||||
])dnl PKG_PREREQ
|
])dnl PKG_PREREQ
|
||||||
|
@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||||
|
|
||||||
pkg_failed=no
|
pkg_failed=no
|
||||||
AC_MSG_CHECKING([for $1])
|
AC_MSG_CHECKING([for $2])
|
||||||
|
|
||||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||||
|
@ -174,11 +174,11 @@ and $1[]_LIBS to avoid the need to call pkg-config.
|
||||||
See the pkg-config man page for more details.])
|
See the pkg-config man page for more details.])
|
||||||
|
|
||||||
if test $pkg_failed = yes; then
|
if test $pkg_failed = yes; then
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
_PKG_SHORT_ERRORS_SUPPORTED
|
_PKG_SHORT_ERRORS_SUPPORTED
|
||||||
if test $_pkg_short_errors_supported = yes; then
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||||
else
|
else
|
||||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||||
fi
|
fi
|
||||||
# Put the nasty error message in config.log where it belongs
|
# Put the nasty error message in config.log where it belongs
|
||||||
|
@ -195,7 +195,7 @@ installed software in a non-standard prefix.
|
||||||
_PKG_TEXT])[]dnl
|
_PKG_TEXT])[]dnl
|
||||||
])
|
])
|
||||||
elif test $pkg_failed = untried; then
|
elif test $pkg_failed = untried; then
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
m4_default([$4], [AC_MSG_FAILURE(
|
m4_default([$4], [AC_MSG_FAILURE(
|
||||||
[The pkg-config script could not be found or is too old. Make sure it
|
[The pkg-config script could not be found or is too old. Make sure it
|
||||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||||
|
@ -296,7 +296,7 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
|
||||||
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||||
])dnl PKG_CHECK_VAR
|
])dnl PKG_CHECK_VAR
|
||||||
|
|
||||||
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -311,7 +311,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
[am__api_version='1.16'
|
[am__api_version='1.16'
|
||||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
dnl require some minimum version. Point them to the right macro.
|
dnl require some minimum version. Point them to the right macro.
|
||||||
m4_if([$1], [1.16.1], [],
|
m4_if([$1], [1.16.5], [],
|
||||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -327,12 +327,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.16.1])dnl
|
[AM_AUTOMAKE_VERSION([1.16.5])dnl
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
|
||||||
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -394,7 +394,7 @@ AC_SUBST([AR])dnl
|
||||||
|
|
||||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -446,7 +446,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
||||||
|
|
||||||
# AM_CONDITIONAL -*- Autoconf -*-
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -477,7 +477,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
Usually this means the macro was only invoked conditionally.]])
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
fi])])
|
fi])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -668,7 +668,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
||||||
|
|
||||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -707,7 +707,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
done
|
done
|
||||||
if test $am_rc -ne 0; then
|
if test $am_rc -ne 0; then
|
||||||
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
||||||
for automatic dependency tracking. Try re-running configure with the
|
for automatic dependency tracking. If GNU make was not used, consider
|
||||||
|
re-running the configure script with MAKE="gmake" (or whatever is
|
||||||
|
necessary). You can also try re-running configure with the
|
||||||
'--disable-dependency-tracking' option to at least be able to build
|
'--disable-dependency-tracking' option to at least be able to build
|
||||||
the package (albeit without support for automatic dependency tracking).])
|
the package (albeit without support for automatic dependency tracking).])
|
||||||
fi
|
fi
|
||||||
|
@ -734,7 +736,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
|
||||||
# AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*-
|
# AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2012-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -751,7 +753,7 @@ AC_DEFUN([AM_EXTRA_RECURSIVE_TARGETS], [])
|
||||||
|
|
||||||
# Do all the work for Automake. -*- Autoconf -*-
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -779,6 +781,10 @@ m4_defn([AC_PROG_CC])
|
||||||
# release and drop the old call support.
|
# release and drop the old call support.
|
||||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||||
[AC_PREREQ([2.65])dnl
|
[AC_PREREQ([2.65])dnl
|
||||||
|
m4_ifdef([_$0_ALREADY_INIT],
|
||||||
|
[m4_fatal([$0 expanded multiple times
|
||||||
|
]m4_defn([_$0_ALREADY_INIT]))],
|
||||||
|
[m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
|
||||||
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
||||||
dnl the ones we care about.
|
dnl the ones we care about.
|
||||||
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
||||||
|
@ -815,7 +821,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
|
||||||
[_AM_SET_OPTIONS([$1])dnl
|
[_AM_SET_OPTIONS([$1])dnl
|
||||||
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
|
||||||
m4_if(
|
m4_if(
|
||||||
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
|
m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
|
||||||
[ok:ok],,
|
[ok:ok],,
|
||||||
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
|
||||||
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||||
|
@ -867,6 +873,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
|
||||||
[m4_define([AC_PROG_OBJCXX],
|
[m4_define([AC_PROG_OBJCXX],
|
||||||
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
|
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
|
||||||
])
|
])
|
||||||
|
# Variables for tags utilities; see am/tags.am
|
||||||
|
if test -z "$CTAGS"; then
|
||||||
|
CTAGS=ctags
|
||||||
|
fi
|
||||||
|
AC_SUBST([CTAGS])
|
||||||
|
if test -z "$ETAGS"; then
|
||||||
|
ETAGS=etags
|
||||||
|
fi
|
||||||
|
AC_SUBST([ETAGS])
|
||||||
|
if test -z "$CSCOPE"; then
|
||||||
|
CSCOPE=cscope
|
||||||
|
fi
|
||||||
|
AC_SUBST([CSCOPE])
|
||||||
|
|
||||||
AC_REQUIRE([AM_SILENT_RULES])dnl
|
AC_REQUIRE([AM_SILENT_RULES])dnl
|
||||||
dnl The testsuite driver may need to know about EXEEXT, so add the
|
dnl The testsuite driver may need to know about EXEEXT, so add the
|
||||||
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
|
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
|
||||||
|
@ -948,7 +968,7 @@ for _am_header in $config_headers :; do
|
||||||
done
|
done
|
||||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -969,7 +989,7 @@ if test x"${install_sh+set}" != xset; then
|
||||||
fi
|
fi
|
||||||
AC_SUBST([install_sh])])
|
AC_SUBST([install_sh])])
|
||||||
|
|
||||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -990,7 +1010,7 @@ AC_SUBST([am__leading_dot])])
|
||||||
|
|
||||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1033,7 +1053,7 @@ AC_SUBST([am__quote])])
|
||||||
|
|
||||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1054,12 +1074,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
|
||||||
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
||||||
AC_REQUIRE_AUX_FILE([missing])dnl
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
||||||
if test x"${MISSING+set}" != xset; then
|
if test x"${MISSING+set}" != xset; then
|
||||||
case $am_aux_dir in
|
MISSING="\${SHELL} '$am_aux_dir/missing'"
|
||||||
*\ * | *\ *)
|
|
||||||
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
|
||||||
*)
|
|
||||||
MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
# Use eval to expand $SHELL
|
# Use eval to expand $SHELL
|
||||||
if eval "$MISSING --is-lightweight"; then
|
if eval "$MISSING --is-lightweight"; then
|
||||||
|
@ -1072,7 +1087,7 @@ fi
|
||||||
|
|
||||||
# Helper functions for option handling. -*- Autoconf -*-
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1101,7 +1116,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
||||||
AC_DEFUN([_AM_IF_OPTION],
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1148,7 +1163,7 @@ AC_LANG_POP([C])])
|
||||||
# For backward compatibility.
|
# For backward compatibility.
|
||||||
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||||
|
|
||||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1167,7 +1182,7 @@ AC_DEFUN([AM_RUN_LOG],
|
||||||
|
|
||||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1248,7 +1263,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
rm -f conftest.file
|
rm -f conftest.file
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2009-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1308,7 +1323,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
||||||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1336,7 +1351,7 @@ fi
|
||||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1355,7 +1370,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||||
|
|
||||||
# Check how to create a tarball. -*- Autoconf -*-
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2021 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
17
ar-lib
17
ar-lib
|
@ -2,9 +2,9 @@
|
||||||
# Wrapper for Microsoft lib.exe
|
# Wrapper for Microsoft lib.exe
|
||||||
|
|
||||||
me=ar-lib
|
me=ar-lib
|
||||||
scriptversion=2012-03-01.08; # UTC
|
scriptversion=2019-07-04.01; # UTC
|
||||||
|
|
||||||
# Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
# Copyright (C) 2010-2021 Free Software Foundation, Inc.
|
||||||
# Written by Peter Rosin <peda@lysator.liu.se>.
|
# Written by Peter Rosin <peda@lysator.liu.se>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -53,7 +53,7 @@ func_file_conv ()
|
||||||
MINGW*)
|
MINGW*)
|
||||||
file_conv=mingw
|
file_conv=mingw
|
||||||
;;
|
;;
|
||||||
CYGWIN*)
|
CYGWIN* | MSYS*)
|
||||||
file_conv=cygwin
|
file_conv=cygwin
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -65,7 +65,7 @@ func_file_conv ()
|
||||||
mingw)
|
mingw)
|
||||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
;;
|
;;
|
||||||
cygwin)
|
cygwin | msys)
|
||||||
file=`cygpath -m "$file" || echo "$file"`
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
;;
|
;;
|
||||||
wine)
|
wine)
|
||||||
|
@ -224,10 +224,11 @@ elif test -n "$extract"; then
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
$AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
|
$AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
|
||||||
do
|
| while read member
|
||||||
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
|
do
|
||||||
done
|
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif test -n "$quick$replace"; then
|
elif test -n "$quick$replace"; then
|
||||||
|
|
6
compile
6
compile
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -53,7 +53,7 @@ func_file_conv ()
|
||||||
MINGW*)
|
MINGW*)
|
||||||
file_conv=mingw
|
file_conv=mingw
|
||||||
;;
|
;;
|
||||||
CYGWIN*)
|
CYGWIN* | MSYS*)
|
||||||
file_conv=cygwin
|
file_conv=cygwin
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -67,7 +67,7 @@ func_file_conv ()
|
||||||
mingw/*)
|
mingw/*)
|
||||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
;;
|
;;
|
||||||
cygwin/*)
|
cygwin/* | msys/*)
|
||||||
file=`cygpath -m "$file" || echo "$file"`
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
;;
|
;;
|
||||||
wine/*)
|
wine/*)
|
||||||
|
|
1500
config.guess
vendored
1500
config.guess
vendored
File diff suppressed because it is too large
Load diff
2855
config.sub
vendored
2855
config.sub
vendored
File diff suppressed because it is too large
Load diff
21
configure.ac
21
configure.ac
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
@ -17,10 +17,10 @@
|
||||||
# along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
|
# along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
AC_PREREQ(2.64)
|
AC_PREREQ(2.64)
|
||||||
AC_INIT([dnsjit], [1.2.3], [admin@dns-oarc.net], [dnsjit], [https://github.com/DNS-OARC/dnsjit/issues])
|
AC_INIT([dnsjit], [1.3.0], [admin@dns-oarc.net], [dnsjit], [https://github.com/DNS-OARC/dnsjit/issues])
|
||||||
AC_DEFINE([PACKAGE_MAJOR_VERSION], [1], [Define to the major version of this package.])
|
AC_DEFINE([PACKAGE_MAJOR_VERSION], [1], [Define to the major version of this package.])
|
||||||
AC_DEFINE([PACKAGE_MINOR_VERSION], [2], [Define to the minor version of this package.])
|
AC_DEFINE([PACKAGE_MINOR_VERSION], [3], [Define to the minor version of this package.])
|
||||||
AC_DEFINE([PACKAGE_PATCH_VERSION], [3], [Define to the patch version of this package.])
|
AC_DEFINE([PACKAGE_PATCH_VERSION], [0], [Define to the patch version of this package.])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
|
||||||
AC_CONFIG_SRCDIR([src/dnsjit.c])
|
AC_CONFIG_SRCDIR([src/dnsjit.c])
|
||||||
AC_CONFIG_HEADER([src/config.h])
|
AC_CONFIG_HEADER([src/config.h])
|
||||||
|
@ -65,13 +65,10 @@ case "${enableval}" in
|
||||||
esac])
|
esac])
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
AX_PTHREAD
|
AX_PTHREAD
|
||||||
AC_CHECK_LIB([pcap], [pcap_open_live], [], [AC_MSG_ERROR([libpcap not found])])
|
PKG_CHECK_MODULES([libpcap], [libpcap],, [
|
||||||
AC_CHECK_HEADER([pcap/pcap.h], [], [AC_MSG_ERROR([libpcap header not found])])
|
AC_CHECK_LIB([pcap], [pcap_open_live], [], [AC_MSG_ERROR([libpcap not found])])
|
||||||
|
])
|
||||||
AC_CHECK_HEADERS([endian.h sys/endian.h machine/endian.h sys/time.h byteswap.h])
|
AC_CHECK_HEADERS([endian.h sys/endian.h machine/endian.h sys/time.h byteswap.h])
|
||||||
AC_CHECK_FUNCS([pcap_create pcap_set_tstamp_precision pcap_set_immediate_mode])
|
|
||||||
AC_CHECK_FUNCS([pcap_set_tstamp_type pcap_setdirection sched_yield])
|
|
||||||
AC_CHECK_FUNCS([pcap_open_offline_with_tstamp_precision pcap_activate])
|
|
||||||
AC_CHECK_TYPES([pcap_direction_t], [], [], [[#include <pcap/pcap.h>]])
|
|
||||||
AC_CHECK_HEADERS([net/ethernet.h])
|
AC_CHECK_HEADERS([net/ethernet.h])
|
||||||
AC_CHECK_HEADERS([net/ethertypes.h])
|
AC_CHECK_HEADERS([net/ethertypes.h])
|
||||||
AC_SEARCH_LIBS([clock_gettime],[rt])
|
AC_SEARCH_LIBS([clock_gettime],[rt])
|
||||||
|
@ -90,7 +87,9 @@ PKG_CHECK_MODULES([ck], [ck >= 0], [
|
||||||
AC_CHECK_HEADERS([ck_ring.h ck_pr.h],, [AC_MSG_ERROR([libck headers not found])])
|
AC_CHECK_HEADERS([ck_ring.h ck_pr.h],, [AC_MSG_ERROR([libck headers not found])])
|
||||||
AC_CHECK_LIB([ck], [ck_array_init],, [AC_MSG_ERROR([libck not found])])
|
AC_CHECK_LIB([ck], [ck_array_init],, [AC_MSG_ERROR([libck not found])])
|
||||||
])
|
])
|
||||||
AC_CHECK_LIB([gnutls], [gnutls_init],, [AC_MSG_ERROR([libgnutls not found])])
|
PKG_CHECK_MODULES([gnutls], [gnutls],, [
|
||||||
|
AC_CHECK_LIB([gnutls], [gnutls_init],, [AC_MSG_ERROR([libgnutls not found])])
|
||||||
|
])
|
||||||
PKG_CHECK_MODULES([liblz4], [liblz4 >= 1.8.0 liblz4 != 131], [AC_DEFINE([HAVE_LZ4], [], [Use liblz4])],:)
|
PKG_CHECK_MODULES([liblz4], [liblz4 >= 1.8.0 liblz4 != 131], [AC_DEFINE([HAVE_LZ4], [], [Use liblz4])],:)
|
||||||
PKG_CHECK_MODULES([libzstd], [libzstd >= 1.3.0], [AC_DEFINE([HAVE_ZSTD], [], [Use libzstd])],:)
|
PKG_CHECK_MODULES([libzstd], [libzstd >= 1.3.0], [AC_DEFINE([HAVE_ZSTD], [], [Use libzstd])],:)
|
||||||
|
|
||||||
|
|
2
depcomp
2
depcomp
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
@ -18,4 +18,4 @@
|
||||||
|
|
||||||
dist_doc_DATA = capture.lua dumpdns2pcap.lua dumpdns.lua dumpdns-qr.lua \
|
dist_doc_DATA = capture.lua dumpdns2pcap.lua dumpdns.lua dumpdns-qr.lua \
|
||||||
filter_rcode.lua qr-multi-pcap-state.lua readme.lua replay.lua \
|
filter_rcode.lua qr-multi-pcap-state.lua readme.lua replay.lua \
|
||||||
replay_multicli.lua respdiff.lua
|
replay_multicli.lua respdiff.lua pcap2tcpdns.lua
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
@ -194,6 +194,8 @@ CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CPUEXT_FLAGS = @CPUEXT_FLAGS@
|
CPUEXT_FLAGS = @CPUEXT_FLAGS@
|
||||||
|
CSCOPE = @CSCOPE@
|
||||||
|
CTAGS = @CTAGS@
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
@ -204,6 +206,7 @@ ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
@ -279,6 +282,8 @@ datarootdir = @datarootdir@
|
||||||
docdir = @docdir@
|
docdir = @docdir@
|
||||||
dvidir = @dvidir@
|
dvidir = @dvidir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
|
gnutls_CFLAGS = @gnutls_CFLAGS@
|
||||||
|
gnutls_LIBS = @gnutls_LIBS@
|
||||||
host = @host@
|
host = @host@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
|
@ -292,6 +297,8 @@ libdir = @libdir@
|
||||||
libexecdir = @libexecdir@
|
libexecdir = @libexecdir@
|
||||||
liblz4_CFLAGS = @liblz4_CFLAGS@
|
liblz4_CFLAGS = @liblz4_CFLAGS@
|
||||||
liblz4_LIBS = @liblz4_LIBS@
|
liblz4_LIBS = @liblz4_LIBS@
|
||||||
|
libpcap_CFLAGS = @libpcap_CFLAGS@
|
||||||
|
libpcap_LIBS = @libpcap_LIBS@
|
||||||
libzstd_CFLAGS = @libzstd_CFLAGS@
|
libzstd_CFLAGS = @libzstd_CFLAGS@
|
||||||
libzstd_LIBS = @libzstd_LIBS@
|
libzstd_LIBS = @libzstd_LIBS@
|
||||||
localedir = @localedir@
|
localedir = @localedir@
|
||||||
|
@ -316,7 +323,7 @@ top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
dist_doc_DATA = capture.lua dumpdns2pcap.lua dumpdns.lua dumpdns-qr.lua \
|
dist_doc_DATA = capture.lua dumpdns2pcap.lua dumpdns.lua dumpdns-qr.lua \
|
||||||
filter_rcode.lua qr-multi-pcap-state.lua readme.lua replay.lua \
|
filter_rcode.lua qr-multi-pcap-state.lua readme.lua replay.lua \
|
||||||
replay_multicli.lua respdiff.lua
|
replay_multicli.lua respdiff.lua pcap2tcpdns.lua
|
||||||
|
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
|
@ -384,7 +391,6 @@ ctags CTAGS:
|
||||||
|
|
||||||
cscope cscopelist:
|
cscope cscopelist:
|
||||||
|
|
||||||
|
|
||||||
distdir: $(BUILT_SOURCES)
|
distdir: $(BUILT_SOURCES)
|
||||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,10 @@ while true do
|
||||||
protocol = protocol.obj_prev
|
protocol = protocol.obj_prev
|
||||||
end
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if transport ~= nil and protocol ~= nil then
|
if transport ~= nil and protocol ~= nil then
|
||||||
transport = transport:cast()
|
transport = transport:cast()
|
||||||
|
|
|
@ -43,6 +43,10 @@ while true do
|
||||||
protocol = protocol.obj_prev
|
protocol = protocol.obj_prev
|
||||||
end
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if transport ~= nil and protocol ~= nil and dns:parse_header() == 0 then
|
if transport ~= nil and protocol ~= nil and dns:parse_header() == 0 then
|
||||||
transport = transport:cast()
|
transport = transport:cast()
|
||||||
|
|
|
@ -47,6 +47,10 @@ while true do
|
||||||
protocol = protocol.obj_prev
|
protocol = protocol.obj_prev
|
||||||
end
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if transport ~= nil and protocol ~= nil then
|
if transport ~= nil and protocol ~= nil then
|
||||||
transport = transport:cast()
|
transport = transport:cast()
|
||||||
|
|
|
@ -26,6 +26,18 @@ while true do
|
||||||
if obj == nil then break end
|
if obj == nil then break end
|
||||||
local pl = obj:cast()
|
local pl = obj:cast()
|
||||||
if obj:type() == "payload" and pl.len > 0 then
|
if obj:type() == "payload" and pl.len > 0 then
|
||||||
|
local protocol = obj.obj_prev
|
||||||
|
while protocol ~= nil do
|
||||||
|
if protocol.obj_type == object.UDP or protocol.obj_type == object.TCP then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
protocol = protocol.obj_prev
|
||||||
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if dns:parse_header() == 0 then
|
if dns:parse_header() == 0 then
|
||||||
receiver(rctx, obj)
|
receiver(rctx, obj)
|
||||||
|
|
|
@ -28,9 +28,20 @@ while true do
|
||||||
end
|
end
|
||||||
transport = transport.obj_prev
|
transport = transport.obj_prev
|
||||||
end
|
end
|
||||||
|
local protocol = obj.obj_prev
|
||||||
|
while protocol ~= nil do
|
||||||
|
if protocol.obj_type == object.UDP or protocol.obj_type == object.TCP then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
protocol = protocol.obj_prev
|
||||||
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if transport and dns and dns:parse_header() == 0 and dns.have_rcode == 1 and dns.rcode == rcode then
|
if transport ~= nil and dns:parse_header() == 0 and dns.have_rcode == 1 and dns.rcode == rcode then
|
||||||
transport = transport:cast()
|
transport = transport:cast()
|
||||||
print(dns.id, transport:source().." -> "..transport:destination())
|
print(dns.id, transport:source().." -> "..transport:destination())
|
||||||
end
|
end
|
||||||
|
|
80
examples/pcap2tcpdns.lua
Executable file
80
examples/pcap2tcpdns.lua
Executable file
|
@ -0,0 +1,80 @@
|
||||||
|
#!/usr/bin/env dnsjit
|
||||||
|
-- Author: Petr Špaček (ISC)
|
||||||
|
|
||||||
|
-- Convert PCAP with IPv[46] & UDP payloads into TCP-stream binary format as
|
||||||
|
-- specified by RFC 1035 section "4.2.2. TCP usage". Each packet is preceded by
|
||||||
|
-- 2-byte pre‐ambule which specifies length of the following DNS packet in
|
||||||
|
-- network byte order, immediately followed by raw bytes of the packet.
|
||||||
|
--
|
||||||
|
-- This script does not do any filtering or input sanitation.
|
||||||
|
-- Outputs raw binary to stdout!
|
||||||
|
|
||||||
|
local bit = require("bit")
|
||||||
|
local ffi = require("ffi")
|
||||||
|
local input = require("dnsjit.input.pcap").new()
|
||||||
|
local layer = require("dnsjit.filter.layer").new()
|
||||||
|
local object = require("dnsjit.core.objects")
|
||||||
|
local log = require("dnsjit.core.log").new("extract-clients.lua")
|
||||||
|
local getopt = require("dnsjit.lib.getopt").new({
|
||||||
|
{ "r", "read", "-", "input file to read, use - for stdin", "?" },
|
||||||
|
})
|
||||||
|
|
||||||
|
local tmpbuf = ffi.new("uint8_t[?]", 2)
|
||||||
|
local function put_uint16_be(dst, offset, src)
|
||||||
|
dst[offset] = bit.rshift(bit.band(src, 0xff00), 8)
|
||||||
|
dst[offset + 1] = bit.band(src, 0xff)
|
||||||
|
end
|
||||||
|
|
||||||
|
log:enable("all")
|
||||||
|
|
||||||
|
-- Parse arguments
|
||||||
|
local args = {}
|
||||||
|
getopt:parse()
|
||||||
|
args.read = getopt:val("r")
|
||||||
|
|
||||||
|
-- Display help
|
||||||
|
if getopt:val("help") then
|
||||||
|
getopt:usage()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set up input
|
||||||
|
if args.read ~= "" then
|
||||||
|
log:notice("using input PCAP "..args.read)
|
||||||
|
if input:open_offline(args.read) ~= 0 then
|
||||||
|
log:fatal("failed to open input PCAP "..args.read)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
getopt:usage()
|
||||||
|
log:fatal("input must be specified, use -r")
|
||||||
|
end
|
||||||
|
layer:producer(input)
|
||||||
|
local produce, pctx = layer:produce()
|
||||||
|
|
||||||
|
-- set up output
|
||||||
|
io.stdout:setvbuf("full")
|
||||||
|
|
||||||
|
local obj, obj_pcap_in, obj_ip, obj_udp, obj_pl
|
||||||
|
local npacketsin = 0
|
||||||
|
while true do
|
||||||
|
obj = produce(pctx)
|
||||||
|
if obj == nil then break end
|
||||||
|
npacketsin = npacketsin + 1
|
||||||
|
|
||||||
|
obj_ip = obj:cast_to(object.IP)
|
||||||
|
if obj_ip == nil then
|
||||||
|
obj_ip = obj:cast_to(object.IP6)
|
||||||
|
end
|
||||||
|
|
||||||
|
obj_udp = obj:cast_to(object.UDP)
|
||||||
|
obj_pl = obj:cast_to(object.PAYLOAD)
|
||||||
|
obj_pcap_in = obj:cast_to(object.PCAP)
|
||||||
|
if obj_ip ~= nil and obj_udp ~= nil and obj_pl ~= nil and obj_pcap_in ~= nil then
|
||||||
|
-- UDP header length is 8 bytes and is included in the ulen field below.
|
||||||
|
-- RFC 1035 framing has just the DNS message size as two bytes (big-endian).
|
||||||
|
put_uint16_be(tmpbuf, 0, obj_udp.ulen - 8)
|
||||||
|
io.stdout:write(ffi.string(tmpbuf, 2))
|
||||||
|
io.stdout:write(ffi.string(obj_pl.payload, obj_pl.len))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
log:info(string.format("processed %d packets", npacketsin))
|
|
@ -155,6 +155,10 @@ while true do
|
||||||
pcap = pcap.obj_prev
|
pcap = pcap.obj_prev
|
||||||
end
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if pcap ~= nil and transport ~= nil and protocol ~= nil and dns:parse_header() == 0 then
|
if pcap ~= nil and transport ~= nil and protocol ~= nil and dns:parse_header() == 0 then
|
||||||
transport = transport:cast()
|
transport = transport:cast()
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
#!/usr/bin/env dnsjit
|
#!/usr/bin/env dnsjit
|
||||||
|
|
||||||
|
-- Disclaimer, to keep this example short it only works on pre-prepared
|
||||||
|
-- PCAPs with only UDP DNS traffic in them.
|
||||||
|
|
||||||
require("dnsjit.core.objects")
|
require("dnsjit.core.objects")
|
||||||
local input = require("dnsjit.input.pcap").new()
|
local input = require("dnsjit.input.pcap").new()
|
||||||
local layer = require("dnsjit.filter.layer").new()
|
local layer = require("dnsjit.filter.layer").new()
|
||||||
|
@ -12,6 +16,7 @@ while true do
|
||||||
local object = producer(ctx)
|
local object = producer(ctx)
|
||||||
if object == nil then break end
|
if object == nil then break end
|
||||||
if object:type() == "payload" then
|
if object:type() == "payload" then
|
||||||
|
dns:reset()
|
||||||
dns.obj_prev = object
|
dns.obj_prev = object
|
||||||
if dns:parse_header() == 0 then
|
if dns:parse_header() == 0 then
|
||||||
print(dns.id)
|
print(dns.id)
|
||||||
|
|
|
@ -71,6 +71,7 @@ while true do
|
||||||
if obj == nil then break end
|
if obj == nil then break end
|
||||||
local pl = obj:cast()
|
local pl = obj:cast()
|
||||||
if obj:type() == "payload" and pl.len > 0 then
|
if obj:type() == "payload" and pl.len > 0 then
|
||||||
|
query:reset()
|
||||||
query.obj_prev = obj
|
query.obj_prev = obj
|
||||||
|
|
||||||
local trs = pl.obj_prev:cast()
|
local trs = pl.obj_prev:cast()
|
||||||
|
|
|
@ -120,6 +120,7 @@ while true do
|
||||||
end
|
end
|
||||||
local pl = obj:cast()
|
local pl = obj:cast()
|
||||||
if obj:type() == "payload" and pl.len > 0 then
|
if obj:type() == "payload" and pl.len > 0 then
|
||||||
|
query:reset()
|
||||||
query.obj_prev = obj
|
query.obj_prev = obj
|
||||||
|
|
||||||
local trs = pl.obj_prev:cast()
|
local trs = pl.obj_prev:cast()
|
||||||
|
|
|
@ -63,90 +63,92 @@ while true do
|
||||||
if obj == nil then break end
|
if obj == nil then break end
|
||||||
local payload = obj:cast()
|
local payload = obj:cast()
|
||||||
if obj:type() == "payload" and payload.len > 0 then
|
if obj:type() == "payload" and payload.len > 0 then
|
||||||
|
local transport = obj.obj_prev
|
||||||
|
while transport ~= nil do
|
||||||
|
if transport.obj_type == object.IP or transport.obj_type == object.IP6 then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
transport = transport.obj_prev
|
||||||
|
end
|
||||||
|
local protocol = obj.obj_prev
|
||||||
|
while protocol ~= nil do
|
||||||
|
if protocol.obj_type == object.UDP or protocol.obj_type == object.TCP then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
protocol = protocol.obj_prev
|
||||||
|
end
|
||||||
|
|
||||||
|
dns:reset()
|
||||||
|
if protocol ~= nil and protocol.obj_type == object.TCP then
|
||||||
|
dns.includes_dnslen = 1
|
||||||
|
end
|
||||||
dns.obj_prev = obj
|
dns.obj_prev = obj
|
||||||
if dns:parse_header() == 0 then
|
if transport ~= nil and protocol ~= nil and dns:parse_header() == 0 then
|
||||||
local transport = obj.obj_prev
|
transport = transport:cast()
|
||||||
while transport ~= nil do
|
protocol = protocol:cast()
|
||||||
if transport.obj_type == object.IP or transport.obj_type == object.IP6 then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
transport = transport.obj_prev
|
|
||||||
end
|
|
||||||
local protocol = obj.obj_prev
|
|
||||||
while protocol ~= nil do
|
|
||||||
if protocol.obj_type == object.UDP or protocol.obj_type == object.TCP then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
protocol = protocol.obj_prev
|
|
||||||
end
|
|
||||||
|
|
||||||
if transport ~= nil and protocol ~= nil then
|
if dns.qr == 0 then
|
||||||
transport = transport:cast()
|
local k = string.format("%s %d %s %d", transport:source(), protocol.sport, transport:destination(), protocol.dport)
|
||||||
protocol = protocol:cast()
|
local q = {
|
||||||
|
id = dns.id,
|
||||||
|
proto = protocol:type(),
|
||||||
|
payload = ffi.new("uint8_t[?]", payload.len),
|
||||||
|
len = tonumber(payload.len)
|
||||||
|
}
|
||||||
|
ffi.copy(q.payload, payload.payload, payload.len)
|
||||||
|
queries[k] = q
|
||||||
|
else
|
||||||
|
local k = string.format("%s %d %s %d", transport:destination(), protocol.dport, transport:source(), protocol.sport)
|
||||||
|
local q = queries[k]
|
||||||
|
if q then
|
||||||
|
queries[k] = nil
|
||||||
|
clipayload.payload = q.payload
|
||||||
|
clipayload.len = q.len
|
||||||
|
|
||||||
if dns.qr == 0 then
|
local prod, pctx
|
||||||
local k = string.format("%s %d %s %d", transport:source(), protocol.sport, transport:destination(), protocol.dport)
|
|
||||||
local q = {
|
|
||||||
id = dns.id,
|
|
||||||
proto = protocol:type(),
|
|
||||||
payload = ffi.new("uint8_t[?]", payload.len),
|
|
||||||
len = tonumber(payload.len)
|
|
||||||
}
|
|
||||||
ffi.copy(q.payload, payload.payload, payload.len)
|
|
||||||
queries[k] = q
|
|
||||||
else
|
|
||||||
local k = string.format("%s %d %s %d", transport:destination(), protocol.dport, transport:source(), protocol.sport)
|
|
||||||
local q = queries[k]
|
|
||||||
if q then
|
|
||||||
queries[k] = nil
|
|
||||||
clipayload.payload = q.payload
|
|
||||||
clipayload.len = q.len
|
|
||||||
|
|
||||||
local prod, pctx
|
if q.proto == "udp" then
|
||||||
|
if not udpcli then
|
||||||
if q.proto == "udp" then
|
udpcli = require("dnsjit.output.udpcli").new()
|
||||||
if not udpcli then
|
udpcli:connect(host, port)
|
||||||
udpcli = require("dnsjit.output.udpcli").new()
|
udprecv, udpctx = udpcli:receive()
|
||||||
udpcli:connect(host, port)
|
udpprod, _ = udpcli:produce()
|
||||||
udprecv, udpctx = udpcli:receive()
|
|
||||||
udpprod, _ = udpcli:produce()
|
|
||||||
end
|
|
||||||
udprecv(udpctx, cliobject)
|
|
||||||
prod = udpprod
|
|
||||||
pctx = udpctx
|
|
||||||
elseif q.proto == "tcp" then
|
|
||||||
if not tcpcli then
|
|
||||||
tcpcli = require("dnsjit.output.tcpcli").new()
|
|
||||||
tcpcli:connect(host, port)
|
|
||||||
tcprecv, tcpctx = tcpcli:receive()
|
|
||||||
tcpprod, _ = tcpcli:produce()
|
|
||||||
end
|
|
||||||
tcprecv(tcpctx, cliobject)
|
|
||||||
prod = tcpprod
|
|
||||||
pctx = tcpctx
|
|
||||||
end
|
end
|
||||||
|
udprecv(udpctx, cliobject)
|
||||||
|
prod = udpprod
|
||||||
|
pctx = udpctx
|
||||||
|
elseif q.proto == "tcp" then
|
||||||
|
if not tcpcli then
|
||||||
|
tcpcli = require("dnsjit.output.tcpcli").new()
|
||||||
|
tcpcli:connect(host, port)
|
||||||
|
tcprecv, tcpctx = tcpcli:receive()
|
||||||
|
tcpprod, _ = tcpcli:produce()
|
||||||
|
end
|
||||||
|
tcprecv(tcpctx, cliobject)
|
||||||
|
prod = tcpprod
|
||||||
|
pctx = tcpctx
|
||||||
|
end
|
||||||
|
|
||||||
while true do
|
while true do
|
||||||
local response = prod(pctx)
|
local response = prod(pctx)
|
||||||
if response == nil then
|
if response == nil then
|
||||||
log.fatal("producer error")
|
log.fatal("producer error")
|
||||||
end
|
end
|
||||||
local rpl = response:cast()
|
local rpl = response:cast()
|
||||||
if rpl.len == 0 then
|
if rpl.len == 0 then
|
||||||
log.info("timed out")
|
log.info("timed out")
|
||||||
else
|
else
|
||||||
dns.obj_prev = response
|
dns.obj_prev = response
|
||||||
if dns:parse_header() == 0 and dns.id == q.id then
|
if dns:parse_header() == 0 and dns.id == q.id then
|
||||||
query_payload.payload = q.payload
|
query_payload.payload = q.payload
|
||||||
query_payload.len = q.len
|
query_payload.len = q.len
|
||||||
original_payload.payload = payload.payload
|
original_payload.payload = payload.payload
|
||||||
original_payload.len = payload.len
|
original_payload.len = payload.len
|
||||||
response_payload.payload = rpl.payload
|
response_payload.payload = rpl.payload
|
||||||
response_payload.len = rpl.len
|
response_payload.len = rpl.len
|
||||||
|
|
||||||
resprecv(respctx, query_payload_obj)
|
resprecv(respctx, query_payload_obj)
|
||||||
break
|
break
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
@ -28,7 +28,8 @@ AM_CFLAGS = -Werror=attributes \
|
||||||
$(SIMD_FLAGS) $(CPUEXT_FLAGS) \
|
$(SIMD_FLAGS) $(CPUEXT_FLAGS) \
|
||||||
$(PTHREAD_CFLAGS) \
|
$(PTHREAD_CFLAGS) \
|
||||||
$(luajit_CFLAGS) \
|
$(luajit_CFLAGS) \
|
||||||
$(liblz4_CFLAGS) $(libzstd_CFLAGS)
|
$(liblz4_CFLAGS) $(libzstd_CFLAGS) \
|
||||||
|
$(libpcap_CFLAGS) $(gnutls_CFLAGS)
|
||||||
|
|
||||||
EXTRA_DIST = gen-manpage.lua gen-compat.lua gen-errno.sh dnsjit.1in
|
EXTRA_DIST = gen-manpage.lua gen-compat.lua gen-errno.sh dnsjit.1in
|
||||||
|
|
||||||
|
@ -42,7 +43,8 @@ dnsjitincludedir = $(includedir)/dnsjit
|
||||||
nobase_dnsjitinclude_HEADERS = globals.h version.h
|
nobase_dnsjitinclude_HEADERS = globals.h version.h
|
||||||
lua_hobjects = core/compat.luaho
|
lua_hobjects = core/compat.luaho
|
||||||
lua_objects = core.luao lib.luao input.luao filter.luao output.luao
|
lua_objects = core.luao lib.luao input.luao filter.luao output.luao
|
||||||
dnsjit_LDADD = $(PTHREAD_LIBS) $(luajit_LIBS) $(liblz4_LIBS) $(libzstd_LIBS)
|
dnsjit_LDADD = $(PTHREAD_LIBS) $(luajit_LIBS) $(liblz4_LIBS) $(libzstd_LIBS) \
|
||||||
|
$(libpcap_LIBS) $(gnutls_LIBS)
|
||||||
|
|
||||||
# C source and headers
|
# C source and headers
|
||||||
dnsjit_SOURCES += core/channel.c core/compat.c core/file.c core/log.c core/object.c core/object/dns.c core/object/ether.c core/object/gre.c core/object/icmp6.c core/object/icmp.c core/object/ieee802.c core/object/ip6.c core/object/ip.c core/object/linuxsll.c core/object/loop.c core/object/null.c core/object/payload.c core/object/pcap.c core/object/tcp.c core/object/udp.c core/producer.c core/receiver.c core/thread.c filter/copy.c filter/ipsplit.c filter/layer.c filter/split.c filter/timing.c input/fpcap.c input/mmpcap.c input/pcap.c input/zpcap.c lib/base64url.c lib/clock.c lib/trie.c output/dnscli.c output/pcap.c output/respdiff.c output/tcpcli.c output/tlscli.c output/udpcli.c
|
dnsjit_SOURCES += core/channel.c core/compat.c core/file.c core/log.c core/object.c core/object/dns.c core/object/ether.c core/object/gre.c core/object/icmp6.c core/object/icmp.c core/object/ieee802.c core/object/ip6.c core/object/ip.c core/object/linuxsll.c core/object/loop.c core/object/null.c core/object/payload.c core/object/pcap.c core/object/tcp.c core/object/udp.c core/producer.c core/receiver.c core/thread.c filter/copy.c filter/ipsplit.c filter/layer.c filter/split.c filter/timing.c input/fpcap.c input/mmpcap.c input/pcap.c input/zpcap.c lib/base64url.c lib/clock.c lib/trie.c output/dnscli.c output/pcap.c output/respdiff.c output/tcpcli.c output/tlscli.c output/udpcli.c
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
# Copyright (c) 2018-2022, OARC, Inc.
|
# Copyright (c) 2018-2023, OARC, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# This file is part of dnsjit.
|
# This file is part of dnsjit.
|
||||||
|
@ -159,6 +159,7 @@ dist_dnsjit_OBJECTS =
|
||||||
dnsjit_OBJECTS = $(am_dnsjit_OBJECTS) $(dist_dnsjit_OBJECTS)
|
dnsjit_OBJECTS = $(am_dnsjit_OBJECTS) $(dist_dnsjit_OBJECTS)
|
||||||
am__DEPENDENCIES_1 =
|
am__DEPENDENCIES_1 =
|
||||||
dnsjit_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
dnsjit_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
||||||
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
||||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(lua_hobjects) \
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(lua_hobjects) \
|
||||||
$(lua_objects)
|
$(lua_objects)
|
||||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
|
@ -280,8 +281,8 @@ am__recursive_targets = \
|
||||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
distdir distdir-am
|
distdir distdir-am
|
||||||
am__extra_recursive_targets = gcov-recursive
|
am__extra_recursive_targets = gcov-recursive
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
||||||
$(LISP)config.h.in
|
config.h.in
|
||||||
# Read a list of newline-separated strings from the standard input,
|
# Read a list of newline-separated strings from the standard input,
|
||||||
# and print each of them once, without duplicates. Input order is
|
# and print each of them once, without duplicates. Input order is
|
||||||
# *not* preserved.
|
# *not* preserved.
|
||||||
|
@ -298,8 +299,6 @@ am__define_uniq_tagged_files = \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | $(am__uniquify_input)`
|
done | $(am__uniquify_input)`
|
||||||
ETAGS = etags
|
|
||||||
CTAGS = ctags
|
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||||
$(top_srcdir)/depcomp
|
$(top_srcdir)/depcomp
|
||||||
|
@ -343,6 +342,8 @@ CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CPUEXT_FLAGS = @CPUEXT_FLAGS@
|
CPUEXT_FLAGS = @CPUEXT_FLAGS@
|
||||||
|
CSCOPE = @CSCOPE@
|
||||||
|
CTAGS = @CTAGS@
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
@ -353,6 +354,7 @@ ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
@ -428,6 +430,8 @@ datarootdir = @datarootdir@
|
||||||
docdir = @docdir@
|
docdir = @docdir@
|
||||||
dvidir = @dvidir@
|
dvidir = @dvidir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
|
gnutls_CFLAGS = @gnutls_CFLAGS@
|
||||||
|
gnutls_LIBS = @gnutls_LIBS@
|
||||||
host = @host@
|
host = @host@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
|
@ -441,6 +445,8 @@ libdir = @libdir@
|
||||||
libexecdir = @libexecdir@
|
libexecdir = @libexecdir@
|
||||||
liblz4_CFLAGS = @liblz4_CFLAGS@
|
liblz4_CFLAGS = @liblz4_CFLAGS@
|
||||||
liblz4_LIBS = @liblz4_LIBS@
|
liblz4_LIBS = @liblz4_LIBS@
|
||||||
|
libpcap_CFLAGS = @libpcap_CFLAGS@
|
||||||
|
libpcap_LIBS = @libpcap_LIBS@
|
||||||
libzstd_CFLAGS = @libzstd_CFLAGS@
|
libzstd_CFLAGS = @libzstd_CFLAGS@
|
||||||
libzstd_LIBS = @libzstd_LIBS@
|
libzstd_LIBS = @libzstd_LIBS@
|
||||||
localedir = @localedir@
|
localedir = @localedir@
|
||||||
|
@ -474,7 +480,8 @@ AM_CFLAGS = -Werror=attributes \
|
||||||
$(SIMD_FLAGS) $(CPUEXT_FLAGS) \
|
$(SIMD_FLAGS) $(CPUEXT_FLAGS) \
|
||||||
$(PTHREAD_CFLAGS) \
|
$(PTHREAD_CFLAGS) \
|
||||||
$(luajit_CFLAGS) \
|
$(luajit_CFLAGS) \
|
||||||
$(liblz4_CFLAGS) $(libzstd_CFLAGS)
|
$(liblz4_CFLAGS) $(libzstd_CFLAGS) \
|
||||||
|
$(libpcap_CFLAGS) $(gnutls_CFLAGS)
|
||||||
|
|
||||||
EXTRA_DIST = gen-manpage.lua gen-compat.lua gen-errno.sh dnsjit.1in
|
EXTRA_DIST = gen-manpage.lua gen-compat.lua gen-errno.sh dnsjit.1in
|
||||||
BUILT_SOURCES = core/compat.hh core/log_errstr.c
|
BUILT_SOURCES = core/compat.hh core/log_errstr.c
|
||||||
|
@ -585,7 +592,8 @@ lua_objects = core.luao lib.luao input.luao filter.luao output.luao \
|
||||||
output/respdiff.luao output/tcpcli.luao output/tlscli.luao \
|
output/respdiff.luao output/tcpcli.luao output/tlscli.luao \
|
||||||
output/udpcli.luao
|
output/udpcli.luao
|
||||||
dnsjit_LDADD = $(PTHREAD_LIBS) $(luajit_LIBS) $(liblz4_LIBS) \
|
dnsjit_LDADD = $(PTHREAD_LIBS) $(luajit_LIBS) $(liblz4_LIBS) \
|
||||||
$(libzstd_LIBS) $(lua_hobjects) $(lua_objects)
|
$(libzstd_LIBS) $(libpcap_LIBS) $(gnutls_LIBS) $(lua_hobjects) \
|
||||||
|
$(lua_objects)
|
||||||
dnsjit_LDFLAGS = -Wl,-E
|
dnsjit_LDFLAGS = -Wl,-E
|
||||||
man1_MANS = dnsjit.1
|
man1_MANS = dnsjit.1
|
||||||
man3_MANS = dnsjit.core.3 dnsjit.lib.3 dnsjit.input.3 dnsjit.filter.3 \
|
man3_MANS = dnsjit.core.3 dnsjit.lib.3 dnsjit.input.3 dnsjit.filter.3 \
|
||||||
|
@ -1130,7 +1138,6 @@ cscopelist-am: $(am__tagged_files)
|
||||||
|
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(BUILT_SOURCES)
|
distdir: $(BUILT_SOURCES)
|
||||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
@ -1200,7 +1207,8 @@ installdirs-am:
|
||||||
done
|
done
|
||||||
install: $(BUILT_SOURCES)
|
install: $(BUILT_SOURCES)
|
||||||
$(MAKE) $(AM_MAKEFLAGS) install-recursive
|
$(MAKE) $(AM_MAKEFLAGS) install-recursive
|
||||||
install-exec: install-exec-recursive
|
install-exec: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-exec-recursive
|
||||||
install-data: install-data-recursive
|
install-data: install-data-recursive
|
||||||
uninstall: uninstall-recursive
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
|
@ -1407,7 +1415,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man \
|
||||||
uninstall-man: uninstall-man1 uninstall-man3
|
uninstall-man: uninstall-man1 uninstall-man3
|
||||||
|
|
||||||
.MAKE: $(am__recursive_targets) all check install install-am \
|
.MAKE: $(am__recursive_targets) all check install install-am \
|
||||||
install-strip
|
install-exec install-strip
|
||||||
|
|
||||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||||
am--depfiles check check-am clean clean-binPROGRAMS \
|
am--depfiles check check-am clean clean-binPROGRAMS \
|
||||||
|
|
|
@ -100,9 +100,6 @@
|
||||||
/* Define to 1 if you have the <machine/endian.h> header file. */
|
/* Define to 1 if you have the <machine/endian.h> header file. */
|
||||||
#undef HAVE_MACHINE_ENDIAN_H
|
#undef HAVE_MACHINE_ENDIAN_H
|
||||||
|
|
||||||
/* Define to 1 if you have the <memory.h> header file. */
|
|
||||||
#undef HAVE_MEMORY_H
|
|
||||||
|
|
||||||
/* Define to 1 to support Multimedia Extensions */
|
/* Define to 1 to support Multimedia Extensions */
|
||||||
#undef HAVE_MMX
|
#undef HAVE_MMX
|
||||||
|
|
||||||
|
@ -118,31 +115,6 @@
|
||||||
/* Define to 1 if you have the <net/ethertypes.h> header file. */
|
/* Define to 1 if you have the <net/ethertypes.h> header file. */
|
||||||
#undef HAVE_NET_ETHERTYPES_H
|
#undef HAVE_NET_ETHERTYPES_H
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_activate' function. */
|
|
||||||
#undef HAVE_PCAP_ACTIVATE
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_create' function. */
|
|
||||||
#undef HAVE_PCAP_CREATE
|
|
||||||
|
|
||||||
/* Define to 1 if the system has the type `pcap_direction_t'. */
|
|
||||||
#undef HAVE_PCAP_DIRECTION_T
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_open_offline_with_tstamp_precision'
|
|
||||||
function. */
|
|
||||||
#undef HAVE_PCAP_OPEN_OFFLINE_WITH_TSTAMP_PRECISION
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_setdirection' function. */
|
|
||||||
#undef HAVE_PCAP_SETDIRECTION
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_set_immediate_mode' function. */
|
|
||||||
#undef HAVE_PCAP_SET_IMMEDIATE_MODE
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_set_tstamp_precision' function. */
|
|
||||||
#undef HAVE_PCAP_SET_TSTAMP_PRECISION
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pcap_set_tstamp_type' function. */
|
|
||||||
#undef HAVE_PCAP_SET_TSTAMP_TYPE
|
|
||||||
|
|
||||||
/* Define to 1 to support Prefetch Vector Data Into Caches WT1 */
|
/* Define to 1 to support Prefetch Vector Data Into Caches WT1 */
|
||||||
#undef HAVE_PREFETCHWT1
|
#undef HAVE_PREFETCHWT1
|
||||||
|
|
||||||
|
@ -155,9 +127,6 @@
|
||||||
/* Define to 1 to support Digital Random Number Generator */
|
/* Define to 1 to support Digital Random Number Generator */
|
||||||
#undef HAVE_RDRND
|
#undef HAVE_RDRND
|
||||||
|
|
||||||
/* Define to 1 if you have the `sched_yield' function. */
|
|
||||||
#undef HAVE_SCHED_YIELD
|
|
||||||
|
|
||||||
/* Define to 1 to support Secure Hash Algorithm Extension */
|
/* Define to 1 to support Secure Hash Algorithm Extension */
|
||||||
#undef HAVE_SHA
|
#undef HAVE_SHA
|
||||||
|
|
||||||
|
@ -185,6 +154,9 @@
|
||||||
/* Define to 1 if you have the <stdint.h> header file. */
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
#undef HAVE_STDINT_H
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdio.h> header file. */
|
||||||
|
#undef HAVE_STDIO_H
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
#undef HAVE_STDLIB_H
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
@ -285,10 +257,13 @@
|
||||||
/* The size of `void*', as computed by sizeof. */
|
/* The size of `void*', as computed by sizeof. */
|
||||||
#undef SIZEOF_VOIDP
|
#undef SIZEOF_VOIDP
|
||||||
|
|
||||||
/* Define to 1 if you have the ANSI C header files. */
|
/* Define to 1 if all of the C90 standard headers exist (not just the ones
|
||||||
|
required in a freestanding environment). This macro is provided for
|
||||||
|
backward compatibility; new code need not use it. */
|
||||||
#undef STDC_HEADERS
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. This
|
||||||
|
macro is obsolete. */
|
||||||
#undef TIME_WITH_SYS_TIME
|
#undef TIME_WITH_SYS_TIME
|
||||||
|
|
||||||
/* Version number of package */
|
/* Version number of package */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
@ -95,6 +95,12 @@ void core_object_dns_free(core_object_dns_t* self)
|
||||||
free(self);
|
free(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void core_object_dns_reset(core_object_dns_t* self)
|
||||||
|
{
|
||||||
|
mlassert_self();
|
||||||
|
*self = _defaults;
|
||||||
|
}
|
||||||
|
|
||||||
#define need8(v, p, l) \
|
#define need8(v, p, l) \
|
||||||
if (l < 1) { \
|
if (l < 1) { \
|
||||||
break; \
|
break; \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
@ -112,7 +112,7 @@ core_log_t* core_object_dns_log();
|
||||||
core_object_dns_t* core_object_dns_new();
|
core_object_dns_t* core_object_dns_new();
|
||||||
core_object_dns_t* core_object_dns_copy(const core_object_dns_t* self);
|
core_object_dns_t* core_object_dns_copy(const core_object_dns_t* self);
|
||||||
void core_object_dns_free(core_object_dns_t* self);
|
void core_object_dns_free(core_object_dns_t* self);
|
||||||
void core_object_dns_reset(core_object_dns_t* self, const core_object_t* obj);
|
void core_object_dns_reset(core_object_dns_t* self);
|
||||||
|
|
||||||
int core_object_dns_parse_header(core_object_dns_t* self);
|
int core_object_dns_parse_header(core_object_dns_t* self);
|
||||||
int core_object_dns_parse_q(core_object_dns_t* self, core_object_dns_q_t* q, core_object_dns_label_t* label, size_t labels);
|
int core_object_dns_parse_q(core_object_dns_t* self, core_object_dns_q_t* q, core_object_dns_label_t* label, size_t labels);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
@ -517,6 +517,11 @@ function Dns:free()
|
||||||
C.core_object_dns_free(self)
|
C.core_object_dns_free(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Reset the object readying it for reuse.
|
||||||
|
function Dns:reset()
|
||||||
|
C.core_object_dns_reset(self)
|
||||||
|
end
|
||||||
|
|
||||||
-- Return the Log object to control logging of this module.
|
-- Return the Log object to control logging of this module.
|
||||||
function Dns:log()
|
function Dns:log()
|
||||||
return C.core_object_dns_log()
|
return C.core_object_dns_log()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-- Copyright (c) 2018-2022, OARC, Inc.
|
-- Copyright (c) 2018-2023, OARC, Inc.
|
||||||
-- All rights reserved.
|
-- All rights reserved.
|
||||||
--
|
--
|
||||||
-- This file is part of dnsjit.
|
-- This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2022, OARC, Inc.
|
* Copyright (c) 2018-2023, OARC, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is part of dnsjit.
|
* This file is part of dnsjit.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue