Age | Commit message (Collapse) | Author |
|
Hex constants make it clearer that you can only use 2 nibbles (the two
digits of the number, displayed as two columns in the source code), i.e.
1 byte, for the packet kind. It also makes the bit representation easier
to see.
|
|
fixup! TravisCI shorten IRC message
|
|
- Mingw32 didn't read MSDN, so behaves badly despite lean and mean.
- Avoid alignment issues on windows with packed bitfields in the RTP header.
This change makes the program ill-formed in C99, but I don't know the correct
fix at the moment, and I don't want to keep the Windows build broken for too
long.
|
|
|
|
- Don't cast between object and function pointers.
- Use standard compliant `__VA_ARGS__` in macros.
- Add explicit `__extension__` on unnamed union in struct (it's a GNU
extension).
- Remove ; after function definitions.
- Replace `const T foo = 3;` for integral types `T` with `enum { foo = 3 };`.
Folding integral constants like that as compile time constants is a GNU
extension. Arrays allocated with `foo` as dimension are VLAs on strictly
compliant C99 compilers.
- Replace empty initialiser list `{}` with zero-initialiser-list `{0}`.
The former is a GNU extension meaning the latter.
- Cast `T*` (where `T != void`) to `void *` in format arguments. While any
object pointer can be implicitly converted to and from `void *`, this
conversion does not happen in variadic function calls.
- Replace arithmetic on `void *` with arithmetic on `char *`. The former
is non-compliant.
- Replace non-`int`-derived types (like `uint16_t`, which is
`short`-derived) in bit fields with `int`-derived types. Using any type
other than `int` or `unsigned int` (or any of their aliases) in bit
fields is a GNU extension.
|
|
|
|
This removes the global logger (which by the way was deleted when the first tox
was killed, so other toxes would then stop logging). Various bits of the code
now carry a logger or pass it around. It's a bit less transparent now, but now
there is no need to have a global logger, and clients can decide what to log and
where.
|
|
See #27 and #40 for details.
|
|
* Add #defines for INET/INET6 returns
* Remove magic number 3 - exact AF_INET/INET6 result found.
* Updated network_test.c
|
|
|
|
|
|
|
|
|
|
Moved some functions to onion.c.
Fixed possible portability issues.
|
|
Added length checks to ipport_pack() function.
|
|
|
|
|
|
They are now all uint16_t instead of sometimes being uint32_t.
Replaced some other uint32_t with unsigned ints.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Removed now useless defines in network.h
|
|
Removed useless semicolons.
|
|
|
|
|
|
|
|
|
|
|
|
Removed some useless code from toxcore.
Astyled core code with new version of astyle.
|
|
the Tox connection.
A/V should now work over TCP.
|
|
|
|
forgot to build before pushing
|
|
|
|
|
|
Added timestamp to know which DHT public key is good in case
onion_client and net_crypto report different ones.
|
|
|
|
|
|
It now uses the NaCl functions when the length is appropriate.
Moved crypto defines to crypto_core.h
|
|
Handshake most likely has no more possible flaws to it, next thing
to do is to do the same with the data packets.
Wrote a couple more functions.
|
|
|
|
Started writing the code.
Astyled some files.
|
|
Moved Bunch of functions from net_crypto to crypto_core.
decrypt_data_fast and decrypt_data_symmetric were the same thing
therefore, removed decrypt_data_fast.
Replaced all the crypto_secretbox_* defines with the equivalent
crypto_box_* one.
New define: crypto_box_KEYBYTES that is equal to
crypto_box_BEFORENMBYTES.
|
|
Removed a bunch of useless space from various structs.
pack_nodes() and unpack_nodes() are now used to transmit lists of
nodes for the DHT and onion parts. They provide a way to transmit
both ipv6 and ipv4 nodes in the same packet in a portable way that
takes as little space as possible without compression.
Using pack_nodes, merged the send nodes and send nodes ipv6 packets
into one packet greatly reducing the risk of amplification attacks.
|
|
Mac OS X doesn't have MSG_NOSIGNAL, so we need to use SO_NOSIGPIPE.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
Some work done on the TCP part.
|
|
|
|
All the IP/Port related structs now have __attribute__ ((__packed__))
|