Commit Graph

217 Commits (02a6cc12e66a0b8c521f8828482c2fa35cf043c9)

Author SHA1 Message Date
Soner Tari 0787e74bd1 Rename FILTER_ACTION_IGNORE to FILTER_ACTION_MATCH
Match is a better term than ignore, if the other actions are not
returned but there is a matching filter rule. Otherwise, it is up to the
caller to ignore a match or not. Plus, we can implement Match filtering
rule too, e.g. for content logging as in OpenBSD/pf.
3 years ago
Soner Tari 5d84587195 Add -Q test config option
Quits after loading and testing all configuration.
3 years ago
Soner Tari 37f82aa84e Simplify get_name_value() 3 years ago
Soner Tari 42fecffb70 Silence error message issued for Divert option non-yes|no value
If the value for the Divert option is not yes|no, it is assumed to be a
Divert filtering rule. So the parser for filtering rules should issue
any errors.
3 years ago
Soner Tari e993ccdb5d Add FILTER_ACTION_IGNORE action
Differentiate filter action for site match from no site match. The
search should stop if a match is found, even if the action does not
change anything in effect (divert/split action in divert/split mode,
respectively) or the action is ignored (pass action in passthrough
mode).
3 years ago
Soner Tari b5944cc190 Fix split mode proxy specifications on the command line
Split mode structured proxy specifications were fine.
3 years ago
Soner Tari c63309c766 Fix the precedence of multiple divert options used in conf file
The Divert option is not equivalent to the command line -n option.
Also, move the global static split var to tmp struct removed after
config is finished.
3 years ago
Soner Tari 9dae032c71 Fix the precedence of split mode set by -n option
Global split mode set by the -n option overrides the divert options of
all proxyspecs.
3 years ago
Soner Tari 5b435515e3 Fix handling of Divert option and Divert filtering rules 3 years ago
Soner Tari 8d752b4d31 Add documentation for filtering rules
Also bump version to 0.8.7
3 years ago
Soner Tari 99c852972e Implement filter actions
- SSL and Dst Host filters can take all of the actions.

- HTTP filter can only take block action, not divert, split, or pass.
Because, we cannot tear a conn down and reconnect its src, after the
processing of HTTP request header is complete, e.g. SSLproxy line has
already been added to its dst buffer. Also, any change in child conns
would affect listening programs too.

- The precedence of filters is as Dst Host > SSL > HTTP.

- The precedence of actions is as Divert > Split > Pass > Block. This is
only for the same type of filter.

- The precedence of match sites is as sni > cn for ssl filter and host >
uri for http filter.

For example, pass action of dst host filter is taken before split action
of ssl filter, due to the precedence order of filters.

For example, pass action of sni site is taken before split action of cn,
due to the precedence order of sites.

We now create src ssl before enabling src to be able to take divert or
split actions of SSL filter. Otherwise, we wouldn't be able to switch
between divert and split while enabling src, only pass or block action
could be taken at that stage.

Also, refactor and clean up.
3 years ago
Soner Tari 475a7ebcda Add Divert|Split|Pass|Block filtering rules
(Divert|Split|Pass|Block)
  ([from (
        user (username|*) [desc keyword]|
        ip (clientaddr|*)|
        *)]
    [to (
        sni (servername[*]|*)|
        cn (commonname[*]|*)|
        host (host[*]|*)|
        uri (uri[*]|*)|
        ip (serveraddr|*)|
        *)]
  |*)

Also, fix a couple of issues with filter rule handling
Clean up
3 years ago
Soner Tari eb60fc9c1f Enclose equal macro in parentheses
Otherwise, we cannot and/or multiple equal macros or with certain other
conditions
3 years ago
Soner Tari ff3bcab3f1 Add exact bit, do not add slashes around sites, avoid unnecessary strdups
Limit site len to 200
3 years ago
Soner Tari 85fb1bd214 Add new data structure for general filtering rules
Now PassSite rules are considered as pass rule and added to the new data
structure. PassSite option will be deprecated in the future.
3 years ago
Soner Tari 6a4a70bb06 Avoid strdup() and simplify passsite search
Also, improve code, tests, and documentation
3 years ago
Soner Tari 982880ccfe Restructure passsite filter data structure
Now we don't go over all of the passsite rules in a linked list trying
to apply passsite to the sni or common names of a conn. Instead, we now
have user+keyword, keyword, ip, and all lists. For example, if we find
the conn user in the user+keyword list and a passsite in that list
matches, we don't look into other lists.

This change is expected to improve the performance of passsite
processing considerably, because in the earlier implementation we had to
go over all of the passsite rules trying to match passsite.

And this solution uses a correct data structure, even if not the best.
For example, each user or keyword in passsite rules is strdup()'ed only
once.

Note that a better solution could use, say, a hash table for users,
instead of a linked list. But hash tables are not suitable for keywords
or sites, because we search for substring matches with them, not exact
matches.

Also, this fixes passsite rules without any filters defined, i.e. to be
applied to all connections.

Also, now e2e tests error exit if WITHOUT_USERAUTH is enabled. E2e tests
require UserAuth enabled.
3 years ago
Soner Tari 56237558cd Refactor protossl_pass_site() to reduce and decouple code for substring and exact search 3 years ago
Soner Tari f2d4ef61c9 Add support for passsite substring match
Now the site field in PassSite option can have an '*' suffix to search
for a match anywhere in sni or common names. Note that this is not a
regex or wildcard search.

Previously, we only supported exact matches in sni and between slashes
in common names. This change makes it possible to cover multiple sites
in one PassSite option. In fact, without this change, certain sites
could not be added as passsite, because it was impossible to know their
subdomain names beforehand, for example *.fbcdn.net, which may have many
subdomain names in place of asterisk.

So to use substring match, append an '*' to a site name in PassSite
option (the asterisk is removed before substring search). For example,
use ".fbcdn.net*" to match all subdomains of fbcdn.net, notice the
asterisk at the end.

We also add a warning log starting with "Closing on ssl error without
passsite match" to report sites that can be added as passsite, which is
expected to help in writing PassSite rules.

Also, we now set dstaddr_str earlier in conn handling, so we can print
it in debug logs. This also helps in IDLE and EXPIRED conn logs.
3 years ago
Soner Tari 9a7e2c35f3 Avoid multithreading issues by duping the site arg as a local var
If more than one thread enters protossl_pass_site() with the same
proxyspec, they all use spec->opts->passsites->site. Since
protossl_pass_site() modifies the site arg, spec->opts->passsites->site
may be broken. For example, /example.org/ may become /example.or//,
which really happened.
3 years ago
Soner Tari d26c3fd079 Fix passsite in split mode
We should identify conn user before setting dst up in split mode.
Because in split mode dst setup also sets src up too, which tries to
apply passsite rules and switch to passthrough mode. But since user
identification has not run yet, we don't know the user owner of the
conn, which fails passsite rules.
3 years ago
Soner Tari 45b34678de Prepend sslproxy line using evbuffer_add_printf() in non-debug mode for non-http protos
This prevents unnecessary malloc and memmove calls in non-debug mode.
This change is for correctness not for speed, because it improves
conn handling only of the first packet and for non-http protos.
3 years ago
Soner Tari 74cf3800f2 Fix passthrough in split mode 3 years ago
Soner Tari 9123732739 Fix possible segfaults with srvdst_xferred, autossl and passthrough
- Fix segfault introduced in previous commit to prevent extra eof event.
We should NULL srvdst.bev after terminating child dst xferred from
srvdst of parent, so that we don't try to access srvdst.bev. This
happens if child conn with dst xferred from parent srvdst is terminated
before parent conn.

- Fix autossl crash trying to engage passthrough mode. We cannot engage
passthrough mode in autossl, because src is already enabled. But we
shouldn't crash either. These changes are expected to fix other possible
segfaults if passthrough is engaged on eventcb of a child conn.
3 years ago
Soner Tari de9c85f65e Fix signal 11/10 crash due to a second eof event for srvdst in split mode
We reuse srvdst as dst or child dst, so srvdst == dst or child_dst.
But if we don't NULL the callbacks of srvdst in split mode,
we randomly but rarely get a second eof event for srvdst during conn
termination (especially on arm64), which crashes us with signal 11 or
10, because the first eof event for dst frees the ctx.
Note that we don't free anything here, but just disable callbacks and
events.
This does not seem to happen with srvdst_xferred, but just to be safe we
do the same for it too.
This seems to be an issue with libevent.

TODO: Why does libevent raise the same event again for an already
disabled and freed conn end? Note again that srvdst == dst or child_dst
here.
3 years ago
Soner Tari 3a9e77524e Report autossl in CONN logging not tcp at unencrypted stage of autossl
Currently, an autossl conn writes 3x CONN lines in connection logs,
when:

1. tcp srvdst connects (before ssl upgrade)
2. ssl dst connects (src ssl is not complete yet)
3. ssl src connects

This causes misleading connection statistics, as in UTMFW.

TODO: We should write CONN logs at conn termination times, for all
protos not just autossl, not tcp or ssl connect times, so that we don't
write multiple CONN logs for a single conn.
3 years ago
Soner Tari 69753b250c Add split mode of operation similar to SSLsplit
The -n command line option enables split mode for all proxyspecs,
effectively making sslproxy behave like sslsplit.
Divert option can be set/unset globally and per-proxyspec.
Add e2e tests for split mode, and update make file for tests
accordingly.
Update documentation accordingly.
Improve code reuse, remove duplicate functions.

This change deserves a release of its own, hence v0.8.4.
3 years ago
Soner Tari a6cf55cffe Refactor ifdef directive for get_client_ether() call 3 years ago
Soner Tari 1bb5bd2398 Improve UserAuth documentation 3 years ago
Soner Tari 2b9cb937fd Improve documentation 3 years ago
Soner Tari 7ed4748d96 Fix clang warning due to -Wpointer-bool-conversion, remove NONNULL for list
pxyconn.c:1590:9: warning: comparison of nonnull parameter 'list' not
equal to a null pointer is 'true' on first encounter
4 years ago
Soner Tari 596aebb2f3 Update version to 0.8.3 and copyright year to 2021 4 years ago
Soner Tari 6b2072dc94 Fix formatting for -A option
Reported on sslsplit as https://github.com/droe/sslsplit/issues/287
4 years ago
Soner Tari 10f753c012 Remove delimiters around user names
Delimiter can be either or all of ",", " ", and "\t", and we don't allow
spaces in user names now
4 years ago
Soner Tari cb28a1e12a Do not debug print proxyspecs in proxy_new() 4 years ago
Soner Tari 65b7fb9847 Reduce code for user lists 4 years ago
Soner Tari def65e195c Update man page with README
Improve README
4 years ago
Soner Tari aded848043 Release v0.8.2 4 years ago
Soner Tari e2bf278933 Allow mirroring without explicit target
Allow omitting the -T option, indicating the target is irrelevant.

The use case is an IDS sensor listening on a dummy interface for the
packets sslsplit produces. The IDS will listen in promisc mode, so the
target is irrelevant.

Copied from sslsplit.
4 years ago
Soner Tari 463aa1a71e Fix doc typo 4 years ago
Soner Tari 151b305c2f Do not pass null arg to log_*_printf()
vfprintf %s NULL in "Error from bufferevent: %i:%s %lu:%i:%s:%i:%s:%i:%s
"
Error from bufferevent: 32:Broken pipe 50327584:32:Broken pipe:2:system
library:4095:(null)
4 years ago
Soner Tari 80d10a94c3 Move classify_user into identify_user
Otherwise, we cannot classify user if we need to issue identify_user
events, in case database is busy or locked. We should call classify_user
callback right after the user is identified.
So we introduce classify_user callback to achieve that, which fixes the
classify_user behavior for autssl proto too.

Return void in pxy_userauth
Fix typo in clasify
4 years ago
Soner Tari 4f3ce763ac Add DivertUsers and PassUsers options
Update documentation
4 years ago
Soner Tari 6c0b981831 Update version to 0.8.1
Update TLS 1.3 documentation.
4 years ago
Soner Tari 4ee7bbcf15 Fix whitespace 4 years ago
Soner Tari e209a04268 Fix line_num reported if conf file contains structured proxyspecs 4 years ago
Soner Tari 6f5a7ceeb1 Add WITHOUT_USERAUTH switch 4 years ago
Soner Tari ca79405769 Fix doc for MaxSSLProto default as tls13 4 years ago
Soner Tari e51afcfe4a Fix default CipherSuites 4 years ago
Soner Tari 176570c4a4 Silence warning about <sys/sysctl.h> deprecated on Linux
/usr/include/x86_64-linux-gnu/sys/sysctl.h:21:2: warning: #warning "The
<sys/sysctl.h> header is deprecated and will be removed." [-Wcpp]
4 years ago
Soner Tari b679439c9f Silence warning about output truncated before terminating nul by gcc 9.3.0
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: warning:
‘__builtin_strncpy’ output truncated before terminating nul copying as
many bytes from a string as its length [-Wstringop-truncation]
4 years ago
Soner Tari 25ec9d58bc Silence alignment warning by gcc 9.3.0
logpkt.c:351:3: warning: converting a packed ‘ip4_hdr_t’ {aka ‘struct
<anonymous>’} pointer (alignment 1) to a ‘uint16_t’ {aka ‘short unsigned
int’} pointer (alignment 2) may result in an unaligned pointer value
[-Waddress-of-packed-member]
4 years ago
Soner Tari ad21615dbe Add -U to getopt() shortopts 4 years ago
Soner Tari af27340889 Add -U CipherSuites option 4 years ago
Soner Tari 3f2d0d56d6 Fix debug dump for no_tls12/no_tls13 4 years ago
Soner Tari fade72ec0d Move main.mk under Mk folder and improve make files 4 years ago
Soner Tari 1a3a2fb9f6 Add missing HAVE_TLSV13 code 4 years ago
Soner Tari f9c8ecbc69 Fix build with LibreSSL 3.1.2, which does not have tls13 4 years ago
Soner Tari ee41c72666 Add tls13 support
Add e2e tests for tls13 too
4 years ago
Soner Tari 9da7437919 Release v0.8.0 4 years ago
Soner Tari 3fe0e5f1eb Move tmp global opts vars to new tmp struct
The global opts strings in this new tmp struct are used while cloning
global opts into proxyspec opts. A var of this type is passed around as
a flag to indicate if these opts are global (if non-NULL), so should be
stored in that struct and used as such, or proxyspec specific (if NULL),
so should not be used as global. This var is temporary, hence freed
immediately after configuration is complete.
Also improve and clean up.
4 years ago
Soner Tari 6abfa01252 Free all structs created for testing 4 years ago
Soner Tari 59ce88b1ac Move tmp proxyspec vars to new tmp struct
These vars are used while configuring proxyspecs, and freed right after
they are used. So they should not be in proxyspec struct.
Refactor accordingly.
4 years ago
Soner Tari 4a1980d4a5 Add check unit tests for protocol validation and util_get_first_word_len()
Also improve and clean up
4 years ago
Soner Tari e3b0ba94d8 Accept space, tab, cr, and nl chars after POP3 and SMTP commands
POP3 clients may and do append CRLF to commands.
So use the new util_get_first_word_len() function.
4 years ago
Soner Tari ef2edff60a Improve string comparisons
We need case-insensitive comparison validating POP3 and SMTP commands.
Define macro function to check string equality.
4 years ago
Soner Tari ac4285cef1 Fix POP3 and SMTP protocol validation, thanks to the new testproxy e2e tests
Add testproxy e2e tests for POP3 and SMTP protocol validation.

We have detected that POP3 and SMTP protocol validation was broken
thanks to these new testproxy e2e tests. This is yet another example why
e2e tests are important.
4 years ago
Soner Tari f3ac5ee4f2 Move passsite flag to sslctx
The passsite flag is ssl specific.
4 years ago
Soner Tari 313da5cfca Add -A DefaultLeafCert option
Rename LeafCerts to LeafKey, TargetCertDir to LeafCertDir, CRL to
LeafCRLURL
4 years ago
Soner Tari aba07a53ee Disable conn ids unless debugging
We don't need parent or child ids unless debugging. IDLE and EXPIRED
conn logs do not need to report ids either. Ids are useful only in
detailed debug logs.
4 years ago
Soner Tari 11f92e3ce8 Add unique child id, set to the children count of parent conn
This is necessary to uniquely identify child conns. The src fd of child
conns was possibly not unique. We use this id in debug logs only.
Also relocate the update code related with this id.
4 years ago
Soner Tari 519e82a624 Warn unused result of max() 4 years ago
Soner Tari be80523036 Use the new inline max() function instead of MAX() macro function in sslproxy
Do not pass pxy_thr_print_children() or bufferevent_getfd() to MAX() or
util_max() macro functions as params, or else they are called twice.
Since MAX() macro call duplicates params, do not call it nested either,
or else we get very long macro expansions.
4 years ago
Soner Tari d611ec727d Do not close fd -1, true for tcp conns too 4 years ago
Soner Tari 8a96565d99 Zero out msg buf as in sslsplit
ce5f409dbe
("Zero all bytes when passing file descriptors over AF_UNIX sockets",
2018-11-12)

Also, bufferevent_getfd() returns -1 if no file descriptor is associated
with the bufferevent.
4 years ago
Soner Tari 3e706ea022 Fix leaks and errors reported by valgrind
Free vars.
Finalize sqlite3 statements.
Close sqlite3 db.
Init memory.
Do not close fd -1.

Some of these may be harmless, but we fix them anyway. Now valgrind
reports 0 "lost" memory, but some "still reachable", both for sslproxy
and lp.
4 years ago
Soner Tari 1d75bfb17f Fix a possible sync issue between thr load and conn children list on error
Refactor and rename functions, struct fields, and vars
Simplify if conditions and fix/improve logs
Clean up
4 years ago
Soner Tari 757ed35687 Do not use privsep to open socket for child listener
We don't need a privsep call to open a socket for child listener,
because listener port of child conns are assigned by the system, hence
are from non-privileged range above 1024.
So the open privsep socket is used only to update user atime now.
4 years ago
Soner Tari 14cfd3286b Update ctime and first atime on conn handling thr, not on thrmgr
This offloads the thrmgr by saving a time() call.
Also remove an unnecessary NULL assignment.
4 years ago
Soner Tari 18c882ad37 Refactor and rename assign/attach conn to thr functions
And fix comments.
4 years ago
Soner Tari d3c3059c26 Remove ctx evbase and dnsbase
We already have thr in conn ctx to access its evbase and dnsbase.
4 years ago
Soner Tari 8786b9fda7 Remove pending ssl conns list and in_thr_conns flag
We have carried almost all conn init tasks from thrmgr to conn handling
thread. So we immediately add the conn to the conn list of its thr,
which renders both pending ssl conns list and in_thr_conns flag useless.
4 years ago
Soner Tari 98cda54c47 Reduce and improve debug logs 4 years ago
Soner Tari c8371e7b3d Decouple thrmgr and conn handling thr on error too
Also add/fix comments, fix debug logs and mistakes.
4 years ago
Soner Tari 229ea2fe0a Convert linked lists to doubly linked lists, so keep track of previous node
The only time we go over the linked list is to check idle or expired
connections, or to print debug info. Otherwise, mostly what we need is
to add and remove list nodes. Removing a list node becomes a very simple
task if we keep track of the previous node too. So now we also keep
record of prev node, and update prev node as we add and remove nodes.
All three linked lists we use benefit from this data structure
improvement, making it very fast to remove a list node.

Another benefit of this change is that we don't need to identify conns
with their id numbers or child conns with their src fds. So now we
directly delete them, without needing to check their ids or fds.
4 years ago
Soner Tari cc5d877711 Remove BEV_OPT_THREADSAFE
thrmgr and conn handling threads are cleanly decoupled now. So we don't
need BEV_OPT_THREADSAFE anymore.
4 years ago
Soner Tari f77a7630d5 Disable thr mutex
Do we need a thr mutex? This mutex is for thread-safe access to
thr.load. But thrmgr read-accesses thr.load, and write-accesses are by
thr only. So can we really live without it?
4 years ago
Soner Tari 8b27cfce95 Decouple code for thrmgr and conn handling threads, so create pxythr.c/h 4 years ago
Soner Tari aab56d42a9 Switch to conn handling thread even earlier
So now we do a couple of expensive tasks on conn handling threads, not
on thrmgr: Add the conn to its thread conn list, check fd usage, nat
lookup dst, and make string src addr.
4 years ago
Soner Tari 033cb732ac Decouple conn init from fd readcb 4 years ago
Soner Tari 191109951d Switch from thrmgr to connection handling thread asap
This prevents possible multithreading issues between thrmgr and conn
handling threads. So we can remove and clean up the code and comments
related with such possible issues now. For example, we can add the conn
to its thread list earlier, and we can handle errors immediately, thanks
to this early switch to conn handling threads. This also helps achieve
cleaner code.
4 years ago
Soner Tari 03453fc76b Refactor to free the buf asap 4 years ago
Soner Tari 0bfe5584e4 Simplify logs printed by *_main and *_main_va macros
Since the *_main and *_main_va macros always pass 0 as fd, and the other
macros fd > 0, we can simplify the main macros.
4 years ago
Soner Tari 05654e3bee Avoid possible crashes caused by passing NULL pointers to str*() functions 5 years ago
Soner Tari a1f24e26d0 Clean up 5 years ago
Soner Tari fd3aa5a394 Update lp with sslproxy changes, fix dst events
Enable dst r/w events before socket connect.
Improve verbose debug logs using common header fields to better identify
connections.
Create function macros for fine* debug logs.
5 years ago
Soner Tari 554fd3bd3a Improve code reuse, reduce code, clean up whitespace 5 years ago
Soner Tari 20eb2533d1 Fix autossl crash upon protocol error, need fuzzing tests
This happens if there was no autossl handshake prior to ClientHello,
e.g. no STARTTLS message. This is perhaps due to the SSL handshake of a
direct SSL connection, i.e. invalid protocol.
We should not crash upon protocol errors, hence the need for fuzzing
tests.
5 years ago
Soner Tari efa2b48b94 Disable autossl passthrough
Autossl passthrough crashes with signal 10.
5 years ago
Soner Tari 5c2ac6d1bf Remove writecb for srvdst except for passthrough, remove srvdst_connected and dst_connected flags, clean up autossl
We don't do anything in srvdst writecb except for passhtrough mode.
We handle srvdst and dst connect tasks in connectcb for them by
arranging connect events correctly, so we don't need any extra flags.
Correct connect ordering helps us remove code checking if bev exists.
There were a lot of unnecessary code in autossl. Tcp and ssl code are
decoupled now.
5 years ago
Soner Tari a24ac850b4 Fix readcb and writecb before connected
Do not enable srvdst readcb until connected
Enable read and write callbacks only after connected
5 years ago
Soner Tari 64c0078ecb Update comments about writecb before connected 5 years ago
Soner Tari a0d74baa43 Update copyright year to 2020 5 years ago
Soner Tari a34c953ef0 Validate the response from the smtp server to protect the client
Because we directly relay the packets from the server to the client
until we receive the first packet from the client, at which time we xfer
srvdst to the first child conn and effectively disable this readcb,
hence start diverting packets to the listening program.
Improve documentation.
5 years ago
Soner Tari 1445a5cdf8 Fix smtp proto
We enable readcb for srvdst to relay the 220 smtp greeting from the
server to the client, otherwise the conn stalls.
Related with issue #18 too.
5 years ago
Soner Tari 1a0d46587b Check libevent version before calling bufferevent_openssl_set_allow_dirty_shutdown() 5 years ago
Soner Tari c3c228d8ce Remove ssl_shutdown_retry_delay and SSLShutdownRetryDelay, not used anymore 5 years ago
Soner Tari 10573a1b7c Copy BSDmakefile to subfolders
So we can individually make clean them
5 years ago
Soner Tari 9ad477e0a7 Fix misc issues with autossl
And various improvements
5 years ago
Soner Tari a0e475b473 Fix SSL shutdown, which fixes conn stall issue with autossl
Otherwise, we cannot properly shutdown the src conn end of an autossl
conn, and when the next conn uses the same fd of that src, the callback
functions (e.g. the writecb) do not fire, which effectively stalls the
conn. This fixes a longtime issue with autossl support.
So remove pxysslshut.c/h files, not used anymore
5 years ago
Soner Tari 50cfe4d789 Fix sslproxy_header_len if port len is 4, i.e. port <= 9999
Otherwise, if we assume that the port is always 5 chars, we leave a NULL
char between the sslproxy header and CRLF, which confuses
pxy_insert_sslproxy_header() and pxy_try_remove_sslproxy_header(), and
we cannot remove the sslproxy header.
5 years ago
Soner Tari b848df0b0b Use __func__ not __PRETTY_FUNCTION__ as __FUNCTION__ definition
Because __PRETTY_FUNCTION__ prints a detailed function signature on
OpenBSD
5 years ago
Soner Tari 3af16b3228 Improve verbose debug logs using common header fields to better identify connections
Create function macros for fine* debug logs
Fix a few memory leaks when DEBUG_PROXY enabled
Add main.mk to MKFS list
Put a few function params within DEBUG_PROXY directives
Check retval of a snprintf() call
Fix segfault with -w/-W options if no ssl proxyspec specified, also fixed in sslsplit develop: https://github.com/droe/sslsplit/issues/271
Various clean-up
5 years ago
Soner Tari 60924687ed Close ocsp denied conn
Wait until ocsp denied msg is sent and then close the conn in a new http
src w cb
5 years ago
Soner Tari 155b83c045 Do not export vars to the shell, instead create a main.mk and include it when needed
Otherwise it is almost impossible to stop var redefinitions in
successive builds
5 years ago
Soner Tari af3366b84f Create make files for src and tests/check folders
Move folders and files related with check tests under tests/check folder
Fix check unit tests accordingly
5 years ago
Soner Tari 8eab8d1da8 Restructure source tree, create src and tests folders, move files accordingly
Remove docker
5 years ago