SSLproxy/tests/check
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.
2021-09-07 18:52:52 +03:00
..
engine Do not export vars to the shell, instead create a main.mk and include it when needed 2020-03-31 16:19:02 +03:00
pki Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
base64.t.c Restructure source tree, create src and tests folders, move files accordingly 2020-03-27 14:28:08 +03:00
BSDmakefile Copy BSDmakefile to subfolders 2020-04-12 15:51:41 +03:00
cachedsess.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
cachefkcrt.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
cachemgr.t.c Restructure source tree, create src and tests folders, move files accordingly 2020-03-27 14:28:08 +03:00
cachessess.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
cachetgcrt.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
cert.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
defaults.t.c Clean up DOCKER directives 2020-05-12 12:02:53 +03:00
dynbuf.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
GNUmakefile Move main.mk under Mk folder and improve make files 2020-06-23 13:00:05 +03:00
logbuf.t.c Restructure source tree, create src and tests folders, move files accordingly 2020-03-27 14:28:08 +03:00
main.t.c Add check unit tests for protocol validation and util_get_first_word_len() 2020-05-13 21:24:08 +03:00
opts.t.c Restructure passsite filter data structure 2021-09-07 18:52:52 +03:00
proto.t.c Update version to 0.8.3 and copyright year to 2021 2021-02-11 00:25:09 +03:00
pxythrmgr.t.c Restructure source tree, create src and tests folders, move files accordingly 2020-03-27 14:28:08 +03:00
ssl.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
sys.t.c Create make files for src and tests/check folders 2020-03-29 16:55:02 +03:00
url.t.c Restructure source tree, create src and tests folders, move files accordingly 2020-03-27 14:28:08 +03:00
util.t.c Update version to 0.8.3 and copyright year to 2021 2021-02-11 00:25:09 +03:00