summaryrefslogtreecommitdiff
path: root/HACKING.md
blob: 14d49e66d8cbcd4f020b082dc61a53a715d2efb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Hacking on Arping

## Coding style

* C99 to retain portability for the widest range of platforms
* Approximately [Linux kernel coding style][1], except:
  * Line break before function name, in function definitions.
  * Curly braces are mandatory.
  * Place `*` next to the type, not the name. E.g. `char* p`

Don't make style-only changes, but fix the style on the line you're touching anyway.

[1]: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst

## Make release
1. Up version in configure.ac. Commit.
2. Run `./extra/mktarball HEAD`
3. Test that tarball.
4. Check `git log --reverse arping-2.oldversion..HEAD` for notable changes.
5. Create tag: `git tag -s arping-2.newversion`
6. Push to github: `git push --tags`
7. Make tarball: `./extra/mktarball arping-2.newversion`
8. Sign archive: `gpg -a -b arping-2.10.tar.gz`
9. Upload to http://www.habets.pp.se/synscan/files/
10. Update webpage.
11. Send email to synscan-announce@googlegroups.com

## Fuzzing

```shell
CC=/path/to/afl-gcc ./configure
make
/path/to/afl-fuzz -i fuzz/pingip/ -o fuzz/out/ ./src/fuzz_pingip
```