Update on netsniff-ng's FAQ
[netsniff-ng.git] / HACKING
blob6055addc2b9c7eb8d40386913b5ab37c49712299
1 Some information about potential netsniff-ng hackers can be found here!
2 First of all, you might want to clone our git repository before you start
3 hacking on anything:
5  $ git clone git://repo.or.cz/netsniff-ng.git
7 The best way to propose your ideas is to outline them in a short mail to
8 workgroup@netsniff-ng.org or to our public mailing list address
9 netsniff-ng@googlegroups.com. We are looking forward for your proposals!
10 Of course, keep in mind that you can mail smaller portions of code like
11 bug fixes immediately.
13 The best way to make a contribution to netsniff-ng is to send us your 
14 code in the form of a unified diff against the latest released or
15 development version and, preferably, the master branch from our Git
16 repository. Your patch should then be sent to workgroup@netsniff-ng.org
17 or bugs@netsniff-ng.org.
19 Before submitting your patch make sure to indent your code appropriate.
20 For this, have a look at our coding conventions within the CODING file.
21 Note: avoid tools like indent for automatic code formatting, since they
22 can screw up the format in some cases by not recognizing everything!
23 Further, this is only for lazy people that do not stick to the kernel
24 coding conventions anyway. We won't accept patches if they don't comply
25 to these conventions, so get your act together.
27 There are so few source comments?! Yes, there are and this is intended!
28 Some people think that lots of source comments means good quality of the
29 source repository, or some smililar crude thoughts. Well, read the books.
30 Source comments are code smells, except in a few cases. The few cases are
31 that you explain why something is done in this way and why not in another.
32 Somehow, people tend to explain what the sources itself does, which is
33 just wrong. The source itself must be self-descriptive and readable without
34 any comments. Keep that in mind while hacking on the toolkit. ;-)
36 The src/s/ directory contains a number of SmPL (Semantic Patch Language)
37 scripts that can be used together with Coccinelle's spatch tool. In order
38 to install spatch from the official tarballs, you might need to install
39 the following packages on Debian:
40  - ocaml-native-compilers (or alternatively ocaml)
41  - ocaml-findlib
42  - libpycaml-ocaml-dev
43  - libsexplib-camlp4-dev
44  - menhir and libmenhir-ocaml-dev
45 Afterwards, you can build and install Coccinelle with:
46    wget http://coccinelle.lip6.fr/distrib/coccinelle-1.0.0-rc7.tgz
47    tar xvf coccinelle-1.0.0-rc7.tgz
48    cd coccinelle-1.0.0-rc7/
49    ./configure --prefix=/usr/
50    make depend
51    make all
52    make install
53 To check netsniff-ng against scripts from src/s/, do:
54    cd src/
55    make check
57 Well, I guess most has been said ... so happy packet hacking! We're looking
58 forward for your patches, ideas and improvements!