Commit Graph

536 Commits

Author SHA1 Message Date
Hamish Coleman
433b14c52f Simplify openssl library detection and macros 2023-07-02 22:18:09 +08:00
Hamish Coleman
f05c24b259 Fix openssl support and add it to tests 2023-07-01 19:08:43 +08:00
Hamish Coleman
473b89c963 Simplify build system by using standard macro
Most environments have predefined macros that identify the environment
to the source code.  If we use these macros instead of defining our own
then there is one less parameter difference to keep track of with
different builds

cf:
    http://web.archive.org/web/20191012035921/http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
    https://sourceforge.net/p/predef/wiki/OperatingSystems/
2023-07-01 19:08:43 +08:00
Hamish Coleman
041233dc8b Address more windows compile warnings 2023-06-29 06:00:56 +08:00
Hamish Coleman
d21a4fe0a2 Remove some unneeded includes 2023-06-25 22:40:46 +08:00
Hamish Coleman
548e1204f3 Address warning - another windows pedantic header order issue 2023-06-25 22:40:46 +08:00
Hamish Coleman
0d005d189d Fix silent failure of sizeof for STRBUF_INIT() 2023-06-25 21:08:36 +08:00
Hamish Coleman
a2c78e140a Minor fixes for FreeBSD 2023-06-25 19:25:00 +08:00
Hamish Coleman
89125ec423 Use the defined access method for structure.
Not all struct sockaddr are going to have the sa_family as their first field.
Since there is a named structure member, we can simply use that and let
the compiler sort it out.

This fixes a bug with at least FreeBSD and allows us to remove the
special case for Apple.
2023-06-25 19:25:00 +08:00
Hamish Coleman
cfc9c8c10d Simplify and make more consistant the pthread library 2023-06-25 17:56:09 +08:00
Hamish Coleman
21ac30c121 Use the correct modern windows sockets header
As suggested in a PR from @Legend-Master (this change is basically
unrelated to the main point of his PR, so extracted here)

Windows is a confusing and disappointing development environment.  They
completely replaced all the definitions in winsock.h with exact
equivalents in winsock2.h (except for a small number of deprecated
functions).

However they didnt make them mutually exclusive - so if you include
both, you get errors.  They also automatically include winsock.h from
windows.h, so you must remember to include winsock2.h first.  They also
didnt just remove winsock.h and replace it with the new contents.

(Probably in the name of "compatibility", whilst swearing that the new
winsock is the same as the old one - because if you cannot believe two
inconsistent things simultaneously, you shouldnt be a windows
programmer)

All these things are totally nuts.  Thanks, windows dev environment,
for not noticing that this is nuts
2023-06-25 02:46:03 +08:00
Hamish Coleman
1b83e0e0e9 Remove some config items that are just wrong with cross compilation 2023-06-25 02:07:49 +08:00
Hamish Coleman
4f9a7d31d3 Fix bug in returned interface address 2023-06-24 23:31:20 +08:00
Hamish Coleman
a7fc1c2bbc Merge branch 'dev' into iwyu 2023-06-18 12:31:58 +01:00
Hamish Coleman
585b3cec59 iwyu: n2n.h
There is still cleanup work to be done in the headers, but this
concludes the major include-what-you-use refactoring.  No functional
change is intended or expected and all tests are passing.

It is now a lot easier to see what is used from each header and work on
possible refactoring in the future.

The include-what-you-use tool is awkward to use with the current state
of the build system - and will always be difficult to use in a
multi-platform safe way.  However, I hope to provide a non manual
process for running with the tool in the future.
2023-06-18 12:14:23 +01:00
Hamish Coleman
b9dcb3fd35 iwyu: wire.c 2023-06-18 09:32:08 +01:00
Hamish Coleman
de56ebb127 iwyu: tuntap_linux.c 2023-06-18 09:12:36 +01:00
Tony
e397a5af75
Add close window support for Windows (#1111)
* Add close window support for Windows

* Support logoff and shudown events as well

Without this change, when you close the terminal/shell window, it won't have the time to clean up which can cause authentication errors if you try to reconnect.

Blocking here infinitely is fine since when our main thread returns, it will shut down anyway

I found Go is doing this when I was searching, and there's a comment explained how it works: https://github.com/golang/go/issues/41884#issuecomment-706695923
2023-06-18 09:02:05 +01:00
Tony
76cbff370e
Fix purgeable is always false on supernode peer list (#1117)
* Fix purgeable is always false on sn peer list
- And change sn_purge to bool

* Change all keep_on_running to bool

* Fix wrong `keep_running` type
2023-06-18 08:58:49 +01:00
Hamish Coleman
852fc6ea8f Minimal update to transform_zstd suggested by iwyu.
This file was not active during the iwyu run, so it will need to be
expanded upon later.
2023-06-16 11:05:35 +01:00
Hamish Coleman
0e175d35f6 iwyu: transform_tf.c 2023-06-16 09:44:53 +01:00
Hamish Coleman
76629dcf6a iwyu: transform_speck.c 2023-06-16 09:44:04 +01:00
Hamish Coleman
6deebe6f1a iwyu: transform_null.c 2023-06-16 09:43:02 +01:00
Hamish Coleman
89cb9419c7 iwyu: transform_lzo.c 2023-06-16 09:42:18 +01:00
Hamish Coleman
8b6fcb8ab6 iwyu: transform_cc20.c 2023-06-16 09:41:08 +01:00
Hamish Coleman
8443c29428 iwyu: transform_aes.c 2023-06-16 09:40:16 +01:00
Hamish Coleman
fa4cf74ff2 iwyu: supernode.c 2023-06-16 09:33:52 +01:00
Hamish Coleman
6ee14559f9 iwyu: sn_utils.c 2023-06-16 09:26:04 +01:00
Hamish Coleman
a8356c93db iwyu: sn_selection.c 2023-06-16 09:19:39 +01:00
Hamish Coleman
4f769e765b iwyu: sn_management.c 2023-06-16 09:13:40 +01:00
Hamish Coleman
aae43c5eb8 iwyu: network_traffic_filter.c 2023-06-16 09:11:40 +01:00
Hamish Coleman
3452b7ee4d iwyu: n2n_regex.c 2023-06-16 09:09:16 +01:00
Hamish Coleman
c3ed39375c iwyu: n2n_port_mapping.c 2023-06-16 09:07:58 +01:00
Hamish Coleman
b1cb7fe03e iwyu: n2n.c 2023-06-16 08:48:15 +01:00
Hamish Coleman
796ca2cb97 iwyu: management.h 2023-06-16 08:36:28 +01:00
Hamish Coleman
06c2e012d7 iwyu: management.c 2023-06-16 08:30:22 +01:00
Hamish Coleman
0c6f7ca5cb iwyu: hexdump.c 2023-06-16 08:14:36 +01:00
Hamish Coleman
9fc5782efd iwyu: header_encryption.c 2023-06-15 22:44:34 +01:00
Hamish Coleman
89bd21d6b8 iwyu: example_edge_embed.c and example_sn_embed.c 2023-06-15 22:38:04 +01:00
Hamish Coleman
c6a9b17338 iwyu: edge_utils.c 2023-06-15 22:30:35 +01:00
Hamish Coleman
5b00ff480e iwyu: edge_management.c 2023-06-15 22:18:47 +01:00
Hamish Coleman
0fcf18fab2 Fix edge.c 2023-06-15 22:02:27 +01:00
Hamish Coleman
991a8bc59f Fix aes.c 2023-06-15 21:39:54 +01:00
Hamish Coleman
f6cebecd01 iwyu: edge.c 2023-06-14 21:27:05 +01:00
Hamish Coleman
14780a72d3 iwyu: aes.c 2023-06-14 21:22:25 +01:00
Hamish Coleman
ce9e3d0e54 Fix tf.h 2023-06-14 21:06:40 +01:00
Hamish Coleman
8e1d63fa51 iwyu: tf.h 2023-06-14 20:59:09 +01:00
Hamish Coleman
91357d3cbf Fixup for speck.c 2023-06-14 20:42:02 +01:00
Hamish Coleman
4e0bec79b7 iwyu: speck.h 2023-06-14 20:30:43 +01:00
Hamish Coleman
f67cc8f2a6 iwyu: random_numbers.h 2023-06-14 20:14:11 +01:00