Daniel Roethlisberger
601cdf5b52
Add SSL/TLS protocol selection debug code
2014-11-05 20:41:41 +01:00
Daniel Roethlisberger
6b0e47dc89
Allow more control over used SSL/TLS versions
...
Add -r to force a specific SSL/TLS protocol version.
Add -R to disable one or several SSL/TLS protocol versions.
Replace WANT_SSLV2_CLIENT and WANT_SSLV2_SERVER to WITH_SSLV2.
Issue: #30
Reported by: @Apollo2342
2014-11-05 20:06:11 +01:00
Daniel Roethlisberger
53e3d593c8
Move build status into h1
2014-11-04 20:41:48 +01:00
Daniel Roethlisberger
67ed768fec
Migrate documentation to markdown
...
Issue: #33
2014-11-04 20:39:20 +01:00
Daniel Roethlisberger
50001e5458
Avoid apparently common misunderstandings
2014-11-04 20:03:33 +01:00
Daniel Roethlisberger
0648f84bfc
Remove legacy TODO file; move to Github issues
2014-11-04 18:59:56 +01:00
Daniel Roethlisberger
fb2841f645
Zero allocated elements before initializing them
...
For some error conditions, the error handler depends on
ctx->thr[idx]->dnsbase to be zeroed expicitly after allocation.
To prevent this type of error, zero all allocated memory even
though it will get written to in any case.
2014-11-04 18:36:08 +01:00
Daniel Roethlisberger
508435d929
Use correct pointer type in sizeof()
2014-11-04 18:35:00 +01:00
Daniel Roethlisberger
8dbea83b21
Prevent malloc(0) when ssl_x509_names() returns no names
2014-11-04 18:33:00 +01:00
Daniel Roethlisberger
259d470498
Use -I instead of -isystem with clang-analyzer
2014-11-04 18:31:19 +01:00
Daniel Roethlisberger
d0665377ee
Remove WGET_FLAGS from developer targets
2014-11-04 18:30:26 +01:00
Daniel Roethlisberger
a299d7e3f3
Add unit tests for ssl_x509_subject() and ssl_x509_subject_cn()
2014-11-03 23:01:19 +01:00
Daniel Roethlisberger
eca1ac9a5e
Rewrite ssl_x509_subject_cn() error handling
2014-11-03 22:32:22 +01:00
Daniel Roethlisberger
c210641783
Don't add XNU includes to cppcheck invocation
2014-11-03 22:31:55 +01:00
Daniel Roethlisberger
76aab3b816
Fix X509_NAME_get_text_by_NID() error handling
2014-11-03 22:10:44 +01:00
Daniel Roethlisberger
5219d494f3
Protect session cache calls from sess == NULL
2014-11-03 22:10:01 +01:00
Daniel Roethlisberger
78a573121d
Add some CPPFLAGS to cppcheck arguments
2014-11-03 22:08:07 +01:00
Daniel Roethlisberger
b9ab5a03e6
SSLsplit 0.4.9 release
2014-11-03 19:42:24 +01:00
Daniel Roethlisberger
fcb64e85e7
Make SSLv2 support opt-in instead of opt-out
...
Migrate knobs from DISABLE_SSLV2_CLIENT and DISABLE_SSLV2_SERVER to
WANT_SSLV2_CLIENT and WANT_SSLV2_SERVER and remove the
DISABLE_SSLV2_SESSION_CACHE knob entirely, automatically including the
respective code if SSLv2 support is compiled into SSLsplit.
2014-11-03 19:39:13 +01:00
Daniel Roethlisberger
edf1dac8fa
Improve manual page re protocols and scalability
...
Issue: #42
2014-11-02 20:40:53 +01:00
Daniel Roethlisberger
769fbd042d
Filter HSTS response headers to allow cert override
...
Also remove HTTP Strict Transport Security (HSTS, RFC 6797) headers from
HTTP responses. With HSTS active, the user is not allowed to accept
untrusted certificates.
2014-11-02 20:25:17 +01:00
Daniel Roethlisberger
cc6cb59485
Rewrite Mac OS X support to use proper XNU headers
...
Move from one set of headers per major OS X release to one set of
headers per XNU release. Fetch the header files from Apple's official
Open Source site instead of GitHub in the fetchdeps developer target.
As a side effect, 10.6.x is now supported as well (untested), and proper
headers are used for 10.10.
Issue: #39
2014-10-30 22:01:55 +00:00
Daniel Roethlisberger
001615c53b
Update khash.h to latest klib master
2014-10-28 23:59:17 +01:00
Daniel Roethlisberger
b1a7b11aea
Don't depend on the space when parsing HTTP headers
2014-10-28 23:31:07 +01:00
Daniel Roethlisberger
d85e5ddbe2
Disable SSLv2 support by default
2014-10-28 23:24:37 +01:00
Daniel Roethlisberger
d6f2fa067d
Update TODO and refer to github issues
2014-10-24 22:07:02 +02:00
Daniel Roethlisberger
0a225ae65c
Update documentation after merging pull req #35
2014-10-23 13:28:14 +02:00
Daniel Roethlisberger
42efb4a980
Slightly improve user experience for new option -m
2014-10-23 13:23:57 +02:00
Daniel Roethlisberger
ee9d434cac
Further improving OOM handling in early stages of main()
2014-10-23 13:14:06 +02:00
Daniel Roethlisberger
b1b8fe09b9
Merge pull request #35 from fix-macosx/specify-custom-gid
...
Add support for specifying an explicit group when dropping privileges.
2014-10-23 13:00:42 +02:00
Daniel Roethlisberger
bea022540f
Handle strdup() failure in early stages of main()
...
Issue: #38
Reported by: Markus Elfring
2014-10-23 12:49:12 +02:00
Daniel Roethlisberger
b105473629
Check return values of pthread_mutex_init and friends
...
Issue: #38
Reported by: Markus Elfring
2014-10-23 12:27:12 +02:00
Daniel Roethlisberger
f575adadea
Update documentation after merge of pull req #32
2014-10-21 15:55:56 +02:00
Daniel Roethlisberger
79c67ebed7
Merge pull request #32 from fix-macosx/macosx-yosemite
...
Support Mac OS X 10.10 by using 10.9 headers
2014-10-21 15:42:37 +02:00
Daniel Roethlisberger
ed99fc0260
Use NULL instead of '\0' to avoid type conversion
2014-10-21 15:16:09 +02:00
Daniel Roethlisberger
e64bf695dc
Update documentation after merge of #34
2014-10-21 14:55:25 +02:00
Daniel Roethlisberger
2e418f1447
Merge pull request #34 from swills/master
...
add DESTDIR, MANDIR to install target
2014-10-21 14:44:11 +02:00
Landon Fuller
93ab726671
Merge branch 'macosx-process-info' into fix-macosx
2014-10-18 20:43:56 -06:00
Landon Fuller
f36b06f8c1
Fix stupid bug caused by leaving the path string as non-NULL terminated on initialization.
...
This failed visibly when the allocated buffer did not already
lead with \0.
2014-10-18 20:41:43 -06:00
Landon Fuller
7c0c39cb2c
Merge branch 'macosx-process-info' into fix-macosx
2014-10-18 17:11:29 -06:00
Landon Fuller
e6aa76b844
Implement automatic creation of parent directories.
2014-10-18 17:02:53 -06:00
Landon Fuller
06c61c16ed
Add support for specifying log paths as a specialized format string.
...
Format string handling is fully implemented, with the exception of
support for automatically creating missing directories.
2014-10-18 16:40:22 -06:00
Landon Fuller
8350b1deb0
Plumb user/group/path information through the logging API.
2014-10-18 14:35:49 -06:00
Landon Fuller
5ed49c4985
Implement user and group name lookup.
2014-10-18 14:16:50 -06:00
Landon Fuller
52d979e29d
Add a standard API for fetching process name, uid, and gid.
2014-10-18 13:46:44 -06:00
Landon Fuller
9204418c80
Thread pid lookup support through the NAT API.
...
This exposes the pid lookup code as a standard attribute
of NAT lookup -- if a matching process cannot be found,
or if pid lookup isn't supported by the NAT backend,
a pid of -1 is returned.
This also adds the local_pid to the pxyconn context; this
will be used to populate log strings.
2014-10-18 13:16:02 -06:00
Steve Wills
b8c8cb73ed
add DESTDIR, MANDIR to install target
...
DESTDIR to allow installing in chroot
MANDIR to allow specifying different dir for man pages
2014-10-18 17:32:22 +00:00
Landon Fuller
bcc74385ab
Log the full process path, rather than the MAXCOMLEN-max process name.
2014-10-18 02:34:46 -06:00
Landon Fuller
55e8da7653
Wire up lookup of the local process/socket originating the proxied connection.
...
This uses Mac OS X's libproc to find the first process that owns
a matching socket. Currently, the results are simply logged;
the next step will be exposing this generically via
the NAT engine lookup API.
2014-10-18 02:23:25 -06:00
Landon Fuller
cb6ffeaa9d
Merge branch 'fix-macosx' into macosx-process-info
2014-10-18 00:40:29 -06:00