toxcore/other/apidsl
Gregory Mullen (grayhatter) aad1e0ad3f
Make friend requests stateless
Messenger is slightly twisty when it comes to sending connection status
callbacks It will very likely need at the very least a partial refactor to
clean it up a bit. Toxcore shouldn't need void *userdata as deep as is
currently does.

(amend 1) Because of the nature of toxcore connection callbacks, I decided to
change this commit from statelessness for connections changes to statelessness
for friend requests. It's simpler this was and doesn't include doing anything
foolish in the time between commits.

group fixup because grayhatter doesn't want to do it

"arguably correct" is not how you write security sensitive code

Clear a compiler warning about types within a function.
2016-09-06 02:22:04 -07:00
..
README.md Make self_connection_status callback stateless. 2016-08-17 14:57:20 +01:00
tox.in.h Make friend requests stateless 2016-09-06 02:22:04 -07:00
toxav.in.h Remove trailing whitespace from toxav.in.h. 2016-07-07 12:44:16 +02:00

This folder contains the input file (tox.in.h) that has to be used to generate the tox.h api with: https://github.com/iphydf/apidsl

Minimal requirements

There are some minimal requirements to contribute to tox.h:

  • unix environment
  • astyle >=2.03
  • apidsl (you can use provided service with curl instead)

Quick way

If you want to do it quickly and you don't have time for anything other than copypasting commands, you should have curl installed.

  1. Make sure that you have curl and >=astyle-2.03 installed
  2. Modify tox.in.h
  3. Run command below ↓

Command to run from toxcore directory (quick way, involves using curl):

# For tox.h:
curl -X POST --data-binary @- https://apidsl.herokuapp.com/apidsl \
  < other/apidsl/tox.in.h \
  | astyle --options=other/astyle/astylerc \
  > toxcore/tox.h
# For toxav.h:
curl -X POST --data-binary @- https://apidsl.herokuapp.com/apidsl \
  < other/apidsl/toxav.in.h \
  | astyle --options=other/astyle/astylerc \
  > toxav/toxav.h

You may want to make sure with git diff that changes made in tox.h reflect changes in tox.in.h.

And you're done.

Manually

If you prefer to have more control over what is happening, there are steps below:

  1. Install apidsl
  2. Install astyle, version 2.03 or later.
  3. Modify tox.in.h
  4. Use apidsl ??
  5. Parse generated tox.h with astyle, minimal command for it would be:
astyle --options=other/astyle/astylerc toxcore/tox.h

Always pass output from apidsl through astyle.