From e65dc561acab7a9e49f59777f16cb040c574c64d Mon Sep 17 00:00:00 2001 From: fusion32 Date: Thu, 3 Jul 2025 10:10:27 -0300 Subject: implement `crypto.cc` with OpenSSL + fix config loading I considered reversing the original `vlong` implementation but OpenSSL is just simpler, more secure, and most importantly, is already there. I also made it so the key is now stored in a PEM file (`tibia.pem`) so it can be easily swapped without re-compiling. This was the last piece to build and run a working executable, except that we now need to implement a query manager for the server to communicate with. I was able to fix a small problem with loading the config before hitting the problem with the query manager, which was expected. The next task should be getting a query manager up and running before starting phase two of upgrading and fixing the server itself. --- tools/makefile.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tools/makefile.go') diff --git a/tools/makefile.go b/tools/makefile.go index 1e005d5..255bbcf 100644 --- a/tools/makefile.go +++ b/tools/makefile.go @@ -21,11 +21,13 @@ var ( "-Wno-unused-parameter", "-Wno-format-truncation", "-std=c++11", + "-pthread", "-DOS_LINUX=1", "-DARCH_X64=1", } linkerOptions = []string{ "-Wl,-t", + "-lcrypto", } ) @@ -93,7 +95,7 @@ func main() { fmt.Fprintf(&output, " $(BUILDDIR)/%v", object.obj) } fmt.Fprint(&output, "\n") - fmt.Fprint(&output, "\t$(CC) $(CFLAGS) $(LFLAGS) -o $@ $^\n\n") + fmt.Fprint(&output, "\t$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS)\n\n") // OBJECTS for _, object := range objectFiles { -- cgit v1.2.3