Commit Graph

51 Commits

Author SHA1 Message Date
Soner Tari
a1c5d05143 Add support for log priority to error logs, so syslogd prints the correct prio for error logs now 2017-10-15 01:39:30 +03:00
Soner Tari
9ec58f821b Changes needed while adding SSL proxy support to WUI
Separate mail/mails to pop3/pop3s/smtp/smpts for statistics
Write connect logs to syslog too, for statistics
Fix log lines for statistics, remove fds from err logs
2017-08-20 01:46:57 +03:00
Soner Tari
7748e3ec1b Add conf file support, with -f command line option, supports a subset of all possible options 2017-08-16 16:01:52 +03:00
Soner Tari
1a6eab50a5 Tidy and clean logs up
Add DEBUG_PROXY directive around all log_dbg_level_printf() and related lines
Log stats to syslog, similar to error logs, so that it is simpler to rotate and parse
-O w/o -g is failing bufferevent_socket_connect for parent dst, so either enable -O w/ -g, or disable -O w/o -g (-O2 is failing too)
Refactoring
2017-08-13 04:36:33 +03:00
Soner Tari
9e637dd2cc Clean-up 2017-08-01 16:05:25 +03:00
Soner Tari
5a136b7ce7 Add extra stats
Rearrange, clean-up
2017-07-30 00:34:46 +03:00
Soner Tari
2411f79582 Add plain or ssl info to SSLproxy specific header line
Fix child eof bug
Flickr keeps redirecting to https with 301 unless we remove the Via line of squid, so apparently flickr assumes the existence of Via header field or squid keyword a sign of plain http, even if we are using https
Also do not send the loopback address to the Internet
Other fixes
2017-07-27 17:50:45 +03:00
Soner Tari
67ddee1585 Import sslsplit-devel changes
Add stats logs, initial
Add SSLproxy_SrcAddr header field
Clean-up
2017-07-25 16:07:39 +03:00
Soner Tari
378c8c03ef Fix/improve logging, clean-up 2017-07-23 01:15:59 +03:00
Soner Tari
1b9a192947 Remove recursion while freeing children, parent frees children in a loop now
Improve, simplify, clean-up
2017-07-15 13:04:13 +03:00
Soner Tari
ae35623c15 Remove meta ctx completely
Fix issues
2017-07-15 04:07:42 +03:00
Soner Tari
09e1c858b9 Refactoring to remove mctx 2017-07-14 22:34:15 +03:00
Soner Tari
133584361f Rename and clean-up 2017-07-13 00:45:12 +03:00
Soner Tari
496a4f090d Refactoring: Simplify, reduce, rearrange, rename, and clean-up
Get rid of now unnecessary child info struct and functions
2017-07-12 22:37:36 +03:00
Soner Tari
d7094d7138 Refactoring: Simplify, reduce, rearrange, rename, and clean-up
Got rid of now unnecessary pxy_conn_is_ready_to_free*() functions
Got rid of now unnecessary duplicate child and parent free functions: pxy_*_conn_free()
Fix error handling
2017-07-12 16:46:51 +03:00
Soner Tari
1a446cd243 Refactoring: Create child ctx
Rearrange, clean-up
2017-07-12 01:45:15 +03:00
Soner Tari
fc60db0e74 Disable the workaround for dst connection issues, NULL r/w cbs
Reduce the conn timeout to 30s again
2017-07-10 22:08:44 +03:00
Soner Tari
85875be00f Sometimes dst write cb fires but not event cb, especially if the listener cb is not finished yet, so the conn stalls. This is a workaround for this error condition, nothing else seems to work.
Clean-up
2017-07-10 17:26:58 +03:00
Soner Tari
590a693998 Rearrange and clean-up 2017-07-10 15:48:57 +03:00
Soner Tari
e8332f11cf Make conn termination more similar to orig sslsplit code
Free child info struct of a deleted child
Rename, rearrange, and clean-up
2017-07-10 12:27:46 +03:00
Soner Tari
d6e1ed2cef Fix a potential issue which could forward a packet without any SSL proxy address
Rename, rearrange, and clean-up
2017-07-07 17:18:01 +03:00
Soner Tari
e3266cc811 Fix closing fd2 when uninit, i.e. fd2=0, which was freeing stdin
Clean-up and improvements
2017-07-06 15:38:32 +03:00
Soner Tari
8ad3b5db25 Defer all e2 setup until after parent is connected
Clean-up and improvements
2017-07-06 01:58:21 +03:00
Soner Tari
4d88906d24 Clean up and improve 2017-07-04 18:13:34 +03:00
Soner Tari
4f6b207e57 Improve conn termination: Close children asap if there is no parent, close parent asap if there is no child 2017-07-04 12:28:04 +03:00
Soner Tari
ad1f95e465 Remove conn mutexes: Use thrmgr mutex during attach/detatch only, do eveything in the same thread, do not touch the other threads
Flex, fix, and improve conn termination: Make it more similar to orig sslsplit code
Fix issues, and clean-up
2017-07-04 02:12:17 +03:00
Soner Tari
ecfaf24614 Add more child info to conns list, and clean-up 2017-07-02 17:47:26 +03:00
Soner Tari
5047df8cba Fix some of the compiler warnings, rearrange, and clean-up 2017-07-01 23:17:45 +03:00
Soner Tari
be54db770f Add comments, improvements, and clean-up 2017-07-01 18:08:28 +03:00
Soner Tari
0b0f6b21dc Add uuid to all conn mctxs, otherwise we cannot uniquely identify them, causing trouble especially while deleting conns
Fix issues, clean-up
2017-07-01 00:29:39 +03:00
Soner Tari
833e1903e1 Dump conn info list
Remove conns using delete list of timed out conns
Fix issues, improvements
2017-06-30 00:38:37 +03:00
Soner Tari
82b58c2dab Fix multithreading
Clean-up
2017-06-25 14:21:32 +03:00
Soner Tari
9858928b73 Add debug levels, initial 2017-06-15 19:07:37 +03:00
Soner Tari
d033ea68dd Plain TCP version is running good enough, next will try to switch the SSL on 2017-05-29 12:22:23 +03:00
Daniel Roethlisberger
ac3e845fbe Test dnsbase and evbase for !NULL before freeing
Fix segmentation fault upon exiting the main loop that was introduced
when evdns initialization was made optional, resulting in dnsbase
elements not always being initialized.

Introduced in:	0e2b748
2016-03-25 23:40:45 +01:00
Daniel Roethlisberger
88c039b059 Don't test NONNULL arguments for NULL 2016-03-25 16:41:48 +01:00
Daniel Roethlisberger
0506024587 Update copyright notices to 2016 2016-03-25 12:19:23 +01:00
Daniel Roethlisberger
0e2b748bba Only init DNS when DNS is required by proxy specs
Only initialize evdns if DNS lookups are actually required by the loaded
proxy specifications.  This allows sslsplit to work in non-DNS modes in
situations where the local DNS resolver does not work, such as for local
use on a system without network connectivity.  Currently, only SNI based
proxy specs require DNS.  On systems without network connectivity, DNS
subsystem init may fail due to /etc/resolv.conf being (temporarily)
unavailable.

Issue:		#104
2015-09-27 16:39:24 +02:00
Daniel Roethlisberger
91da4674e5 Update copyright, license and tagline
-   Update copyright to 2015
-   Remove the non-standard "unmodified" from the 2-clause BSD license
-   Remove scalable from the tagline to avoid misinterpretations
2015-02-24 19:19:20 +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
47c409cbb5 Don't rely on OpenSSL to pull in string.h
Obtained from:	OpenBSD port patches
2014-06-21 19:20:34 +02:00
Daniel Roethlisberger
a80cbf73f4 Add some error-case debug messages to pxy_thrmgr_run() 2014-01-15 01:04:02 +01:00
Daniel Roethlisberger
ca923ee7f1 Update copyright notices to 2014 2014-01-06 14:09:18 +01:00
Daniel Roethlisberger
fc29806663 Fix off by one error in thrmgr error cleanup code
This should remove another potential source of segmentation faults when
the thread manager fails to start.

Issue:          #10
Reported by:    linuxton
2013-08-24 21:44:40 +02:00
Daniel Roethlisberger
29f912096b More verbose debugging in pxy_thrmgr_run() 2013-08-23 17:28:08 +02:00
Daniel Roethlisberger
080604e3c2 Fix segfault after thread manager start failure
This should fix the segmentation fault in issue #10 but not the
underlying reason why the thread manager fails to start in the first
place.

Issue:          #10
Reported by:    linuxton
2013-08-23 16:56:12 +02:00
Daniel Roethlisberger
a0fd9c1050 Start thrmgr threads after forking 2013-07-02 15:54:46 +02:00
Daniel Roethlisberger
c972501063 Update copyright notices 2013-04-24 20:36:38 +02:00
Daniel Roethlisberger
d3abdfd5dc Fix race condition on proxy startup failure
Yield the CPU in the main thread until the proxy thread manager is fully
started.  Otherwise, the main thread could free the proxy thread manager
while the threads are still starting up, leading to a deadlock.
2012-10-23 22:52:54 +02:00