summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-29F34 rawhide has GIO 2.67 with glib-networking 2.66 *sigh*HEADmasterRuslan N. Marchenko1-24/+56
2020-11-29Dockers mostly miss `which` commandRuslan N. Marchenko1-2/+1
2020-11-28Migrate to telepathy docker registryRuslan N. Marchenko1-5/+5
2020-11-27Merge pull request #18 from rufferson/ciruff31-290/+649
Add CI pipeline for code verification
2020-11-26Make SCRAM tests independent from SASL2 availability and featuresRuslan N. Marchenko6-21/+85
2020-11-23Add primitive github ciRuslan N. Marchenko1-0/+51
2020-11-15Fix racy error handling in xmpp-connectionRuslan N. Marchenko1-16/+15
2020-11-15Fix TLSv1.3 tests and add TLSv1.2 testsRuslan N. Marchenko18-211/+202
2020-11-15Add OpenSUSE Leap+TW and Debian Stable pipelinesRuslan N. Marchenko4-0/+134
2020-11-15Mitigate aggressive GnuTLS backend resumption in glib-networkingRuslan N. Marchenko1-102/+105
Before glib-networking 2.64 (commit ab80ee34) GnuTLS backend uses quite aggressive resumption thus causing many tests to fail due to resuming previous successful TLS connection. Since session_id used for resumption includes target port, this patch disperses ports for TLS tests to ensure each test starts from scratch and does not reuses previous connection.
2020-11-15Add CI for test on debian-testingRuslan N. Marchenko2-0/+48
2020-11-15Add CI for test on fedoraRuslan N. Marchenko2-0/+69
2020-10-05Merge pull request #13 from rufferson/bindingruff13-135/+1080
SASL SCRAM SHA2 and TLS channel binding
2020-10-05Add SASL SCRAM-SHA*-PLUS testsRuslan N. Marchenko4-2/+287
2020-10-05Add SASL server-part implementation to wocky-sasl-scramRuslan N. Marchenko2-34/+386
2020-09-25Add experimental SASL TLS channel binding type ExporterRuslan N. Marchenko3-1/+14
tls-unique binding type does not work properly with TLSv1.3 thus new bindign type tls-exporter is proposed as a new default binding type for TLSv1.3. As of Sept 2020 it is not yet adopted as a draft standard therefore it is not yet publicly available in Glib API. This commit uses hidden experimental tls-exporter tls binding type in glib-networking.
2020-09-25Add support for GIO-TLS channel binding API and simple fallbackRuslan N. Marchenko2-1/+120
* Set default biding type to tls-unique - if it's not supported by GIO (Glib or Glib-networking) will just keep binding in disabled state. * Add ability to override default binding type via env var WOCKY_CHANNEL_BINDING_TYPE - accepts enum nicks: disabled, none, tls-unique, tls-server-end-point. * Add plain simple (and by default disabled) fallback to tls-server-end-point. To enable set the ENV var above to corresponding value. * Since we cannot be sure the certificate digest is correct (sha256) we rather use DISABLED versus NONE in fallback mode.
2020-09-25Enable all SHA1 and SHA2 SCRAM algorithms, move to SHA256 defaultRuslan N. Marchenko7-68/+106
* Enable all SHA1 and SHA2 Hashing algorithms in SCRAM mechanism ordered from highest to lowest, with PLUS version above. * Shift default SCRAM algorithm from SHA1 to SHA256. * Upgrade tests to expect now preferred/default SHA256 method
2020-09-23Migrate SASL SCRAM to extendable hashing algorithmRuslan N. Marchenko3-64/+42
Move to Glib GChecksum and GHmac implementation, add hash-algo property to select algorithm, default to SHA1 to preserve compatibility
2020-09-23Initial SASL-SCRAM-SHA-1-PLUS implementation: enable gs2_flagsRuslan N. Marchenko3-3/+163
* Set default biding type to disabled - binding data and type should be set by auth handler from available at TLS layer * When binding type is disabled gs2_flags is set to 'n' which preserves existing functionality
2020-09-23Merge pull request #12 from rufferson/glib-latestruff55-1621/+1288
Bump the glib api implementation to the latest version
2020-09-23Tests: Add more retries before tearing the connection downRuslan N. Marchenko2-4/+24
tests/wocky-connector-test is a bit racy when it checks connection failure conditions. Partially because it races with IO events, partially because it races with internal events (test-stream). Add more retries to reduce internal race and handle cancellabe race explicitly.
2020-09-23Bump the glib api implementation to the latest versionRuslan N. Marchenko55-1617/+1264
* Switch to G_ADD_PRIVATE and *_get_instance_private to define and assign object instance's private struct. * Switch to GTask from deprecated GSimpleAsyncResult for async operations. GTask has a bit different asynchronous execution order. * Fix tests for new GTask order and concurrency.
2020-05-17Add TLS_INSECURE weak hash testRuslan N. Marchenko7-1/+163
2020-05-17Comment cleanup and move verification to GTlsDatabaseRuslan N. Marchenko1-129/+53
* Clean up Dan's FIXME comments (it's still not FIXed in GIO) * Move verification where it supposed to be - GTlsDatabase
2020-05-17Make GCC10 happy by explicit-cast for enumRuslan N. Marchenko1-1/+1
2020-05-17Remove direct openssl backend, available via env GIO_USE_TLSRuslan N. Marchenko8-2442/+6
2020-05-11Update test suite to latest changesRuslan N. Marchenko5-29/+49
* Update test certificate to use SHA2 to avoid INSECURE error * Add certificate refresh dependency to Makefile * Add SASL SCRAM worng password test workaround * Suppress CRL verification tests as not supported by GIO-TLS * Fix summarise-tests.py to handle deprecations and new syntax
2020-05-09Uplift sasl testsRuslan N. Marchenko2-34/+35
2020-05-09Uplift test resolver to glib-2,59.0Ruslan N. Marchenko1-6/+33
2020-05-09Make explicit cast and remove deprecated propertyRuslan N. Marchenko1-7/+4
2020-05-09Uplift gio patch to latest API changesRuslan N. Marchenko2-56/+7
2020-05-09wocky-tls: port to gio TLSDan Winship3-1533/+144
A few minor things, marked DANWFIXME, are unimplemented https://bugs.freedesktop.org/show_bug.cgi?id=31447
2020-05-09wocky-test-stream: implement GPollableInput/OutputStreamDan Winship1-5/+113
GTlsConnection can only wrap pollable input/output streams, so implement that here to make some of the test cases work. https://bugs.freedesktop.org/show_bug.cgi?id=31447
2020-05-09wocky-tls: Merge WockyTLSSession and WockyTLSConnection togetherDan Winship5-193/+105
to match gio TLS, and because there's not much use in the separation anyway https://bugs.freedesktop.org/show_bug.cgi?id=31447
2020-05-09wocky-tls: specify peername at session creation timeDan Winship7-30/+62
This is how gio TLS does it, among other reasons because it lets you use the SNI extension to tell the server which certificate it should present. https://bugs.freedesktop.org/show_bug.cgi?id=31447
2020-05-09Introduce Wocky API VersioningRuslan N. Marchenko1-0/+4
2020-05-09Minor fixes in syntax and codeRuslan N. Marchenko5-10/+13
* Localize variables in wocky-connector.c and wocky-jabber-auth.c * Add fallthrough marker to wocky-jingle-session.c * remove double const in wocky-data-form.c * fix pointer dereference in wocky-sasl-digest-md5.c
2020-05-09Suppress GCC 8 cast-function-type errorRuslan N. Marchenko1-0/+1
2020-04-25Make GTK Docs optionalRuslan N. Marchenko4-1/+11
2018-11-30Merge pull request #1 from roelaaij/masterGeorge Kiagiadakis5-4/+74
openssl: fix build with openssl >= 1.1.0
2018-11-04Remove accidental if if.Roel Aaij4-8/+8
2018-10-26openssl: fix build with openssl >= 1.1.0Roel Aaij5-4/+74
2016-07-09tests: remove wocky-http-proxy-testGeorge Kiagiadakis2-401/+0
This is no longer needed, as the code that it tests is in GIO, not wocky. It is the responsibility of GIO maintainers to test it. https://bugs.freedesktop.org/show_bug.cgi?id=94031
2016-07-09Merge branch 'gabble-0.18'George Kiagiadakis18-573/+65
2016-07-09tests/certs: update crl for 5 years indeedgabble-0.18George Kiagiadakis1-11/+10
The previous attempt only updated it for 1 year, by mistake https://bugs.freedesktop.org/show_bug.cgi?id=79548
2016-07-04wocky-test-connector-server: report errors when asserting on finishing async ↵George Kiagiadakis1-4/+12
operations
2016-07-04wocky-connector-test: allow test server to dispatch any pending events ↵George Kiagiadakis1-0/+12
before teardown This is to fix an assertion failure that happens in the "/connector+ssl/econnreset/client-open" test. In this test, the server closes the connection and the client catches up immediately and closes too. When the client closes, it forcibly terminates the server, but in most cases the server's socket close operation doesn't have a chance to finish before server teardown is called, so the teardown function hits cancel on the GCancellable that is linked with the operation and finally the operation ends up repording an "Operation cancelled" error. By running the GMainLoop once before calling teardown, we ensure that the socket close operation has a chance to finish gracefully.
2016-07-04Bump required glib version to 2.44, as we now depend on GIO http proxyGeorge Kiagiadakis8-13/+3
Since g_type_init() is deprecated in more recent glib versions, also remove all calls of it to fix compilation. g_type_init() is not necessary to be called anymore, it is a no-op. https://bugs.freedesktop.org/show_bug.cgi?id=94031 Reviewed-by: Diane Trout <diane@ghic.org>
2016-07-04Remove wocky-http-proxy, upstreamed in GIO nowGeorge Kiagiadakis8-545/+28
The wocky http proxy has now moved in GIO, so we no longer need to maintain it here. I have kept the unit test for the moment, to verify that the code in gio works the same as the one that we used to ship in wocky. There was one difference in the code from GIO, though. It includes "Basic" as part of the authorization string. According to RFC this is correct, so it looks like the wocky proxy client code was doing this wrong. I have updated the test to reflect that. Additionally, this commit removes support for building GIO proxy support depending on whether GIO is recent enough or not. We can now safely depend unconditionally on a recent enough version. https://bugs.freedesktop.org/show_bug.cgi?id=94031 Reviewed-by: Diane Trout <diane@ghic.org>