Commit Graph

209 Commits

Author SHA1 Message Date
5f460e8912 Remove Valve protocol checks and set select() timeout to 1.5 seconds
Use the same method for handling multipacket responses across all servers.
2024-12-06 08:47:45 +02:00
6fed74ba74 Implement select() loop to receive all incoming packets:
Send a "multipacket guard" - an empty packet with an invalid 'cmd' field
and a unique packet ID to trigger a reply from the server once the previous
command's reply has been fully sent.

Valve returns an empty payload, while Minecraft includes an error message in the payload.

This workaround ensures that all packets related to the last valid command
are received from the server, avoiding the need to wait for the select() timeout.
2024-12-06 08:47:45 +02:00
5d1c87b26f Don't call memcpy() if there is nothing to copy v0.7.3-develop 2024-12-04 08:17:56 +02:00
fd77ad7fc0 packet_build(): add [static 1] to generate warning if NULL pointer is passed 2024-12-03 05:40:45 +02:00
bc5617407d Update CHANGELOG.md 2024-12-02 10:40:51 +02:00
5ae06f4d37 Update man page 2024-12-02 10:35:00 +02:00
233031cdcb Update README.md 2024-12-02 10:31:38 +02:00
ebf5172cd0 Update BUILDING.md 2024-12-02 10:13:38 +02:00
0b72e4d17d Update README.md 2024-12-02 09:56:06 +02:00
af70f87bc1 Update README.md 2024-12-02 09:52:30 +02:00
53fd703911 Rename INSTALL.md to BUILDING.md 2024-12-02 09:42:44 +02:00
c0d28bcb17 Rename INSTALL.md to BUILDING.md 2024-12-02 09:42:11 +02:00
edf8344983 Add "-Wno-gnu-zero-variadic-macro-arguments" flag to suppress Clang warnings about GNU macro extensions 2024-12-02 09:37:08 +02:00
a502204e26 Remove unused headers 2024-12-02 09:34:48 +02:00
7162bc6fe6 - add log_error macro
- rename "flag_connection_alive" variable back to "global_connection_alive"
- return exit code from run_terminal_mode()
- rcon_command(): add error messages
2024-12-02 08:55:18 +02:00
f270a485b5 Remove url from version string 2024-12-02 07:40:34 +02:00
df66816bee Change prefix of flag variables from 'global' to 'flag' 2024-12-02 07:37:12 +02:00
5c7ab407d7 Patch of various fixes, cleanups and unused code removals:
- add MAX_COMMAND_LENGTH to define maximum command length
 - print auth failed message to stderr instead of stdout
 - remove unused net_send() function
 - remove unused net_clean_incoming() function
 - rewrite net_send_packet() function
 - net_recv_packet(): change the type of variable "ret" from int to ssize_t
 - net_recv_packet(): fail immediately if the packet size is out of spec
 - packet_print(): rename variable "def_color" to "default_color"
 - packet_print(): remove unecessary casts
 - packet_build(): use MAX_COMMAND_LENGTH
 - packet_build(): be more explicit in calculation of packet.size
 - packet_build(): use memcpy() instead of strncpy()
 - cast second argument of send()/recv() calls to (char *) so Windows is happy
 - rcon_auth(): change the return type from int to bool
 - run_terminal_mode(): use MAX_COMMAND_LENGTH
2024-12-02 07:32:07 +02:00
c83d96cc91 Add "$(EXENAME).exe" to clean rule so Windows executables are also cleaned up 2024-12-02 06:14:34 +02:00
427fd206ca Oops, uncomment struct field 2024-11-11 23:49:18 +02:00
1a4010cbba Change MAX_PACKET_SIZE and DATA_BUFFSIZE, add notes about packet structure 2024-11-11 22:22:45 +02:00
4488127350 Use fixed width integer types in rcon packet structure 2024-11-10 16:25:19 +02:00
6b563df23d Update README.md 2024-11-09 20:53:55 +02:00
5a2dcf41ac Update README.md 2024-11-09 20:51:36 +02:00
7d3f3c1d61 Update README.md 2024-11-09 20:46:53 +02:00
fc040ce5ea Change maximum packet size to correct value (4096 -> 4106) 2024-11-09 15:22:42 +02:00
489306d4a2 Add windows batch scripts 2024-11-09 13:48:23 +02:00
a8e2a9349e Exit with appropriate return code if password is not provided, fixes #87 2024-11-07 21:39:37 +02:00
deed43ad61 Makefile macOS fix, resolves #82, resolves #102
- Remove "ginstall" as "install" replacement on macOS
- Remove "-D" flag from "install" parameters
2024-11-07 17:14:25 +02:00
aa933d2c1f Add support for Valve style authentication, fixes #106 2024-11-07 14:59:31 +02:00
accae57e4b Remove ".travis.yml" 2024-11-07 14:21:31 +02:00
fa25cde79c Modify compilation flags:
- Remove "-s" flag
- Change stack protector mode from "strong" to "all"
- Change optimization level from "-Os" to "-O2"
2024-11-07 14:06:48 +02:00
e96b2eff6e Remove broken Travis CI links and update package list 2024-11-07 13:54:40 +02:00
b5951e9634 Merge pull request #83 from Tiiffi/develop
Merge develop to master
v0.7.2
2021-10-30 22:34:42 +03:00
7b8ea2bf39 Update copyright year 2021-10-30 22:30:12 +03:00
05aaff88d4 Update version information, changelog and readme 2021-10-30 22:21:25 +03:00
fca278e092 - Quit gracefully when Ctrl-D or Ctrl-C is pressed
- Remove "exit" and "quit" as quit commands
2021-10-30 22:16:29 +03:00
b3147ebe43 Fix erroneous string length check 2021-02-15 04:31:07 +02:00
48c065c304 Use setvbuf() instead of fflush() 2021-02-15 03:29:44 +02:00
29a1c99f82 Merge pull request #53 from AddisonG/master
Fix compiler warning
2021-02-12 04:23:54 +02:00
bf11460a0d Merge pull request #39 from kabiroberai/master
Flush stdout when needed
2021-02-08 22:51:54 +02:00
3e8acd5e42 Merge pull request #62 from jbaldus/master
Fixes typo in ANSI escape sequence for LCYAN
2021-02-08 05:16:11 +02:00
ada14bb4d9 Fixes typo in ANSI escape sequence for LCYAN 2021-01-13 19:22:02 -05:00
336f528668 Fixed compiler bug
This fixes the compiler issue:

```
mcrcon.c: In function ‘packet_build’:
mcrcon.c:576:2: warning: ‘strncpy’ specified bound 4096 equals destination size [-Wstringop-truncation]
  strncpy(packet.data, s1, DATA_BUFFSIZE);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2020-08-12 14:10:58 +10:00
58a7a86bc3 Flush stdout when needed
This is required on certain machines (eg the iSH emulator on iOS)
2020-01-31 17:26:27 +05:30
b02201d689 Merge pull request #37 from Tiiffi/develop
Update CHANGELOG.md
v0.7.1
2020-01-02 03:14:12 +02:00
4cff2fe537 Update CHANGELOG.md 2020-01-02 03:11:50 +02:00
0d11c6a4e9 Update README.md 2020-01-02 02:40:05 +02:00
9c68d9cdd4 Update README.md 2020-01-02 02:30:12 +02:00
6d49968df3 Update README.md 2020-01-02 02:28:52 +02:00