05aea9e665
Fix packet parsing
...
With the old implementation we skipped one byte of the body and did not read
an empty body.
Not being able to read an empty body was not the only problem with the
old implementation. It could also happen that for what ever reason an
null byte was encoded inside of it and with the old implementation we
would stop at this null and ignore the rest.
2022-02-11 17:01:46 +01:00
3e2320a5f4
Add top level package information
2022-02-07 20:58:41 +01:00
9994b2e641
Fix formatting
2022-02-07 20:32:57 +01:00
7830bfeaa5
Clarify documentation of package composition
2022-02-06 01:07:27 +01:00
460c2c6022
Add missing return documentation for errors
2021-03-07 17:58:16 +01:00
255f0240b3
Remove info for reading from a closed connection.
2021-03-07 17:56:49 +01:00
3d5e6f4e2a
Reduce init buffer size for the bytes containing the package size
2021-03-07 17:55:39 +01:00
84838f460d
Fix command length check
...
I don't know why the commoand length was limited to 1014 bytes.
Following the package documentation the body can contain 4086 bytes =
4096 (max package size) - 10 (min package size (whene the body is empty)).
https://developer.valvesoftware.com/wiki/Source_RCON_Protocol#Packet_Size
2021-03-06 16:20:39 +01:00
dc79010e8e
Extract reading the package to own method
2021-03-06 16:20:39 +01:00
8afdb88172
Fix buffer not beeing able to hold a max size package
2021-03-06 16:20:39 +01:00
01bfc09bc0
Extract the reading of the package size to own method
2021-03-06 16:20:39 +01:00
b3d073822b
Remove return of requestID on writeCmd function
...
This is no longer nessesary because the id is giving into
the method as a param. This change removed the return of a negative
value if the command is to long. This can be a problem but it wasn't
documented...
2021-03-06 16:20:39 +01:00
a4b726260e
Move authentication to own method
...
This should reduce the size of the Dial function and make it more
readable.
2021-03-06 16:20:39 +01:00
a87cbb0926
Remove reqID from RemoteConsole
...
The only usage of the reqID field was inside the initial
auth request to prevent generation a new id.
2021-03-06 16:20:39 +01:00
82d215942e
Fix spelling
2021-03-06 16:20:39 +01:00
50ea12a2d9
Rework naming of type and field names
2021-03-06 16:20:39 +01:00
e28f399e6f
Refactor documentation and wrong package size numbers
...
Adding documentation to public functions, structs, vars and consts to
fix fmt warnings. This should make it easier to read and to use.
Additionally I tweaked the package size numbers to match the definition
from valve[1].
Ref:
- [1] https://developer.valvesoftware.com/wiki/Source_RCON_Protocol
2021-03-02 21:03:20 +01:00
James Gray
8fbb8268b6
Renamed New() to Dial() to be more idiomatic.
2012-09-23 16:54:19 -05:00
James Gray
ab4e77e461
Fixed invalid ErrUnexpectedFormat.
...
When the response size (int32) was split between packets, Read returned
with an ErrUnexpectedFormat.
2012-09-23 16:41:40 -05:00
James Gray
989cec1929
added LocalAddr() and RemoteAddr() methods
2012-09-23 15:46:46 -05:00
James Gray
b97005dc63
fixed an unnecessary ErrUnexpectedFormat
2012-09-15 00:09:35 -05:00
James Gray
52509f3e4f
changed ErrCommandTooLong/ErrResponseTooLong messages
2012-09-04 22:46:11 -05:00
James Gray
0e7028e295
added handling of split responses
2012-09-04 22:42:40 -05:00
James Gray
57f08dedd9
fixed some small issues; added an auth test
2012-09-02 17:05:48 -05:00
James Gray
85a30b81b0
corrected the reqid atomic ops
2012-08-31 03:45:33 -05:00
James Gray
6a4a062bb0
added a Close method
2012-08-31 02:48:25 -05:00
James Gray
68c9926e00
basic, untested implementation
2012-08-31 02:42:43 -05:00