Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
1a2709c
Add draft SM implementation in porter, ack only
rufferson Oct 14, 2020
5b4a94d
Replace whitespace with SM pings when SM is inabled
rufferson Oct 16, 2020
e4a6ea8
Extend wocky API for SM resumption
rufferson Nov 1, 2020
24c0a06
Add connection resumtion to wocky_c2s_porter
rufferson Nov 1, 2020
c2fc4a4
Add controls to manage resumption and reconnection vector
rufferson Nov 14, 2020
b1aa1f9
Track the change of porter properties from session
rufferson Nov 14, 2020
5eab976
Extend wocky_c2s_porter api to expose SM internals
rufferson Nov 17, 2020
15dbf2a
Fix handled attribute processing
rufferson Nov 22, 2020
1c6a731
Add SM enable, ack and wrap unit tests
rufferson Nov 14, 2020
39b7811
Make libsasl2 optional even for explicit scram mech tests
rufferson Nov 27, 2020
7ee2c7c
Bump wocky api version to 0.2 due to SM changes
rufferson Dec 2, 2020
d98a15d
Allow replacing channel managers in wocky-connector
rufferson Dec 19, 2020
48050c3
Force reconnect on hb timeout
rufferson Feb 16, 2021
bf6796f
Fix warnings when compiling for Sailfish OS
noonien-d Feb 20, 2021
6b36dcc
Remove duplicate and unused declarations
rufferson Jan 6, 2021
ac477dd
meson: Yield project options to super-project
rufferson Apr 15, 2021
9977b78
DOC: add gtk-doc meson.build and fix doc.sgml template
rufferson Apr 12, 2021
5da965c
Add missing gir includes
rufferson Apr 12, 2021
0fd16fc
GIR: fix/add annotations and types: wocky-auth-registry
rufferson Apr 18, 2021
046c939
GIR: fix/add annotations and types: wocky-connector
rufferson Apr 18, 2021
e4a34c3
GIR: fix/add annotations and types: wocky-contact-factory
rufferson Apr 18, 2021
d6dfc5e
GIR: fix/add annotations and types: wocky-google-relay
rufferson Apr 18, 2021
ab87192
GIR: fix/add annotations and types: wocky-jingle-info
rufferson Apr 18, 2021
5b9dfef
GIR: fix/add annotations and types: wocky-jingle-session
rufferson Apr 18, 2021
723ba46
GIR: fix/add annotations and types: wocky-jingle-transport-iface
rufferson Apr 18, 2021
15724e5
GIR: fix/add annotations and types: wocky-porter
rufferson Apr 18, 2021
e9b288e
GIR: fix/add annotations and types: wocky-pubsub-node
rufferson Apr 18, 2021
f8cf67d
GIR: fix/add annotations and types: wocky-pubsub-service
rufferson Apr 18, 2021
8cb1956
GIR: fix/add annotations and types: wocky-resource-contact
rufferson Apr 18, 2021
0bf8192
GIR: fix/add annotations and types: wocky-stanza
rufferson Apr 18, 2021
9ae74e0
GIR: fix/add annotations and types: wocky-jingle-content
rufferson Apr 26, 2021
886e7a8
DOC: fix/add documentation: wocky-jingle-types
rufferson Apr 26, 2021
5bee707
DOC: fix/add documentation: wocky-ll-contact
rufferson Apr 26, 2021
9f17745
DOC: fix/add documentation: wocky-sasl-scram
rufferson Apr 26, 2021
8481870
DOC: fix/add documentation: wocky-tls
rufferson Apr 26, 2021
0d8226a
GIR: fix/add annotations and types: wocky-jingle-media-rtp
rufferson Apr 28, 2021
54edcc7
GIR: fix/add annotations and types: wocky-xmpp-error
rufferson Apr 28, 2021
78e5b5d
GIR: fix/add annotations and types: wocky-c2s-porter
rufferson Apr 28, 2021
5b50e40
GIR: DOC: fix/add annotations, documentations and types: various
rufferson Apr 28, 2021
817ec7c
Add gir and gtkdoc build in github pipeline
rufferson Apr 28, 2021
ed8c432
Make non-standard SCRAM SHA algos opt-in
rufferson Apr 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,24 @@ jobs:
run: |-
sudo apt-get update && sudo apt-get install --no-install-recommends -qq -y build-essential \
ccache meson libglib2.0-dev glib-networking telepathy-gabble libsasl2-dev libxml2-dev \
libsoup2.4-dev libsasl2-modules-gssapi-mit gnutls-bin libsqlite3-dev libssl-dev libgnutls28-dev
libsoup2.4-dev libsasl2-modules-gssapi-mit libsqlite3-dev libssl-dev libgnutls28-dev \
gnutls-bin gobject-introspection libgirepository1.0-dev gtk-doc-tools
- name: Bootstrap
run: meson _b
run: meson _b -Dgoogle-relay=true -Dintrospection=enabled -Dgtk_doc=true -Dnonstandard-scram=true
- name: Syntax
run: ninja -C _b check
- name: Build
run: ninja -C _b
- name: Run tests
run: meson test -C _b
- name: Build docs
run: ninja -C _b wocky-doc
- name: Artifacts
uses: actions/upload-artifact@v2
with:
name: Reports
path: _b/meson-logs/
path: |
_b/meson-logs/
_b/docs/

build-autotools:
runs-on: ubuntu-latest
Expand Down
13 changes: 13 additions & 0 deletions docs/reference/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

gnome.gtkdoc(meson.project_name(),
main_sgml: 'wocky-docs.sgml',
dependencies: wocky_dep,
src_dir: [
meson.current_build_dir()/'..'/'..'/'wocky',
meson.current_source_dir()/'..'/'..'/'wocky',
],
namespace: 'wocky',
mkdb_args: [ '--sgml-mode', '--output-format=xml'],
scan_args: ['--rebuild-types', '--rebuild-sections'],
install: true
)
24 changes: 21 additions & 3 deletions docs/reference/wocky-docs.sgml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<book id="index">
<book id="index" lang="en" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>Wocky Reference Manual</title>
</bookinfo>
Expand All @@ -18,12 +18,15 @@
<xi:include href="xml/wocky-c2s-porter.xml"/>
<xi:include href="xml/wocky-caps-cache.xml"/>
<xi:include href="xml/wocky-caps-hash.xml"/>
<xi:include href="xml/wocky-xep-0115-capabilities.xml"/>
<xi:include href="xml/wocky-connector.xml"/>
<xi:include href="xml/wocky-contact-factory.xml"/>
<xi:include href="xml/wocky-contact.xml"/>
<xi:include href="xml/wocky-ll-connection-factory.xml"/>
<xi:include href="xml/wocky-ll-connector.xml"/>
<xi:include href="xml/wocky-ll-contact.xml"/>
<xi:include href="xml/wocky-data-form.xml"/>
<xi:include href="xml/wocky-debug.xml"/>
<xi:include href="xml/wocky-enumtypes.xml"/>
<xi:include href="xml/wocky.xml"/>
<xi:include href="xml/wocky-heartbeat-source.xml"/>
<xi:include href="xml/wocky-disco-identity.xml"/>
Expand Down Expand Up @@ -61,6 +64,7 @@
<xi:include href="xml/wocky-xmpp-reader.xml"/>
<xi:include href="xml/wocky-xmpp-writer.xml"/>

<xi:include href="xml/wocky-google-relay.xml"/>
<xi:include href="xml/wocky-jingle-content.xml"/>
<xi:include href="xml/wocky-jingle-factory.xml"/>
<xi:include href="xml/wocky-jingle-info-internal.xml"/>
Expand All @@ -72,6 +76,8 @@
<xi:include href="xml/wocky-jingle-transport-iface.xml"/>
<xi:include href="xml/wocky-jingle-transport-rawudp.xml"/>
<xi:include href="xml/wocky-jingle-types.xml"/>

<xi:include href="xml/wocky-loopback-stream.xml"/>
</chapter>

<chapter id="object-tree">
Expand All @@ -83,6 +89,18 @@
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="new-api-0.19.0">
<title>Index of new symbols in 0.19.0</title>
<xi:include href="xml/api-index-0.19.0.xml"><xi:fallback /></xi:include>
</index>
<index id="new-api-0.7.27">
<title>Index of new symbols in 0.7.27</title>
<xi:include href="xml/api-index-0.7.27.xml"><xi:fallback /></xi:include>
</index>
<index id="new-api-0.5.14">
<title>Index of new symbols in 0.5.14</title>
<xi:include href="xml/api-index-0.5.14.xml"><xi:fallback /></xi:include>
</index>

<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>
8 changes: 8 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ if get_option('debug')
defines += 'ENABLE_DEBUG'
endif

if get_option('nonstandard-scram')
defines += 'WOCKY_SCRAM_NONSTANDARD'
endif

if get_option('google-relay')
defines += 'ENABLE_GOOGLE_RELAY'
endif
Expand Down Expand Up @@ -170,3 +174,7 @@ if get_option('code-style-check')
shell, meson.source_root()/'tools'/'check-c-style.sh', wocky_check_files
])
endif

if get_option('gtk_doc')
subdir('docs/reference')
endif
9 changes: 5 additions & 4 deletions meson_options.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
option('gtk_doc', type: 'boolean', value: false, description: 'Enable Gtk-Doc generation')
option('introspection', type: 'feature', value: 'auto', description: 'Build Introspection data')
option('code-style-check', type: 'boolean', description: 'enable coding style checks')
option('gtk_doc', type: 'boolean', value: false, description: 'Enable Gtk-Doc generation', yield: true)
option('introspection', type: 'feature', value: 'auto', description: 'Build Introspection data', yield: true)
option('code-style-check', type: 'boolean', description: 'enable coding style checks', yield: true)
option('install-headers', type: 'string', description: 'install development headers here')
option('libdir-suffix', type: 'string', description: 'install a shared library into project-specific subdir')
option('google-relay', type: 'boolean', value: false, description: 'enable google jingle relay support')
option('google-relay', type: 'boolean', value: false, description: 'enable google jingle relay support', yield: true)
option('nonstandard-scram', type: 'boolean', value: false, description: 'enable non-standard scram methods', yield: true)
16 changes: 15 additions & 1 deletion tests/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ TEST_PROGS = \
wocky-session-test \
wocky-stanza-test \
wocky-tls-test \
wocky-sm-test \
wocky-utils-test \
wocky-xmpp-connection-test \
wocky-xmpp-node-test \
Expand Down Expand Up @@ -229,6 +230,19 @@ wocky_tls_test_SOURCES = \
wocky-test-stream.c wocky-test-stream.h
wocky_tls_test_CFLAGS = $(AM_CFLAGS) $(TLSDEFS)

EXTRA_wocky_sm_test_DEPENDENCIES = $(CA_DIR) certs
wocky_sm_test_SOURCES = \
wocky-sm-test.c \
wocky-test-sasl-auth-server.c \
wocky-test-sasl-auth-server.h \
wocky-test-connector-server.c \
wocky-test-connector-server.h \
wocky-test-helper.c wocky-test-helper.h \
wocky-test-stream.c wocky-test-stream.h \
test-resolver.c test-resolver.h
wocky_sm_test_LDADD = $(LDADD) @LIBSASL2_LIBS@
wocky_sm_test_CFLAGS = $(AM_CFLAGS) @LIBSASL2_CFLAGS@ $(TLSDEFS)

wocky_utils_test_SOURCES = wocky-utils-test.c

wocky_xmpp_connection_test_SOURCES = \
Expand Down Expand Up @@ -297,7 +311,7 @@ test-%: wocky-%-test
.PHONY: test test-report

include $(top_srcdir)/tools/check-coding-style.mk
check-local: test check-coding-style
check-local: check-coding-style test

############################################################################

Expand Down
10 changes: 10 additions & 0 deletions tests/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,16 @@ tests = {
'wocky-test-stream.c', 'wocky-test-stream.h',
'wocky-tls-test.c',
],
'wocky-sm-test': [
'wocky-test-sasl-auth-server.c',
'wocky-test-sasl-auth-server.h',
'wocky-test-connector-server.c',
'wocky-test-connector-server.h',
'wocky-test-helper.c', 'wocky-test-helper.h',
'wocky-test-stream.c', 'wocky-test-stream.h',
'test-resolver.c', 'test-resolver.h',
'wocky-sm-test.c',
],
'wocky-utils-test': [
'wocky-utils-test.c',
],
Expand Down
14 changes: 10 additions & 4 deletions tests/wocky-connector-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@
#define DEFAULT_SASL_MECH "SCRAM-SHA-1"
#endif

#ifdef WOCKY_SCRAM_NONSTANDARD
#define BINDING_SCRAM_MECH "SCRAM-SHA-512-PLUS"
#else
#define BINDING_SCRAM_MECH "SCRAM-SHA-256-PLUS"
#endif

#define PORT_XMPP 5222
#define PORT_NONE 0

Expand Down Expand Up @@ -944,7 +950,7 @@ test_t tests[] =
{ "/connector/auth/sasl/binding",
NOISY,
{ S_NO_ERROR },
{ { TLS, "SCRAM-SHA-512-PLUS" },
{ { TLS, BINDING_SCRAM_MECH },
{ SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK },
{ "moose", "something" },
PORT_XMPP },
Expand All @@ -956,7 +962,7 @@ test_t tests[] =
{ "/connector/auth/sasl/bad-binding-data",
NOISY,
{ S_WOCKY_AUTH_ERROR, WOCKY_AUTH_ERROR_FAILURE, -1 },
{ { TLS, "SCRAM-SHA-512-PLUS" },
{ { TLS, BINDING_SCRAM_MECH },
{ SERVER_PROBLEM_MANGLED_BINDING_DATA, CONNECTOR_OK },
{ "moose", "something" },
PORT_XMPP },
Expand All @@ -968,7 +974,7 @@ test_t tests[] =
{ "/connector/auth/sasl/bad-binding-flag",
NOISY,
{ S_WOCKY_AUTH_ERROR, WOCKY_AUTH_ERROR_FAILURE, -1 },
{ { TLS, "SCRAM-SHA-512-PLUS" },
{ { TLS, BINDING_SCRAM_MECH },
{ SERVER_PROBLEM_MANGLED_BINDING_FLAG, CONNECTOR_OK },
{ "moose", "something" },
PORT_XMPP },
Expand All @@ -980,7 +986,7 @@ test_t tests[] =
{ "/connector/auth/sasl/scrambled-binding",
NOISY,
{ S_WOCKY_AUTH_ERROR, WOCKY_AUTH_ERROR_INVALID_REPLY, -1 },
{ { TLS, "SCRAM-SHA-512-PLUS" },
{ { TLS, BINDING_SCRAM_MECH },
{ SERVER_PROBLEM_SCRAMBLED_BINDING, CONNECTOR_OK },
{ "moose", "something" },
PORT_XMPP },
Expand Down
Loading