AgeCommit message (Collapse)AuthorFilesLines
2014-06-03wocky_jingle_state_machine_dance: return a booleanHEADmasterGuillaume Desmottes1-12/+12
2014-06-03wocky_jingle_session_parse: fix potential NULL deferencingGuillaume Desmottes1-3/+7
The caller of this function may pass NULL as @error so we shouldn't rely on it.
2014-06-02jingle-content: remove unused assignationsGuillaume Desmottes1-3/+1
2014-06-02don't use for loop variable declarationsGuillaume Desmottes2-2/+4
2014-06-02test-sasl-auth-server: NULL terminate the handlers arrayGuillaume Desmottes1-1/+1
The for loop is checking for handles[i].name being NULL.
2014-06-02test-sasl-auth-server: remove unread assignationsGuillaume Desmottes1-2/+2
Those are assigned at the start of every iteration in the 'for' block.
2014-06-02dummy-xmpp-server.c: add mising 'return' in main()Guillaume Desmottes1-1/+1
2014-05-07Merge branch 'gabble-0.18'Guillaume Desmottes1-5/+4
2014-05-07wocky-jingle-info: don't try using self if it's NULLGuillaume Desmottes1-5/+4
This callback can deal with self being destroyed but it was trying to access self->priv before early returning.
2014-03-19Merge remote-tracking branch 'origin/gabble-0.18'Simon McVittie1-4/+6
2014-03-19data-form: reformat <code> blocks so recent gtk-doc can copeSimon McVittie1-4/+6
Recent (Markdown-based) gtk-doc doesn't like <code> spanning more than one line, causing a build failure. Reviewed-by: Guillaume Desmottes
2014-03-19jingle-content: reset idle ID in its callbackGuillaume Desmottes1-0/+2
The callback returns FALSE so the source will be invalidated. Recent GLib now raises a critical when attempting to remove an invalid ID, making some jingle tests failing. (cherry picked from commit 01fbaec365cc58d6f3de46ce3f54f6413f3ec0f9)
2014-02-14jingle-content: reset idle ID in its callbackGuillaume Desmottes1-0/+2
The callback returns FALSE so the source will be invalidated. Recent GLib now raises a critical when attempting to remove an invalid ID, making some jingle tests failing.
2013-09-10stop using deprecated gnutls_certificate_credentialsGuillaume Desmottes1-1/+1
Looks like it's been replaced by gnutls_certificate_credentials_t since a while.
2013-09-09Merge remote-tracking branch 'origin/gabble-0.18'Simon McVittie0-0/+0
2013-09-06If we send an IQ to a server allow "from" to be emptygabble-0.18David Edmundson1-0/+10
2013-09-06If we send an IQ to a server allow "from" to be emptyDavid Edmundson1-0/+10
2013-08-09Merge branch 'gabble-0.18'Simon McVittie2-34/+1
2013-08-09Fix examples' and tests' dependenciesSimon McVittie2-34/+1
All Automake products automatically depend on their SOURCES and everything identifiable as a file in their LDADD, unless you set their DEPENDENCIES, which take precedence (and have "replace", not "add", semantics). As a result, setting DEPENDENCIES is actually harmful here: it makes the tests and examples not depend on their own source code! For the one test that has non-trivial extra dependencies, use EXTRA_x_DEPENDENCIES, which has the desired semantics. Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Vivek Dasmohapatra <>
2013-08-09Include more test certificates in the tarball, so we can distcheckSimon McVittie1-1/+4
Signed-off-by: Simon McVittie <>
2013-08-09Make dist-hook succeed out-of-treeSimon McVittie1-2/+2
Similar to telepathy-glib commit 5f8bccce98. Also use ISO dates in the ChangeLog to reduce diffstat if generated by someone in a different timezone, and don't bother with --stat. Again, this is consistent with telepathy-glib. Signed-off-by: Simon McVittie <>
2013-08-09keep the coding-style checker happySimon McVittie1-2/+2
2013-08-09some tests: give better diagnostics on failureSimon McVittie2-56/+139
Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Vivek Dasmohapatra <>
2013-08-09Merge branch 'gabble-0.18'Simon McVittie9-40/+70
2013-08-09Tests: don't assume that other things can sneak in ahead of cancellationSimon McVittie5-5/+23
The porter test asserted that if you cancelled the sending of a stanza after it had already been (sent and) received, the send reported success, not cancellation; and the SASL auth test asserted that if you closed a connection at around the same time that a cancellable had been cancelled, the close reported success, not cancellation. However, recent GLib seems to be either more careful about deferring the results of async operations to an idle, or more consistent about reporting the cancellation as an error even if the operation's success had already been recorded. As a result, these operations reported cancellation. To avoid that, delay the cancellation a little. [Mike Ruprecht clarified on IRC that "more consistent about reporting the cancellation as an error" is one of the changes from GIO being ported to GTask in 2.36. -smcv] Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Vivek Dasmohapatra <>
2013-08-09wocky-dummy-xmpp-server: don't turn off non-blocking on the socketSimon McVittie1-4/+0
The very next thing we did with it was to give it to GSocketConnection, which would turn on non-blocking again; so this code wasn't doing anything except harming our portability. Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Vivek Dasmohapatra <>
2013-08-09wocky-xmpp-reader-test: don't assume non-characters will be replacedSimon McVittie1-7/+36
GLib now follows Unicode Corrigendum 9, which clarifies that libraries shouldn't prohibit non-characters. We were assuming it did. Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Vivek Dasmohapatra <>
2013-08-09wocky-connector-test: stop putting sockets in blocking modeSimon McVittie1-13/+0
GSocket configures its underlying fd to be in non-blocking mode, and implements blocking calls by select()ing (or equivalent) first. If we break this assumption, most test cases in wocky-connector-test hang in a recv() that should have been non-blocking. Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Vivek Dasmohapatra <>
2013-08-08docs: expect wocky-jingle-*.xml to be generated, not jingle-*.xmlSimon McVittie1-11/+11
I'm not sure whether this ever worked correctly, but the build currently fails on Debian unstable, and this fixes it. Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Guillaume Desmottes <>
2013-06-28Add a boxed type for WockyJingleCandidateWill Thompson2-0/+8
2013-06-28Add wocky_jingle_candidate_copyWill Thompson2-0/+9
2013-06-27Revert "Jingle: wait for session-initiate ack, then send candidates"Will Thompson1-3/+3
This reverts commit d8fcf78cf9bbad0b822b3368479cea532f11dc83. I didn't mean to merge this patch, since it is still pending the testing/checking Simon mentions on <>. But I guess it was locally applied when I merged Tobias' patch.
2013-06-26dump-certificates: Manually provide server to connect toTobias Mueller1-2/+14
For some reason some Google enabled domains have their DNS not set up correctly. But also working domains like do not work will with this tool. In order to make it connect to a XMPP server, the servername and the port can now be given as parameters. fix "stream-cihpers" typoWill Thompson1-1/+1
2013-06-11Jingle: wait for session-initiate ack, then send candidatesWill Thompson1-3/+3
There seems to be a race condition in Jitsi: if we send a transport-info full of candidates immediately after sending a session-info, it sometimes seems to miss the candidates we send it. Waiting until after it acks our session-initiate seems to do the trick. This is only visible in an application which only ever sends a single local candidate, immediately after initiating; it is probably masked in Telepathy by new candidates trickling in after the call starts as we get STUN replies. The previous code would call _transmit_candidates when accepting a call, too, but I don't think this is necessary: in the case where the call is incoming, wocky_jingle_content_add_candidate() will tell the transport to send out new candidates as they are added because the state is > EMPTY.
2013-06-04WockyJingleSession: check more preconditions in public APISimon McVittie1-15/+73
Some were already checked, but as assertions: this is (now) public library API, so downgrade to g_return_if_fail(). Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Xavier Claessens <>
2013-06-04WockyJingleFactory: ref session while calling parse()Simon McVittie1-3/+14
wocky_jingle_session_parse() advances the session's state machine. In particular, it may cause termination, which causes the session to be removed from the factory's hash table, which may cause its last ref to be released. Until recently, this would have gone unnoticed, but wocky_jingle_session_acknowledge_iq() now emits a signal from the session (to check whether it has the "is Google webmail" quirk), and that causes a check that it is in fact still a valid session object. Also correct a misleading comment spotted while debugging this: priv->sessions owns both key and sess. Bug: Signed-off-by: Simon McVittie <> Reviewed-by: Xavier Claessens <>
2013-05-30Acknowledge Jingle IQs in a way that the Google webmail client likesSimon McVittie3-8/+70
The Google webmail client currently starts calls like this: <iq type="set" ...> <jingle xmlns="urn:xmpp:jingle:1'" action="session-initiate" ...>...</jingle> <session xmlns="" type="initiate" ...>...</session> </iq> (This isn't valid XMPP Core, because 'An IQ stanza of type "get" or "set" MUST contain exactly one child element', but we can tolerate it.) When called, it also echoes the contents of the sender's IQ back to the sender. It appears that this is how, when it makes an outgoing call, it determines which dialect the recipient wants to use: the recipient echoes the appropriate child element. Bug: Reviewed-by: Xavier Claessens <>
2013-05-30Require GLib 2.32Simon McVittie8-27/+6
This avoids compilation failing because the new(ish) g_thread_new wasn't available in our target version. telepathy-gabble indirectly depends on GLib 2.32 anyway, via telepathy-glib 0.20. Reviewed-by: Xavier Claessens <>
2013-05-30Merge branch 'gabble-0.16'Simon McVittie1-0/+3
2013-05-29CVE-2013-1431: respect tls-required flag on legacy Jabber serversSimon McVittie1-0/+3
It's checked elsewhere for XMPP 1.0 servers, which can either use "old SSL" or perform STARTTLS. Legacy Jabber can only use "old SSL", which is similar to https - connect to a separate port, typically 5223, and start speaking SSL - so if the connection was ever going to be encrypted, by this point it already would be. Bug: Reviewed-by: Sjoerd Simons <>
2013-03-21Make examples/ indentation consistentWill Thompson1-5/+5
2013-03-21dump-certificates: check (and fix) coding styleWill Thompson2-2/+4
2013-03-20Regression tests for malformed FORM_TYPE crashesWill Thompson1-0/+126
These pass because 565f2ed54.
2013-03-20Regression test for hashing anonymous fieldsWill Thompson1-0/+47
2013-03-18examples: link against gnutlsDominique Leuenberger1-0/+2
Bug: Reviewed-by: Simon McVittie <>
2013-03-01Fix enumtype generation in out-of-tree buildsWill Thompson1-12/+11
2013-03-01Merge branch 'gabble-0.16'Will Thompson2-8/+31
2013-02-27caps_hash: don't crash if FORM_TYPE has no <value>Will Thompson1-7/+22
Previously there were a couple of ways this could crash: * First, if you had a <field type='hidden' var='FORM_TYPE'> with no <value> child, field->default_value would be NULL so g_value_get_string (field->default_value) would critical and return NULL and then you'll be in undefined hell. * Having fixed that, the code to sort data forms by FORM_TYPE would also crash because it happens before the FORM_TYPEs have been validated and used g_value_get_string() without checking and then strcmp()ed the possibly-NULL result. I actually have a work-in-progress branch that makes this all a lot less hairy by adding, among other things, a wocky_data_form_get_form_type() function which can do the validation for us. But better to fix the crashes before refactoring them away.
2013-02-25caps_hash_compute_from_lists: skip anonymous fieldsWill Thompson1-0/+8