src/osflags hard codes the build architecture pkg-config. After making it
substitutable and substituting it from the build environment, iodine cross
builds successfully.
Original patch from Helmut Grohne <helmut@subdivi.de> in
https://bugs.debian.org/921822, adjusted to Git HEAD.
Why not using constant bools?
Much simpler than complex function calls, that eventually return
constant values.
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
Get rid of unique header files for each encoder, consolidate them to
where they are actually needed: encoding.h.
This also simplifies the generation of the base64u decoder, as its
header file does not need to be generated any longer.
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
iodine does not seem to follow any styling guidelines (mixture of
different function prototypes, ...). So let's introduce some. This
will improve overall code quality and readability.
Additionally, warnings will improve code quality as well. Let's turn on
very pedantic warnings, and fix everything where the compiler barks
back.
Introduce the following function definition scheme:
type function_name(type name, type1 name1 ...)
{
}
This allows us to copy and paste the definition to the declaration by
selecting one single line.
Furthermore, limit line length to 80 characters.
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
Like other unix tools: don't print application output, if the user asks
intentionally for help.
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
Those arguments were introduced, but not documented.
Fixes: 619ede5d ("Add options to force IP version for client DNS traffic")
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
There is no value in printing the usage in this case, as the usage
doesn't give the user any hint on how to solve this issue.
Furthermore, replace the Windows implementation with an empty inline
function, which will result in no code.
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
Option BindIPv6Only is needed to restrict ipv6 to sending IPv6 packets
only, without it IPv6 socket can be used to send and receive packet to
and from an IPv6 address or an IPv4-mapped IPv6 address.
Build position-indepent executables, required for Android L (5.0+)
They also work with kitkat.
Add new maketarget "cross-android-old" that builds without PIE
for older versions.
Include both new and old versions in latest-android.zip. Add arm64.
Hopefully solves github PR #14.