Merging upstream version 1.5.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-04-21 09:36:50 +02:00
parent a137dccb14
commit a673ab8183
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
419 changed files with 3061 additions and 1380 deletions

41
CHANGES
View file

@ -1,3 +1,44 @@
2025-04-16 Jerry Lundström
Release v1.5.0
This releases adds a new function to return a label quoted as described
in RFC 1035, adds support for link-type Linux cooked v2 and fixes
padding calculations for UDP, IPv4 and IPv6 packets.
New:
- `core.object.dns.label`: Add `torfc1035()`
- `core.object`: Add `linuxsll2` object
- `filter.layer`: Add support for DLT_LINUX_SLL2
- `filter.copy`: Add support for DLT_LINUX_SLL2
Fixes:
- Fix #250: handle endian in tests
- Fix #252
- `core.object.ip6`: Add `hlen` for total length of header with all extensions
- `filter.layer`:
- correct UDP padding calculation
- Fix padding calculation for IPv4 packet when options exists
- Fix padding calculation for IPv6 packets
- Store `hlen` for IPv6 packets
- Add test for padding
Other changes:
- Simplify and speedup pcap2tcpdns example
d03a184 DLT_LINUX_SLL2
1cd3836 torfc1035
8d8746f Fix IPv6 hlen
75b634b Padding
b8bfcf8 Simplify and speedup pcap2tcpdns example
e37bb92 Fix log name in examples/pcap2tcpdns.lua
80b7c34 UDP padding
9a28aee ipsplit endian
375e9e8 SPEC
c82c0ca RPM
74fbda2 COPR tweaks
3691bd8 RPM spec
2024-08-28 Jerry Lundström
Release 1.4.0

View file

@ -1,4 +1,4 @@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.

View file

@ -14,7 +14,7 @@
@SET_MAKE@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.
@ -288,6 +288,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILECMD = @FILECMD@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@

View file

@ -137,7 +137,7 @@ See more examples in the [examples](https://github.com/DNS-OARC/dnsjit/tree/deve
## Copyright
Copyright (c) 2018-2024 OARC, Inc.
Copyright (c) 2018-2025 OARC, Inc.
All rights reserved.

72
aclocal.m4 vendored
View file

@ -20,7 +20,7 @@ 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.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*-
# serial 12 (pkg-config-0.29.2)
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
@ -108,7 +108,7 @@ dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl only at the first occurrence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
@ -296,6 +296,74 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
dnl [DESCRIPTION], [DEFAULT])
dnl ------------------------------------------
dnl
dnl Prepare a "--with-" configure option using the lowercase
dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
dnl PKG_CHECK_MODULES in a single macro.
AC_DEFUN([PKG_WITH_MODULES],
[
m4_pushdef([with_arg], m4_tolower([$1]))
m4_pushdef([description],
[m4_default([$5], [build with ]with_arg[ support])])
m4_pushdef([def_arg], [m4_default([$6], [auto])])
m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
m4_case(def_arg,
[yes],[m4_pushdef([with_without], [--without-]with_arg)],
[m4_pushdef([with_without],[--with-]with_arg)])
AC_ARG_WITH(with_arg,
AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
[AS_TR_SH([with_]with_arg)=def_arg])
AS_CASE([$AS_TR_SH([with_]with_arg)],
[yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
[auto],[PKG_CHECK_MODULES([$1],[$2],
[m4_n([def_action_if_found]) $3],
[m4_n([def_action_if_not_found]) $4])])
m4_popdef([with_arg])
m4_popdef([description])
m4_popdef([def_arg])
])dnl PKG_WITH_MODULES
dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
dnl [DESCRIPTION], [DEFAULT])
dnl -----------------------------------------------
dnl
dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
dnl check._[VARIABLE-PREFIX] is exported as make variable.
AC_DEFUN([PKG_HAVE_WITH_MODULES],
[
PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
AM_CONDITIONAL([HAVE_][$1],
[test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
])dnl PKG_HAVE_WITH_MODULES
dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
dnl [DESCRIPTION], [DEFAULT])
dnl ------------------------------------------------------
dnl
dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
dnl and preprocessor variable.
AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
[
PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
])dnl PKG_HAVE_DEFINE_WITH_MODULES
# Copyright (C) 2002-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation

315
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for dnsjit 1.4.0.
# Generated by GNU Autoconf 2.71 for dnsjit 1.5.0.
#
# Report bugs to <admin@dns-oarc.net>.
#
@ -621,8 +621,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dnsjit'
PACKAGE_TARNAME='dnsjit'
PACKAGE_VERSION='1.4.0'
PACKAGE_STRING='dnsjit 1.4.0'
PACKAGE_VERSION='1.5.0'
PACKAGE_STRING='dnsjit 1.5.0'
PACKAGE_BUGREPORT='admin@dns-oarc.net'
PACKAGE_URL='https://github.com/DNS-OARC/dnsjit/issues'
@ -700,6 +700,7 @@ MANIFEST_TOOL
RANLIB
DLLTOOL
OBJDUMP
FILECMD
LN_S
NM
ac_ct_DUMPBIN
@ -1400,7 +1401,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures dnsjit 1.4.0 to adapt to many kinds of systems.
\`configure' configures dnsjit 1.5.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1471,7 +1472,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of dnsjit 1.4.0:";;
short | recursive ) echo "Configuration of dnsjit 1.5.0:";;
esac
cat <<\_ACEOF
@ -1618,7 +1619,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
dnsjit configure 1.4.0
dnsjit configure 1.5.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@ -2106,7 +2107,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by dnsjit $as_me 1.4.0, which was
It was created by dnsjit $as_me 1.5.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@ -2866,7 +2867,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
printf "%s\n" "#define PACKAGE_MAJOR_VERSION 1" >>confdefs.h
printf "%s\n" "#define PACKAGE_MINOR_VERSION 4" >>confdefs.h
printf "%s\n" "#define PACKAGE_MINOR_VERSION 5" >>confdefs.h
printf "%s\n" "#define PACKAGE_PATCH_VERSION 0" >>confdefs.h
@ -3385,7 +3386,7 @@ fi
# Define the identity of the package.
PACKAGE='dnsjit'
VERSION='1.4.0'
VERSION='1.5.0'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@ -5012,8 +5013,8 @@ esac
macro_version='2.4.6'
macro_revision='2.4.6'
macro_version='2.4.7'
macro_revision='2.4.7'
@ -5566,13 +5567,13 @@ else
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
@ -5710,7 +5711,7 @@ esac
fi
fi
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
@ -5814,7 +5815,7 @@ else $as_nop
lt_cv_sys_max_cmd_len=8192;
;;
bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@ -5857,7 +5858,7 @@ else $as_nop
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@ -6062,6 +6063,114 @@ esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args.
set dummy ${ac_tool_prefix}file; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_FILECMD+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$FILECMD"; then
ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_FILECMD="${ac_tool_prefix}file"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
FILECMD=$ac_cv_prog_FILECMD
if test -n "$FILECMD"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5
printf "%s\n" "$FILECMD" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_FILECMD"; then
ac_ct_FILECMD=$FILECMD
# Extract the first word of "file", so it can be a program name with args.
set dummy file; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_FILECMD+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_FILECMD"; then
ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_FILECMD="file"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD
if test -n "$ac_ct_FILECMD"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5
printf "%s\n" "$ac_ct_FILECMD" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_FILECMD" = x; then
FILECMD=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
FILECMD=$ac_ct_FILECMD
fi
else
FILECMD="$ac_cv_prog_FILECMD"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
@ -6205,7 +6314,7 @@ beos*)
bsdi[45]*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_cmd='$FILECMD -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
@ -6239,14 +6348,14 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
freebsd* | dragonfly* | midnightbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
@ -6260,7 +6369,7 @@ haiku*)
;;
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_cmd=$FILECMD
case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
@ -6307,7 +6416,7 @@ netbsd* | netbsdelf*-gnu)
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
@ -6680,13 +6789,29 @@ esac
fi
: ${AR=ar}
: ${AR_FLAGS=cr}
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
# higher priority because thats what people were doing historically (setting
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
# variable obsoleted/removed.
test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
lt_ar_flags=$AR_FLAGS
# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
@ -7103,7 +7228,7 @@ esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
@ -7121,20 +7246,20 @@ fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
lt_cv_sys_global_symbol_to_cdecl="sed -n"\
lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
@ -7158,7 +7283,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
@ -7176,9 +7301,9 @@ for ac_symprfx in "" "_"; do
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
@ -7378,7 +7503,7 @@ case $with_sysroot in #(
fi
;; #(
/*)
lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
@ -7503,7 +7628,7 @@ ia64-*-hpux*)
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
case `$FILECMD conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
@ -7524,7 +7649,7 @@ ia64-*-hpux*)
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
@ -7536,7 +7661,7 @@ ia64-*-hpux*)
;;
esac
else
case `/usr/bin/file conftest.$ac_objext` in
case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
@ -7562,7 +7687,7 @@ mips64*-*linux*)
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
emul=elf
case `/usr/bin/file conftest.$ac_objext` in
case `$FILECMD conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
@ -7570,7 +7695,7 @@ mips64*-*linux*)
emul="${emul}64"
;;
esac
case `/usr/bin/file conftest.$ac_objext` in
case `$FILECMD conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
@ -7578,7 +7703,7 @@ mips64*-*linux*)
emul="${emul}ltsmip"
;;
esac
case `/usr/bin/file conftest.$ac_objext` in
case `$FILECMD conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
@ -7602,14 +7727,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
case `$FILECMD conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
case `/usr/bin/file conftest.o` in
case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
@ -7717,7 +7842,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
case `$FILECMD conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
@ -8500,8 +8625,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cr libconftest.a conftest.o" >&5
$AR cr libconftest.a conftest.o 2>&5
echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
$AR $AR_FLAGS libconftest.a conftest.o 2>&5
echo "$RANLIB libconftest.a" >&5
$RANLIB libconftest.a 2>&5
cat > conftest.c << _LT_EOF
@ -8528,16 +8653,11 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; }
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[912]*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
10.[012][,.]*)
darwin*)
case $MACOSX_DEPLOYMENT_TARGET,$host in
10.[012],*|,*powerpc*-darwin[5-8]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*|11.*)
*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
@ -8925,8 +9045,8 @@ esac
ofile=libtool
can_build_shared=yes
# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
# All known linkers require a '.a' archive for static linking (except MSVC and
# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@ -9444,7 +9564,7 @@ lt_prog_compiler_static=
lt_prog_compiler_static='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
case `$CC -V 2>&1 | $SED 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic='-KPIC'
@ -9867,15 +9987,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
@ -9930,7 +10050,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
whole_archive_flag_spec=
fi
supports_anon_versioning=no
case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@ -10042,6 +10162,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
file_list_spec='@'
;;
interix[3-9]*)
@ -10056,7 +10177,7 @@ _LT_EOF
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
@ -10099,7 +10220,7 @@ _LT_EOF
compiler_needs_object=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C 5.9
whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
@ -10111,13 +10232,14 @@ _LT_EOF
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
tcc*)
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
export_dynamic_flag_spec='-rdynamic'
;;
xlf* | bgf* | bgxlf* | mpixlf*)
@ -10127,7 +10249,7 @@ _LT_EOF
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
@ -10259,7 +10381,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@ -10530,12 +10652,12 @@ fi
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
cl*)
# Native MSVC
cl* | icl*)
# Native MSVC or ICC
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
always_export_symbols=yes
@ -10576,7 +10698,7 @@ fi
fi'
;;
*)
# Assume MSVC wrapper
# Assume MSVC and ICC wrapper
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
@ -10617,8 +10739,8 @@ fi
output_verbose_link_cmd=func_echo_all
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
@ -10652,7 +10774,7 @@ fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
freebsd* | dragonfly* | midnightbsd*)
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
@ -10833,6 +10955,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
# Fabrice Bellard et al's Tiny C Compiler
ld_shlibs=yes
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
;;
esac
;;
@ -10904,6 +11027,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
file_list_spec='@'
;;
osf3*)
@ -11596,7 +11720,7 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
@ -11606,14 +11730,14 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
*,cl*)
# Native MSVC
*,cl* | *,icl*)
# Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@ -11632,7 +11756,7 @@ cygwin* | mingw* | pw32* | cegcc*)
done
IFS=$lt_save_ifs
# Convert to MSYS style.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
@ -11669,7 +11793,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
# Assume MSVC wrapper
# Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@ -11702,7 +11826,7 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
freebsd* | dragonfly*)
freebsd* | dragonfly* | midnightbsd*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
@ -12867,19 +12991,29 @@ striplib=
old_striplib=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
printf %s "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
if test -z "$STRIP"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
old_striplib="$STRIP --strip-debug"
striplib="$STRIP --strip-unneeded"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
if test -n "$STRIP"; then
# FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
;;
freebsd*)
if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
old_striplib="$STRIP --strip-debug"
striplib="$STRIP --strip-unneeded"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
@ -12892,6 +13026,7 @@ printf "%s\n" "no" >&6; }
;;
esac
fi
fi
@ -17171,7 +17306,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by dnsjit $as_me 1.4.0, which was
This file was extended by dnsjit $as_me 1.5.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -17240,7 +17375,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
dnsjit config.status 1.4.0
dnsjit config.status 1.5.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
@ -17403,6 +17538,7 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`'
OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
@ -17411,6 +17547,7 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
@ -17531,6 +17668,7 @@ LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
FILECMD \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@ -17539,7 +17677,6 @@ want_nocaseglob \
DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
AR_FLAGS \
archiver_list_spec \
STRIP \
RANLIB \
@ -18484,6 +18621,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
# convert \$build files to toolchain format.
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
# A file(cmd) program that detects file types.
FILECMD=$lt_FILECMD
# An object symbol dumper.
OBJDUMP=$lt_OBJDUMP
@ -18508,8 +18648,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
# The archiver.
AR=$lt_AR
# Flags to create an archive (by configure).
lt_ar_flags=$lt_ar_flags
# Flags to create an archive.
AR_FLAGS=$lt_AR_FLAGS
AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
# How to feed a file listing to the archiver.
archiver_list_spec=$lt_archiver_list_spec
@ -18885,7 +19028,7 @@ ltmain=$ac_aux_dir/ltmain.sh
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
sed '$q' "$ltmain" >> "$cfgfile" \
$SED '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||

View file

@ -1,4 +1,4 @@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.
@ -17,9 +17,9 @@
# along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.64)
AC_INIT([dnsjit], [1.4.0], [admin@dns-oarc.net], [dnsjit], [https://github.com/DNS-OARC/dnsjit/issues])
AC_INIT([dnsjit], [1.5.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_MINOR_VERSION], [4], [Define to the minor version of this package.])
AC_DEFINE([PACKAGE_MINOR_VERSION], [5], [Define to the minor 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])
AC_CONFIG_SRCDIR([src/dnsjit.c])

View file

@ -1,4 +1,4 @@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.

View file

@ -14,7 +14,7 @@
@SET_MAKE@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.
@ -209,6 +209,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILECMD = @FILECMD@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@

View file

@ -3,18 +3,20 @@
-- 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 preambule which specifies length of the following DNS packet in
-- network byte order, immediately followed by raw bytes of the packet.
-- 2-byte preambule which specifies length of the following DNS message in
-- network byte order, immediately followed by raw bytes of the DNS message.
--
-- Outputs raw binary to stdout!
--
-- This script does not do any filtering or input sanitation.
-- Outputs raw binary to stdout!
-- For filtering capabilities look at dnscap -o dump_format=tcpdns
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 log = require("dnsjit.core.log").new("pcap2tcpdns")
local getopt = require("dnsjit.lib.getopt").new({
{ "r", "read", "-", "input file to read, use - for stdin", "?" },
})
@ -54,27 +56,23 @@ 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
local obj, obj_udp, obj_pl
local npacketsout = 0
local npacketsskip = 0
local UDP_ID = object.UDP
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.
if obj_pl ~= nil and obj_pl.len <= 65535 and obj_pl:prev().obj_type == UDP_ID then
-- RFC 1035 framing has just the DNS message size as two bytes (big-endian).
put_uint16_be(tmpbuf, 0, obj_udp.ulen - 8)
put_uint16_be(tmpbuf, 0, obj_pl.len)
io.stdout:write(ffi.string(tmpbuf, 2))
io.stdout:write(ffi.string(obj_pl.payload, obj_pl.len))
npacketsout = npacketsout + 1
else
npacketsskip = npacketsskip + 1
end
end
log:info(string.format("processed %d packets", npacketsin))
log:info(string.format("%d packets copied, %d skipped", npacketsout, npacketsskip))

View file

@ -1,4 +1,4 @@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.
@ -48,16 +48,16 @@ dnsjit_LDADD = $(PTHREAD_LIBS) $(luajit_LIBS) $(liblz4_LIBS) $(libzstd_LIBS) \
$(libpcap_LIBS) $(gnutls_LIBS) $(liblzma_LIBS)
# 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/zmmpcap.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
nobase_dnsjitinclude_HEADERS += core/assert.h core/channel.h core/compat.h core/file.h core/log.h core/object/dns.h core/object/ether.h core/object/gre.h core/object.h core/object/icmp6.h core/object/icmp.h core/object/ieee802.h core/object/ip6.h core/object/ip.h core/object/linuxsll.h core/object/loop.h core/object/null.h core/object/payload.h core/object/pcap.h core/object/tcp.h core/object/udp.h core/producer.h core/receiver.h core/thread.h core/timespec.h filter/copy.h filter/ipsplit.h filter/layer.h filter/split.h filter/timing.h input/fpcap.h input/mmpcap.h input/pcap.h input/zmmpcap.h input/zpcap.h lib/base64url.h lib/clock.h lib/trie.h output/dnscli.h output/pcap.h output/respdiff.h output/tcpcli.h output/tlscli.h output/udpcli.h
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/linuxsll2.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/zmmpcap.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
nobase_dnsjitinclude_HEADERS += core/assert.h core/channel.h core/compat.h core/file.h core/log.h core/object/dns.h core/object/ether.h core/object/gre.h core/object.h core/object/icmp6.h core/object/icmp.h core/object/ieee802.h core/object/ip6.h core/object/ip.h core/object/linuxsll2.h core/object/linuxsll.h core/object/loop.h core/object/null.h core/object/payload.h core/object/pcap.h core/object/tcp.h core/object/udp.h core/producer.h core/receiver.h core/thread.h core/timespec.h filter/copy.h filter/ipsplit.h filter/layer.h filter/split.h filter/timing.h input/fpcap.h input/mmpcap.h input/pcap.h input/zmmpcap.h input/zpcap.h lib/base64url.h lib/clock.h lib/trie.h output/dnscli.h output/pcap.h output/respdiff.h output/tcpcli.h output/tlscli.h output/udpcli.h
# Lua headers
nobase_dnsjitinclude_HEADERS += core/channel.hh core/file.hh core/log.hh core/object/dns.hh core/object/ether.hh core/object/gre.hh core/object.hh core/object/icmp6.hh core/object/icmp.hh core/object/ieee802.hh core/object/ip6.hh core/object/ip.hh core/object/linuxsll.hh core/object/loop.hh core/object/null.hh core/object/payload.hh core/object/pcap.hh core/object/tcp.hh core/object/udp.hh core/producer.hh core/receiver.hh core/thread.hh core/timespec.hh filter/copy.hh filter/ipsplit.hh filter/layer.hh filter/split.hh filter/timing.hh input/fpcap.hh input/mmpcap.hh input/pcap.hh input/zmmpcap.hh input/zpcap.hh lib/base64url.hh lib/clock.hh lib/trie.hh output/dnscli.hh output/pcap.hh output/respdiff.hh output/tcpcli.hh output/tlscli.hh output/udpcli.hh
lua_hobjects += core/channel.luaho core/file.luaho core/log.luaho core/object/dns.luaho core/object/ether.luaho core/object/gre.luaho core/object/icmp6.luaho core/object/icmp.luaho core/object/ieee802.luaho core/object/ip6.luaho core/object/ip.luaho core/object/linuxsll.luaho core/object/loop.luaho core/object.luaho core/object/null.luaho core/object/payload.luaho core/object/pcap.luaho core/object/tcp.luaho core/object/udp.luaho core/producer.luaho core/receiver.luaho core/thread.luaho core/timespec.luaho filter/copy.luaho filter/ipsplit.luaho filter/layer.luaho filter/split.luaho filter/timing.luaho input/fpcap.luaho input/mmpcap.luaho input/pcap.luaho input/zmmpcap.luaho input/zpcap.luaho lib/base64url.luaho lib/clock.luaho lib/trie.luaho output/dnscli.luaho output/pcap.luaho output/respdiff.luaho output/tcpcli.luaho output/tlscli.luaho output/udpcli.luaho
nobase_dnsjitinclude_HEADERS += core/channel.hh core/file.hh core/log.hh core/object/dns.hh core/object/ether.hh core/object/gre.hh core/object.hh core/object/icmp6.hh core/object/icmp.hh core/object/ieee802.hh core/object/ip6.hh core/object/ip.hh core/object/linuxsll2.hh core/object/linuxsll.hh core/object/loop.hh core/object/null.hh core/object/payload.hh core/object/pcap.hh core/object/tcp.hh core/object/udp.hh core/producer.hh core/receiver.hh core/thread.hh core/timespec.hh filter/copy.hh filter/ipsplit.hh filter/layer.hh filter/split.hh filter/timing.hh input/fpcap.hh input/mmpcap.hh input/pcap.hh input/zmmpcap.hh input/zpcap.hh lib/base64url.hh lib/clock.hh lib/trie.hh output/dnscli.hh output/pcap.hh output/respdiff.hh output/tcpcli.hh output/tlscli.hh output/udpcli.hh
lua_hobjects += core/channel.luaho core/file.luaho core/log.luaho core/object/dns.luaho core/object/ether.luaho core/object/gre.luaho core/object/icmp6.luaho core/object/icmp.luaho core/object/ieee802.luaho core/object/ip6.luaho core/object/ip.luaho core/object/linuxsll2.luaho core/object/linuxsll.luaho core/object/loop.luaho core/object.luaho core/object/null.luaho core/object/payload.luaho core/object/pcap.luaho core/object/tcp.luaho core/object/udp.luaho core/producer.luaho core/receiver.luaho core/thread.luaho core/timespec.luaho filter/copy.luaho filter/ipsplit.luaho filter/layer.luaho filter/split.luaho filter/timing.luaho input/fpcap.luaho input/mmpcap.luaho input/pcap.luaho input/zmmpcap.luaho input/zpcap.luaho lib/base64url.luaho lib/clock.luaho lib/trie.luaho output/dnscli.luaho output/pcap.luaho output/respdiff.luaho output/tcpcli.luaho output/tlscli.luaho output/udpcli.luaho
# Lua sources
dist_dnsjit_SOURCES += core/channel.lua core/compat.lua core/file.lua core/loader.lua core/log.lua core/object/dns/label.lua core/object/dns.lua core/object/dns/q.lua core/object/dns/rr.lua core/object/ether.lua core/object/gre.lua core/object/icmp6.lua core/object/icmp.lua core/object/ieee802.lua core/object/ip6.lua core/object/ip.lua core/object/linuxsll.lua core/object/loop.lua core/object.lua core/object/null.lua core/object/payload.lua core/object/pcap.lua core/objects.lua core/object/tcp.lua core/object/udp.lua core/producer.lua core/receiver.lua core/thread.lua core/timespec.lua filter/copy.lua filter/ipsplit.lua filter/layer.lua filter/split.lua filter/timing.lua input/fpcap.lua input/mmpcap.lua input/pcap.lua input/zero.lua input/zmmpcap.lua input/zpcap.lua lib/base64url.lua lib/clock.lua lib/getopt.lua lib/ip.lua lib/parseconf.lua lib/trie/iter.lua lib/trie.lua lib/trie/node.lua output/dnscli.lua output/null.lua output/pcap.lua output/respdiff.lua output/tcpcli.lua output/tlscli.lua output/udpcli.lua
lua_objects += core/channel.luao core/compat.luao core/file.luao core/loader.luao core/log.luao core/object/dns/label.luao core/object/dns.luao core/object/dns/q.luao core/object/dns/rr.luao core/object/ether.luao core/object/gre.luao core/object/icmp6.luao core/object/icmp.luao core/object/ieee802.luao core/object/ip6.luao core/object/ip.luao core/object/linuxsll.luao core/object/loop.luao core/object.luao core/object/null.luao core/object/payload.luao core/object/pcap.luao core/objects.luao core/object/tcp.luao core/object/udp.luao core/producer.luao core/receiver.luao core/thread.luao core/timespec.luao filter/copy.luao filter/ipsplit.luao filter/layer.luao filter/split.luao filter/timing.luao input/fpcap.luao input/mmpcap.luao input/pcap.luao input/zero.luao input/zmmpcap.luao input/zpcap.luao lib/base64url.luao lib/clock.luao lib/getopt.luao lib/ip.luao lib/parseconf.luao lib/trie/iter.luao lib/trie.luao lib/trie/node.luao output/dnscli.luao output/null.luao output/pcap.luao output/respdiff.luao output/tcpcli.luao output/tlscli.luao output/udpcli.luao
dist_dnsjit_SOURCES += core/channel.lua core/compat.lua core/file.lua core/loader.lua core/log.lua core/object/dns/label.lua core/object/dns.lua core/object/dns/q.lua core/object/dns/rr.lua core/object/ether.lua core/object/gre.lua core/object/icmp6.lua core/object/icmp.lua core/object/ieee802.lua core/object/ip6.lua core/object/ip.lua core/object/linuxsll2.lua core/object/linuxsll.lua core/object/loop.lua core/object.lua core/object/null.lua core/object/payload.lua core/object/pcap.lua core/objects.lua core/object/tcp.lua core/object/udp.lua core/producer.lua core/receiver.lua core/thread.lua core/timespec.lua filter/copy.lua filter/ipsplit.lua filter/layer.lua filter/split.lua filter/timing.lua input/fpcap.lua input/mmpcap.lua input/pcap.lua input/zero.lua input/zmmpcap.lua input/zpcap.lua lib/base64url.lua lib/clock.lua lib/getopt.lua lib/ip.lua lib/parseconf.lua lib/trie/iter.lua lib/trie.lua lib/trie/node.lua output/dnscli.lua output/null.lua output/pcap.lua output/respdiff.lua output/tcpcli.lua output/tlscli.lua output/udpcli.lua
lua_objects += core/channel.luao core/compat.luao core/file.luao core/loader.luao core/log.luao core/object/dns/label.luao core/object/dns.luao core/object/dns/q.luao core/object/dns/rr.luao core/object/ether.luao core/object/gre.luao core/object/icmp6.luao core/object/icmp.luao core/object/ieee802.luao core/object/ip6.luao core/object/ip.luao core/object/linuxsll2.luao core/object/linuxsll.luao core/object/loop.luao core/object.luao core/object/null.luao core/object/payload.luao core/object/pcap.luao core/objects.luao core/object/tcp.luao core/object/udp.luao core/producer.luao core/receiver.luao core/thread.luao core/timespec.luao filter/copy.luao filter/ipsplit.luao filter/layer.luao filter/split.luao filter/timing.luao input/fpcap.luao input/mmpcap.luao input/pcap.luao input/zero.luao input/zmmpcap.luao input/zpcap.luao lib/base64url.luao lib/clock.luao lib/getopt.luao lib/ip.luao lib/parseconf.luao lib/trie/iter.luao lib/trie.luao lib/trie/node.luao output/dnscli.luao output/null.luao output/pcap.luao output/respdiff.luao output/tcpcli.luao output/tlscli.luao output/udpcli.luao
dnsjit_LDFLAGS = -Wl,-E
dnsjit_LDADD += $(lua_hobjects) $(lua_objects)
@ -67,7 +67,7 @@ man1_MANS = dnsjit.1
CLEANFILES += $(man1_MANS)
man3_MANS = dnsjit.core.3 dnsjit.lib.3 dnsjit.input.3 dnsjit.filter.3 dnsjit.output.3
man3_MANS += dnsjit.core.channel.3 dnsjit.core.compat.3 dnsjit.core.file.3 dnsjit.core.loader.3 dnsjit.core.log.3 dnsjit.core.object.3 dnsjit.core.object.dns.3 dnsjit.core.object.dns.label.3 dnsjit.core.object.dns.q.3 dnsjit.core.object.dns.rr.3 dnsjit.core.object.ether.3 dnsjit.core.object.gre.3 dnsjit.core.object.icmp.3 dnsjit.core.object.icmp6.3 dnsjit.core.object.ieee802.3 dnsjit.core.object.ip.3 dnsjit.core.object.ip6.3 dnsjit.core.object.linuxsll.3 dnsjit.core.object.loop.3 dnsjit.core.object.null.3 dnsjit.core.object.payload.3 dnsjit.core.object.pcap.3 dnsjit.core.objects.3 dnsjit.core.object.tcp.3 dnsjit.core.object.udp.3 dnsjit.core.producer.3 dnsjit.core.receiver.3 dnsjit.core.thread.3 dnsjit.core.timespec.3 dnsjit.filter.copy.3 dnsjit.filter.ipsplit.3 dnsjit.filter.layer.3 dnsjit.filter.split.3 dnsjit.filter.timing.3 dnsjit.input.fpcap.3 dnsjit.input.mmpcap.3 dnsjit.input.pcap.3 dnsjit.input.zero.3 dnsjit.input.zmmpcap.3 dnsjit.input.zpcap.3 dnsjit.lib.base64url.3 dnsjit.lib.clock.3 dnsjit.lib.getopt.3 dnsjit.lib.ip.3 dnsjit.lib.parseconf.3 dnsjit.lib.trie.3 dnsjit.lib.trie.iter.3 dnsjit.lib.trie.node.3 dnsjit.output.dnscli.3 dnsjit.output.null.3 dnsjit.output.pcap.3 dnsjit.output.respdiff.3 dnsjit.output.tcpcli.3 dnsjit.output.tlscli.3 dnsjit.output.udpcli.3
man3_MANS += dnsjit.core.channel.3 dnsjit.core.compat.3 dnsjit.core.file.3 dnsjit.core.loader.3 dnsjit.core.log.3 dnsjit.core.object.3 dnsjit.core.object.dns.3 dnsjit.core.object.dns.label.3 dnsjit.core.object.dns.q.3 dnsjit.core.object.dns.rr.3 dnsjit.core.object.ether.3 dnsjit.core.object.gre.3 dnsjit.core.object.icmp.3 dnsjit.core.object.icmp6.3 dnsjit.core.object.ieee802.3 dnsjit.core.object.ip.3 dnsjit.core.object.ip6.3 dnsjit.core.object.linuxsll2.3 dnsjit.core.object.linuxsll.3 dnsjit.core.object.loop.3 dnsjit.core.object.null.3 dnsjit.core.object.payload.3 dnsjit.core.object.pcap.3 dnsjit.core.objects.3 dnsjit.core.object.tcp.3 dnsjit.core.object.udp.3 dnsjit.core.producer.3 dnsjit.core.receiver.3 dnsjit.core.thread.3 dnsjit.core.timespec.3 dnsjit.filter.copy.3 dnsjit.filter.ipsplit.3 dnsjit.filter.layer.3 dnsjit.filter.split.3 dnsjit.filter.timing.3 dnsjit.input.fpcap.3 dnsjit.input.mmpcap.3 dnsjit.input.pcap.3 dnsjit.input.zero.3 dnsjit.input.zmmpcap.3 dnsjit.input.zpcap.3 dnsjit.lib.base64url.3 dnsjit.lib.clock.3 dnsjit.lib.getopt.3 dnsjit.lib.ip.3 dnsjit.lib.parseconf.3 dnsjit.lib.trie.3 dnsjit.lib.trie.iter.3 dnsjit.lib.trie.node.3 dnsjit.output.dnscli.3 dnsjit.output.null.3 dnsjit.output.pcap.3 dnsjit.output.respdiff.3 dnsjit.output.tcpcli.3 dnsjit.output.tlscli.3 dnsjit.output.udpcli.3
CLEANFILES += *.3in $(man3_MANS)
.lua.luao:
@ -175,6 +175,9 @@ dnsjit.core.object.ip6.3in: core/object/ip6.lua gen-manpage.lua
dnsjit.core.object.ip.3in: core/object/ip.lua gen-manpage.lua
$(LUAJIT) "$(srcdir)/gen-manpage.lua" "$(srcdir)/core/object/ip.lua" > "$@"
dnsjit.core.object.linuxsll2.3in: core/object/linuxsll2.lua gen-manpage.lua
$(LUAJIT) "$(srcdir)/gen-manpage.lua" "$(srcdir)/core/object/linuxsll2.lua" > "$@"
dnsjit.core.object.linuxsll.3in: core/object/linuxsll.lua gen-manpage.lua
$(LUAJIT) "$(srcdir)/gen-manpage.lua" "$(srcdir)/core/object/linuxsll.lua" > "$@"

View file

@ -14,7 +14,7 @@
@SET_MAKE@
# Copyright (c) 2018-2024 OARC, Inc.
# Copyright (c) 2018-2025 OARC, Inc.
# All rights reserved.
#
# This file is part of dnsjit.
@ -141,20 +141,21 @@ am_dnsjit_OBJECTS = dnsjit.$(OBJEXT) globals.$(OBJEXT) \
core/object/gre.$(OBJEXT) core/object/icmp6.$(OBJEXT) \
core/object/icmp.$(OBJEXT) core/object/ieee802.$(OBJEXT) \
core/object/ip6.$(OBJEXT) core/object/ip.$(OBJEXT) \
core/object/linuxsll.$(OBJEXT) core/object/loop.$(OBJEXT) \
core/object/null.$(OBJEXT) core/object/payload.$(OBJEXT) \
core/object/pcap.$(OBJEXT) core/object/tcp.$(OBJEXT) \
core/object/udp.$(OBJEXT) core/producer.$(OBJEXT) \
core/receiver.$(OBJEXT) core/thread.$(OBJEXT) \
filter/copy.$(OBJEXT) filter/ipsplit.$(OBJEXT) \
filter/layer.$(OBJEXT) filter/split.$(OBJEXT) \
filter/timing.$(OBJEXT) input/fpcap.$(OBJEXT) \
input/mmpcap.$(OBJEXT) input/pcap.$(OBJEXT) \
input/zmmpcap.$(OBJEXT) input/zpcap.$(OBJEXT) \
lib/base64url.$(OBJEXT) lib/clock.$(OBJEXT) lib/trie.$(OBJEXT) \
output/dnscli.$(OBJEXT) output/pcap.$(OBJEXT) \
output/respdiff.$(OBJEXT) output/tcpcli.$(OBJEXT) \
output/tlscli.$(OBJEXT) output/udpcli.$(OBJEXT)
core/object/linuxsll2.$(OBJEXT) core/object/linuxsll.$(OBJEXT) \
core/object/loop.$(OBJEXT) core/object/null.$(OBJEXT) \
core/object/payload.$(OBJEXT) core/object/pcap.$(OBJEXT) \
core/object/tcp.$(OBJEXT) core/object/udp.$(OBJEXT) \
core/producer.$(OBJEXT) core/receiver.$(OBJEXT) \
core/thread.$(OBJEXT) filter/copy.$(OBJEXT) \
filter/ipsplit.$(OBJEXT) filter/layer.$(OBJEXT) \
filter/split.$(OBJEXT) filter/timing.$(OBJEXT) \
input/fpcap.$(OBJEXT) input/mmpcap.$(OBJEXT) \
input/pcap.$(OBJEXT) input/zmmpcap.$(OBJEXT) \
input/zpcap.$(OBJEXT) lib/base64url.$(OBJEXT) \
lib/clock.$(OBJEXT) lib/trie.$(OBJEXT) output/dnscli.$(OBJEXT) \
output/pcap.$(OBJEXT) output/respdiff.$(OBJEXT) \
output/tcpcli.$(OBJEXT) output/tlscli.$(OBJEXT) \
output/udpcli.$(OBJEXT)
dist_dnsjit_OBJECTS =
dnsjit_OBJECTS = $(am_dnsjit_OBJECTS) $(dist_dnsjit_OBJECTS)
am__DEPENDENCIES_1 =
@ -194,6 +195,7 @@ am__depfiles_remade = ./$(DEPDIR)/dnsjit.Po ./$(DEPDIR)/globals.Po \
core/object/$(DEPDIR)/icmp6.Po \
core/object/$(DEPDIR)/ieee802.Po core/object/$(DEPDIR)/ip.Po \
core/object/$(DEPDIR)/ip6.Po core/object/$(DEPDIR)/linuxsll.Po \
core/object/$(DEPDIR)/linuxsll2.Po \
core/object/$(DEPDIR)/loop.Po core/object/$(DEPDIR)/null.Po \
core/object/$(DEPDIR)/payload.Po core/object/$(DEPDIR)/pcap.Po \
core/object/$(DEPDIR)/tcp.Po core/object/$(DEPDIR)/udp.Po \
@ -358,6 +360,7 @@ EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILECMD = @FILECMD@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
@ -495,15 +498,16 @@ dnsjit_SOURCES = dnsjit.c globals.c 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/zmmpcap.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
core/object/ip.c core/object/linuxsll2.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/zmmpcap.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
# Lua sources
dist_dnsjit_SOURCES = core.lua lib.lua input.lua filter.lua output.lua \
@ -513,19 +517,20 @@ dist_dnsjit_SOURCES = core.lua lib.lua input.lua filter.lua output.lua \
core/object/ether.lua core/object/gre.lua \
core/object/icmp6.lua core/object/icmp.lua \
core/object/ieee802.lua core/object/ip6.lua core/object/ip.lua \
core/object/linuxsll.lua core/object/loop.lua core/object.lua \
core/object/null.lua core/object/payload.lua \
core/object/pcap.lua core/objects.lua core/object/tcp.lua \
core/object/udp.lua core/producer.lua core/receiver.lua \
core/thread.lua core/timespec.lua filter/copy.lua \
filter/ipsplit.lua filter/layer.lua filter/split.lua \
filter/timing.lua input/fpcap.lua input/mmpcap.lua \
input/pcap.lua input/zero.lua input/zmmpcap.lua \
input/zpcap.lua lib/base64url.lua lib/clock.lua lib/getopt.lua \
lib/ip.lua lib/parseconf.lua lib/trie/iter.lua lib/trie.lua \
lib/trie/node.lua output/dnscli.lua output/null.lua \
output/pcap.lua output/respdiff.lua output/tcpcli.lua \
output/tlscli.lua output/udpcli.lua
core/object/linuxsll2.lua core/object/linuxsll.lua \
core/object/loop.lua core/object.lua core/object/null.lua \
core/object/payload.lua core/object/pcap.lua core/objects.lua \
core/object/tcp.lua core/object/udp.lua core/producer.lua \
core/receiver.lua core/thread.lua core/timespec.lua \
filter/copy.lua filter/ipsplit.lua filter/layer.lua \
filter/split.lua filter/timing.lua input/fpcap.lua \
input/mmpcap.lua input/pcap.lua input/zero.lua \
input/zmmpcap.lua input/zpcap.lua lib/base64url.lua \
lib/clock.lua lib/getopt.lua lib/ip.lua lib/parseconf.lua \
lib/trie/iter.lua lib/trie.lua lib/trie/node.lua \
output/dnscli.lua output/null.lua output/pcap.lua \
output/respdiff.lua output/tcpcli.lua output/tlscli.lua \
output/udpcli.lua
dnsjitincludedir = $(includedir)/dnsjit
# Lua headers
@ -534,45 +539,46 @@ nobase_dnsjitinclude_HEADERS = globals.h version.h core/assert.h \
core/object/dns.h core/object/ether.h core/object/gre.h \
core/object.h core/object/icmp6.h core/object/icmp.h \
core/object/ieee802.h core/object/ip6.h core/object/ip.h \
core/object/linuxsll.h core/object/loop.h core/object/null.h \
core/object/payload.h core/object/pcap.h core/object/tcp.h \
core/object/udp.h core/producer.h core/receiver.h \
core/thread.h core/timespec.h filter/copy.h filter/ipsplit.h \
filter/layer.h filter/split.h filter/timing.h input/fpcap.h \
input/mmpcap.h input/pcap.h input/zmmpcap.h input/zpcap.h \
lib/base64url.h lib/clock.h lib/trie.h output/dnscli.h \
output/pcap.h output/respdiff.h output/tcpcli.h \
output/tlscli.h output/udpcli.h core/channel.hh core/file.hh \
core/log.hh core/object/dns.hh core/object/ether.hh \
core/object/gre.hh core/object.hh core/object/icmp6.hh \
core/object/icmp.hh core/object/ieee802.hh core/object/ip6.hh \
core/object/ip.hh core/object/linuxsll.hh core/object/loop.hh \
core/object/null.hh core/object/payload.hh core/object/pcap.hh \
core/object/tcp.hh core/object/udp.hh core/producer.hh \
core/receiver.hh core/thread.hh core/timespec.hh \
filter/copy.hh filter/ipsplit.hh filter/layer.hh \
filter/split.hh filter/timing.hh input/fpcap.hh \
input/mmpcap.hh input/pcap.hh input/zmmpcap.hh input/zpcap.hh \
lib/base64url.hh lib/clock.hh lib/trie.hh output/dnscli.hh \
output/pcap.hh output/respdiff.hh output/tcpcli.hh \
output/tlscli.hh output/udpcli.hh
core/object/linuxsll2.h core/object/linuxsll.h \
core/object/loop.h core/object/null.h core/object/payload.h \
core/object/pcap.h core/object/tcp.h core/object/udp.h \
core/producer.h core/receiver.h core/thread.h core/timespec.h \
filter/copy.h filter/ipsplit.h filter/layer.h filter/split.h \
filter/timing.h input/fpcap.h input/mmpcap.h input/pcap.h \
input/zmmpcap.h input/zpcap.h lib/base64url.h lib/clock.h \
lib/trie.h output/dnscli.h output/pcap.h output/respdiff.h \
output/tcpcli.h output/tlscli.h output/udpcli.h \
core/channel.hh core/file.hh core/log.hh core/object/dns.hh \
core/object/ether.hh core/object/gre.hh core/object.hh \
core/object/icmp6.hh core/object/icmp.hh \
core/object/ieee802.hh core/object/ip6.hh core/object/ip.hh \
core/object/linuxsll2.hh core/object/linuxsll.hh \
core/object/loop.hh core/object/null.hh core/object/payload.hh \
core/object/pcap.hh core/object/tcp.hh core/object/udp.hh \
core/producer.hh core/receiver.hh core/thread.hh \
core/timespec.hh filter/copy.hh filter/ipsplit.hh \
filter/layer.hh filter/split.hh filter/timing.hh \
input/fpcap.hh input/mmpcap.hh input/pcap.hh input/zmmpcap.hh \
input/zpcap.hh lib/base64url.hh lib/clock.hh lib/trie.hh \
output/dnscli.hh output/pcap.hh output/respdiff.hh \
output/tcpcli.hh output/tlscli.hh output/udpcli.hh
lua_hobjects = core/compat.luaho core/channel.luaho core/file.luaho \
core/log.luaho core/object/dns.luaho core/object/ether.luaho \
core/object/gre.luaho core/object/icmp6.luaho \
core/object/icmp.luaho core/object/ieee802.luaho \
core/object/ip6.luaho core/object/ip.luaho \
core/object/linuxsll.luaho core/object/loop.luaho \
core/object.luaho core/object/null.luaho \
core/object/payload.luaho core/object/pcap.luaho \
core/object/tcp.luaho core/object/udp.luaho \
core/producer.luaho core/receiver.luaho core/thread.luaho \
core/timespec.luaho filter/copy.luaho filter/ipsplit.luaho \
filter/layer.luaho filter/split.luaho filter/timing.luaho \
input/fpcap.luaho input/mmpcap.luaho input/pcap.luaho \
input/zmmpcap.luaho input/zpcap.luaho lib/base64url.luaho \
lib/clock.luaho lib/trie.luaho output/dnscli.luaho \
output/pcap.luaho output/respdiff.luaho output/tcpcli.luaho \
output/tlscli.luaho output/udpcli.luaho
core/object/linuxsll2.luaho core/object/linuxsll.luaho \
core/object/loop.luaho core/object.luaho \
core/object/null.luaho core/object/payload.luaho \
core/object/pcap.luaho core/object/tcp.luaho \
core/object/udp.luaho core/producer.luaho core/receiver.luaho \
core/thread.luaho core/timespec.luaho filter/copy.luaho \
filter/ipsplit.luaho filter/layer.luaho filter/split.luaho \
filter/timing.luaho input/fpcap.luaho input/mmpcap.luaho \
input/pcap.luaho input/zmmpcap.luaho input/zpcap.luaho \
lib/base64url.luaho lib/clock.luaho lib/trie.luaho \
output/dnscli.luaho output/pcap.luaho output/respdiff.luaho \
output/tcpcli.luaho output/tlscli.luaho output/udpcli.luaho
lua_objects = core.luao lib.luao input.luao filter.luao output.luao \
core/channel.luao core/compat.luao core/file.luao \
core/loader.luao core/log.luao core/object/dns/label.luao \
@ -581,8 +587,8 @@ lua_objects = core.luao lib.luao input.luao filter.luao output.luao \
core/object/gre.luao core/object/icmp6.luao \
core/object/icmp.luao core/object/ieee802.luao \
core/object/ip6.luao core/object/ip.luao \
core/object/linuxsll.luao core/object/loop.luao \
core/object.luao core/object/null.luao \
core/object/linuxsll2.luao core/object/linuxsll.luao \
core/object/loop.luao core/object.luao core/object/null.luao \
core/object/payload.luao core/object/pcap.luao \
core/objects.luao core/object/tcp.luao core/object/udp.luao \
core/producer.luao core/receiver.luao core/thread.luao \
@ -609,24 +615,24 @@ man3_MANS = dnsjit.core.3 dnsjit.lib.3 dnsjit.input.3 dnsjit.filter.3 \
dnsjit.core.object.gre.3 dnsjit.core.object.icmp.3 \
dnsjit.core.object.icmp6.3 dnsjit.core.object.ieee802.3 \
dnsjit.core.object.ip.3 dnsjit.core.object.ip6.3 \
dnsjit.core.object.linuxsll.3 dnsjit.core.object.loop.3 \
dnsjit.core.object.null.3 dnsjit.core.object.payload.3 \
dnsjit.core.object.pcap.3 dnsjit.core.objects.3 \
dnsjit.core.object.tcp.3 dnsjit.core.object.udp.3 \
dnsjit.core.producer.3 dnsjit.core.receiver.3 \
dnsjit.core.thread.3 dnsjit.core.timespec.3 \
dnsjit.filter.copy.3 dnsjit.filter.ipsplit.3 \
dnsjit.filter.layer.3 dnsjit.filter.split.3 \
dnsjit.filter.timing.3 dnsjit.input.fpcap.3 \
dnsjit.input.mmpcap.3 dnsjit.input.pcap.3 dnsjit.input.zero.3 \
dnsjit.input.zmmpcap.3 dnsjit.input.zpcap.3 \
dnsjit.lib.base64url.3 dnsjit.lib.clock.3 dnsjit.lib.getopt.3 \
dnsjit.lib.ip.3 dnsjit.lib.parseconf.3 dnsjit.lib.trie.3 \
dnsjit.lib.trie.iter.3 dnsjit.lib.trie.node.3 \
dnsjit.output.dnscli.3 dnsjit.output.null.3 \
dnsjit.output.pcap.3 dnsjit.output.respdiff.3 \
dnsjit.output.tcpcli.3 dnsjit.output.tlscli.3 \
dnsjit.output.udpcli.3
dnsjit.core.object.linuxsll2.3 dnsjit.core.object.linuxsll.3 \
dnsjit.core.object.loop.3 dnsjit.core.object.null.3 \
dnsjit.core.object.payload.3 dnsjit.core.object.pcap.3 \
dnsjit.core.objects.3 dnsjit.core.object.tcp.3 \
dnsjit.core.object.udp.3 dnsjit.core.producer.3 \
dnsjit.core.receiver.3 dnsjit.core.thread.3 \
dnsjit.core.timespec.3 dnsjit.filter.copy.3 \
dnsjit.filter.ipsplit.3 dnsjit.filter.layer.3 \
dnsjit.filter.split.3 dnsjit.filter.timing.3 \
dnsjit.input.fpcap.3 dnsjit.input.mmpcap.3 dnsjit.input.pcap.3 \
dnsjit.input.zero.3 dnsjit.input.zmmpcap.3 \
dnsjit.input.zpcap.3 dnsjit.lib.base64url.3 dnsjit.lib.clock.3 \
dnsjit.lib.getopt.3 dnsjit.lib.ip.3 dnsjit.lib.parseconf.3 \
dnsjit.lib.trie.3 dnsjit.lib.trie.iter.3 \
dnsjit.lib.trie.node.3 dnsjit.output.dnscli.3 \
dnsjit.output.null.3 dnsjit.output.pcap.3 \
dnsjit.output.respdiff.3 dnsjit.output.tcpcli.3 \
dnsjit.output.tlscli.3 dnsjit.output.udpcli.3
all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -763,6 +769,8 @@ core/object/ip6.$(OBJEXT): core/object/$(am__dirstamp) \
core/object/$(DEPDIR)/$(am__dirstamp)
core/object/ip.$(OBJEXT): core/object/$(am__dirstamp) \
core/object/$(DEPDIR)/$(am__dirstamp)
core/object/linuxsll2.$(OBJEXT): core/object/$(am__dirstamp) \
core/object/$(DEPDIR)/$(am__dirstamp)
core/object/linuxsll.$(OBJEXT): core/object/$(am__dirstamp) \
core/object/$(DEPDIR)/$(am__dirstamp)
core/object/loop.$(OBJEXT): core/object/$(am__dirstamp) \
@ -879,6 +887,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/ip.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/ip6.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/linuxsll.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/linuxsll2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/loop.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/null.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@core/object/$(DEPDIR)/payload.Po@am__quote@ # am--include-marker
@ -1285,6 +1294,7 @@ distclean: distclean-recursive
-rm -f core/object/$(DEPDIR)/ip.Po
-rm -f core/object/$(DEPDIR)/ip6.Po
-rm -f core/object/$(DEPDIR)/linuxsll.Po
-rm -f core/object/$(DEPDIR)/linuxsll2.Po
-rm -f core/object/$(DEPDIR)/loop.Po
-rm -f core/object/$(DEPDIR)/null.Po
-rm -f core/object/$(DEPDIR)/payload.Po
@ -1378,6 +1388,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f core/object/$(DEPDIR)/ip.Po
-rm -f core/object/$(DEPDIR)/ip6.Po
-rm -f core/object/$(DEPDIR)/linuxsll.Po
-rm -f core/object/$(DEPDIR)/linuxsll2.Po
-rm -f core/object/$(DEPDIR)/loop.Po
-rm -f core/object/$(DEPDIR)/null.Po
-rm -f core/object/$(DEPDIR)/payload.Po
@ -1551,6 +1562,9 @@ dnsjit.core.object.ip6.3in: core/object/ip6.lua gen-manpage.lua
dnsjit.core.object.ip.3in: core/object/ip.lua gen-manpage.lua
$(LUAJIT) "$(srcdir)/gen-manpage.lua" "$(srcdir)/core/object/ip.lua" > "$@"
dnsjit.core.object.linuxsll2.3in: core/object/linuxsll2.lua gen-manpage.lua
$(LUAJIT) "$(srcdir)/gen-manpage.lua" "$(srcdir)/core/object/linuxsll2.lua" > "$@"
dnsjit.core.object.linuxsll.3in: core/object/linuxsll.lua gen-manpage.lua
$(LUAJIT) "$(srcdir)/gen-manpage.lua" "$(srcdir)/core/object/linuxsll.lua" > "$@"

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
@ -27,6 +27,7 @@
#include "core/object/null.h"
#include "core/object/loop.h"
#include "core/object/linuxsll.h"
#include "core/object/linuxsll2.h"
#include "core/object/ieee802.h"
#include "core/object/gre.h"
#include "core/object/ip.h"
@ -57,6 +58,8 @@ core_object_t* core_object_copy(const core_object_t* self)
return (core_object_t*)core_object_ieee802_copy((core_object_ieee802_t*)self);
case CORE_OBJECT_GRE:
return (core_object_t*)core_object_gre_copy((core_object_gre_t*)self);
case CORE_OBJECT_LINUXSLL2:
return (core_object_t*)core_object_linuxsll2_copy((core_object_linuxsll2_t*)self);
case CORE_OBJECT_IP:
return (core_object_t*)core_object_ip_copy((core_object_ip_t*)self);
case CORE_OBJECT_IP6:
@ -105,6 +108,9 @@ void core_object_free(core_object_t* self)
case CORE_OBJECT_GRE:
core_object_gre_free((core_object_gre_t*)self);
break;
case CORE_OBJECT_LINUXSLL2:
core_object_linuxsll2_free((core_object_linuxsll2_t*)self);
break;
case CORE_OBJECT_IP:
core_object_ip_free((core_object_ip_t*)self);
break;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
@ -30,6 +30,7 @@
#define CORE_OBJECT_LINUXSLL 13
#define CORE_OBJECT_IEEE802 14
#define CORE_OBJECT_GRE 15
#define CORE_OBJECT_LINUXSLL2 16
/* protocol objects */
#define CORE_OBJECT_IP 20
#define CORE_OBJECT_IP6 21

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.
@ -41,6 +41,7 @@ require("dnsjit.core.object.ether_h")
require("dnsjit.core.object.null_h")
require("dnsjit.core.object.loop_h")
require("dnsjit.core.object.linuxsll_h")
require("dnsjit.core.object.linuxsll2_h")
require("dnsjit.core.object.ieee802_h")
require("dnsjit.core.object.gre_h")
require("dnsjit.core.object.ip_h")
@ -65,6 +66,7 @@ local Object = {
LINUXSLL = 13,
IEEE802 = 14,
GRE = 15,
LINUXSLL2 = 16,
IP = 20,
IP6 = 21,
ICMP = 22,
@ -83,6 +85,7 @@ _type[Object.LOOP] = "loop"
_type[Object.LINUXSLL] = "linuxsll"
_type[Object.IEEE802] = "ieee802"
_type[Object.GRE] = "gre"
_type[Object.LINUXSLL2] = "linuxsll2"
_type[Object.IP] = "ip"
_type[Object.IP6] = "ip6"
_type[Object.ICMP] = "icmp"
@ -112,6 +115,7 @@ _cast[Object.LOOP] = "core_object_loop_t*"
_cast[Object.LINUXSLL] = "core_object_linuxsll_t*"
_cast[Object.IEEE802] = "core_object_ieee802_t*"
_cast[Object.GRE] = "core_object_gre_t*"
_cast[Object.LINUXSLL2] = "core_object_linuxsll2_t*"
_cast[Object.IP] = "core_object_ip_t*"
_cast[Object.IP6] = "core_object_ip6_t*"
_cast[Object.ICMP] = "core_object_icmp_t*"
@ -164,6 +168,7 @@ core_object_t = ffi.metatype(t_name, { __index = Object })
-- dnsjit.core.object.null (3),
-- dnsjit.core.object.loop (3),
-- dnsjit.core.object.linuxsll (3),
-- dnsjit.core.object.linuxsll2 (3),
-- dnsjit.core.object.ieee802 (3),
-- dnsjit.core.object.gre (3),
-- dnsjit.core.object.ip (3),

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
@ -51,6 +51,7 @@
#define bswap_64(x) bswap64(x)
#endif
#endif
#include <ctype.h>
#define _ERR_MALFORMED -2
#define _ERR_NEEDLABELS -3
@ -475,3 +476,32 @@ int core_object_dns_parse_rr(core_object_dns_t* self, core_object_dns_rr_t* rr,
// TODO: error here on malformed/truncated? could be quite spammy
return _ERR_MALFORMED;
}
const char* core_object_dns_torfc1035(const char* str, size_t len)
{
mlassert(str, "str is nil");
static char res[512];
size_t i, j = 0;
for (i = 0; i < len; i++) {
if (j + 4 >= sizeof(res) - 1) {
return 0;
}
if (isalnum(str[i]) || str[i] == '-' || str[i] == '_') {
res[j++] = str[i];
} else if (isprint(str[i])) {
res[j++] = '\\';
res[j++] = str[i];
} else {
res[j++] = '\\';
res[j++] = '0' + (((unsigned char)str[i] >> 6) & 0x07);
res[j++] = '0' + (((unsigned char)str[i] >> 3) & 0x07);
res[j++] = '0' + ((unsigned char)str[i] & 0x07);
}
}
res[j] = 0;
return res;
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
@ -117,3 +117,5 @@ 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_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_rr(core_object_dns_t* self, core_object_dns_rr_t* rr, core_object_dns_label_t* label, size_t labels);
const char* core_object_dns_torfc1035(const char* str, size_t len);

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.
@ -67,8 +67,16 @@ function Label.new(size)
end
-- Returns labels as a string and an offset to the next label.
-- The string may be nil if the first label was an offset.
-- The offset may be nil if the last label was an extension bits or end marker.
-- Takes argument
-- .IR labels ,
-- an array of labels returned by any of the parse functions, and
-- .IR num_labels ,
-- number of labels in the array.
-- Optional
-- .I offset_labels
-- can be used to skip labels at the start.
-- The return string may be nil if the first label was an offset.
-- The return offset may be nil if the last label was an extension bits or end marker.
function Label.tostring(dns, labels, num_labels, offset_labels)
if offset_labels == nil then
offset_labels = 0
@ -91,9 +99,50 @@ function Label.tostring(dns, labels, num_labels, offset_labels)
return dn, nil
end
-- Returns a RFC1035 domain name of the labels and an offset to the next label.
-- Takes argument
-- .IR labels ,
-- an array of labels returned by any of the parse functions, and
-- .IR num_labels ,
-- number of labels in the array.
-- Optional
-- .I offset_labels
-- can be used to skip labels at the start.
-- The return string may be nil if the first label was an offset.
-- The return offset may be nil if the last label was an extension bits or end marker.
function Label.torfc1035(dns, labels, num_labels, offset_labels)
if offset_labels == nil then
offset_labels = 0
end
local dn
for n = 1, tonumber(num_labels) do
local label = labels[n - 1 + offset_labels]
if label.have_dn == 1 then
if dn == nil then
dn = ""
end
dn = dn .. ffi.string(ffi.C.core_object_dns_torfc1035(dns.payload + label.offset + 1, label.length)) .. "."
elseif label.have_offset == 1 then
return dn, label.offset
else
return dn, nil
end
end
return dn, nil
end
-- Returns labels as a string which also includes a textual notation of the
-- offset in the form of
-- .IR "<offset>label" .
-- Takes argument
-- .IR labels ,
-- an array of labels returned by any of the parse functions, and
-- .IR num_labels ,
-- number of labels in the array.
-- Optional
-- .I offset_labels
-- can be used to skip labels at the start.
function Label.tooffstr(dns, labels, num_labels, offset_labels)
if offset_labels == nil then
offset_labels = 0

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
@ -37,6 +37,7 @@
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \
0, 0, 0, 0, \
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \
0, \
}
#endif

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
@ -36,6 +36,8 @@ typedef struct core_object_ip6 {
uint16_t frag_offlg;
uint16_t frag_ident;
uint8_t rtdst[16];
uint16_t hlen;
} core_object_ip6_t;
core_object_ip6_t* core_object_ip6_copy(const core_object_ip6_t* self);

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.
@ -58,6 +58,9 @@
-- rtdst
-- Destination address found in the routing extension header.
-- .TP
-- hlen
-- The length of extension headers, in bytes.
-- .TP
-- payload
-- A pointer to the payload.
-- .TP

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -0,0 +1,45 @@
/*
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
*
* dnsjit is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* dnsjit is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include "core/object/linuxsll2.h"
#include "core/assert.h"
#include <stdlib.h>
#include <string.h>
core_object_linuxsll2_t* core_object_linuxsll2_copy(const core_object_linuxsll2_t* self)
{
core_object_linuxsll2_t* copy;
glassert_self();
glfatal_oom(copy = malloc(sizeof(core_object_linuxsll2_t)));
memcpy(copy, self, sizeof(core_object_linuxsll2_t));
copy->obj_prev = 0;
return copy;
}
void core_object_linuxsll2_free(core_object_linuxsll2_t* self)
{
glassert_self();
free(self);
}

View file

@ -0,0 +1,38 @@
/*
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
*
* dnsjit is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* dnsjit is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
*/
#include <dnsjit/core/object.h>
#include <dnsjit/core/timespec.h>
#ifndef __dnsjit_core_object_linuxsll2_h
#define __dnsjit_core_object_linuxsll2_h
#include <stddef.h>
#include <dnsjit/core/object/linuxsll2.hh>
#define CORE_OBJECT_LINUXSLL2_INIT(prev) \
{ \
CORE_OBJECT_INIT(CORE_OBJECT_LINUXSLL2, prev) \
, \
0, 0, 0, 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } \
}
#endif

View file

@ -0,0 +1,37 @@
/*
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.
*
* dnsjit is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* dnsjit is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
*/
// lua:require("dnsjit.core.object_h")
typedef struct core_object_linuxsll2 {
const core_object_t* obj_prev;
int32_t obj_type;
uint16_t protocol_type;
uint16_t reserved;
uint32_t interface_index;
uint16_t arphrd_type;
uint8_t packet_type;
uint8_t link_layer_address_length;
uint8_t link_layer_address[8];
} core_object_linuxsll2_t;
core_object_linuxsll2_t* core_object_linuxsll2_copy(const core_object_linuxsll2_t* self);
void core_object_linuxsll2_free(core_object_linuxsll2_t* self);

View file

@ -0,0 +1,90 @@
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.
--
-- dnsjit is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- dnsjit is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with dnsjit. If not, see <http://www.gnu.org/licenses/>.
-- dnsjit.core.object.linuxsll2
-- Linux cooked-mode v2 capture (SLL2) part of a packet
--
-- The SLL2 part of a packet that usually can be found in the object chain
-- after parsing with, for example, Layer filter.
-- .SS Attributes
-- .TP
-- protocol_type
-- The protocol type.
-- .TP
-- reserved
-- Reserved (MBZ).
-- .TP
-- interface_index
-- The interface index, on the machine on which the capture is done, of the interface on which the packet was sent or received.
-- .TP
-- arphrd_type
-- The link-layer device type.
-- .TP
-- packet_type
-- The packet type.
-- .TP
-- link_layer_address_length
-- The length of the link-layer address.
-- .TP
-- link_layer_address
-- The link-layer address.
module(...,package.seeall)
require("dnsjit.core.object.linuxsll2_h")
local ffi = require("ffi")
local C = ffi.C
local t_name = "core_object_linuxsll2_t"
local core_object_linuxsll2_t
local Linuxsll2 = {}
-- Return the textual type of the object.
function Linuxsll2:type()
return "linuxsll2"
end
-- Return the previous object.
function Linuxsll2:prev()
return self.obj_prev
end
-- Cast the object to the underlining object module and return it.
function Linuxsll2:cast()
return self
end
-- Cast the object to the generic object module and return it.
function Linuxsll2:uncast()
return ffi.cast("core_object_t*", self)
end
-- Make a copy of the object and return it.
function Linuxsll2:copy()
return C.core_object_linuxsll2_copy(self)
end
-- Free the object, should only be used on copies or otherwise allocated.
function Linuxsll2:free()
C.core_object_linuxsll2_free(self)
end
core_object_linuxsll2_t = ffi.metatype(t_name, { __index = Linuxsll2 })
-- dnsjit.core.object (3).
-- dnsjit.filter.layer (3)
return Linuxsll2

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,4 +1,4 @@
-- Copyright (c) 2018-2024 OARC, Inc.
-- Copyright (c) 2018-2025 OARC, Inc.
-- All rights reserved.
--
-- This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2024 OARC, Inc.
* Copyright (c) 2018-2025 OARC, Inc.
* All rights reserved.
*
* This file is part of dnsjit.

Some files were not shown because too many files have changed in this diff Show more