2
LibHTP (http://www.libhtp.org)
3
Copyright 2009,2010 Ivan Ristic <ivanr@webkreator.com>
4
======================================================
6
LibHTP is a security-aware parser for the HTTP protocol and the related bits
7
and pieces. The goals of the project, in the order of importance, are as
10
1. Completeness of coverage; LibHTP must be able to parse virtually all
11
traffic that is found in practice.
13
2. Permissive parsing; LibHTP must never fail to parse a stream that would
14
be parsed by some other web server.
16
3. Awareness of evasion techniques; LibHTP must be able to detect and
17
effectively deal with various evasion techniques, producing, where
18
practical, identical or practically identical results as the web
19
server processing the same traffic stream.
21
4. Performance; The performance must be adequate for the desired tasks.
22
Completeness and security are often detremental to performance. Our
23
idea of handling the conflicting requirements is to put the library
24
user in control, allowing him to choose the most desired library
27
| IMPORTANT LIBHTP IS NOT YET CONSIDERED STABLE. USE AT YOUR OWN RISK. DO NOT
28
| USE IN PRODUCTION. WORK IS CURRENTLY UNDER WAY TO ENSURE THAT
29
| LIBHTP IS SECURE AND THAT IT PERFORMS WELL.
31
| STATUS LIBHTP IS VERY YOUNG AT THIS POINT. IT WILL BE SOME TIME BEFORE
32
| IT CAN BE CONSIDER COMPLETE. AT THE MOMENT, THE FOCUS OF DEVELOPMENT
33
| IS ON ACHIEVING THE FIRST TWO GOALS.
35
LibHTP is an open source product, released under terms of the General Public Licence
36
version 2 (GPLv2). Please refer to the file LICENSE, which contains the complete text
39
In addition, there is a special exception that allows LibHTP to be freely
40
used with any OSI-approved open source licence. Please refer to the file
41
LIBHTP_LICENSING_EXCEPTION for the full text of the exception.
47
The installation process should be as simple as:
53
| NOTE If you already have an early 0.2.x version installed, you must
54
| uninstall it before proceeding. Initially /usr was used for the
55
| installation, but /usr/local is used now. If you forgot to uninstall,
56
| clean all traces of LibHTP from /usr/lib/libhtp* and /usr/include/htp/*.
58
If you want to use a repository version of LibHTP, do the following:
60
1. Use svn export to retrieve the sources of the version you wish to use
62
2. Run ./update_version, which will update htp.c with the latest Subversion
65
3. You may wish to also update htp.pc.in and configure.ac with the correct version
67
4. Run autoconf -i --force, which will prepare the library for installation
69
5. Run doxygen to generate the API documentation
71
6. Continue to install as described above
77
The best documentation at this time is the code itself and the Doxygen output (which
78
should be all right). There's also a quick start guide in the doc/ folder, which
79
should give you enough information to get going.
85
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
86
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
87
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
88
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
89
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
90
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
91
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
92
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
95
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
96
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
97
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
98
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
99
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
100
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
101
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
102
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
103
POSSIBILITY OF SUCH DAMAGES.