Commit Graph

4818 Commits

Author SHA1 Message Date
Florian Schmaus 5f75d141ff Merge branch '4.4' 2021-12-27 21:25:24 +01:00
Florian Schmaus 5c46451cd2 [xdata] Add BooleanFormField.getValueAsBooleanOrNull()
This method is meant to provide 'raw' access to what has been sent
over the wire. It is assumed to be not of much use in the typically
case, but provided for completeness.
2021-12-27 21:24:19 +01:00
Florian Schmaus 940d7bf02a [xdata] Adjust behavior of BooleanFormField.getValueAsBoolean()
According to XEP-0004 § 3.3, the default value of a boolean form field
is 'false'. And since users are typically interested in getting the
value, and not potentially 'null' as result, we adjust the behavior of
the getValueAsBoolean() method consider the default value.
2021-12-27 21:17:57 +01:00
Florian Schmaus 45a4987818 [smack-debug] Factor duplicate code into its own method 2021-12-22 09:39:16 +01:00
Florian Schmaus ae2394ea83
Merge pull request #507 from guusdk/enhanced-debugger-performance
Increase performance of EnhancedDebugger
2021-12-22 09:16:46 +01:00
Guus der Kinderen 8be1568a5d Increase performance of EnhancedDebugger
When using the Enhanced Debugger, a UI application is very noticably slow, especially around establishing a new
session. Profiling shows that much of the overhead is caused by XMPP-data being added to the text areas that are
on the "raw sent packets" and "raw received packets" tabs of the debugger.

This commit improves performance (considerably) by:
- properly limiting the amount of lines in those text areas (this was intended but broken in the old implementation)
- buffering data to be added in batches, to reduce the amount of invocations to JTextChat.append()

As an aside: some newline-based formatting was removed. As the provided data is now already formatted, retaining that
did not make much sense anymore.
2021-12-21 15:48:30 +01:00
Florian Schmaus 178e82a3aa
Merge pull request #506 from Flowdalic/gssapi-no-password
Prevent password enforcement for SASL GSSAPI
2021-12-21 13:37:31 +01:00
Florian Schmaus 817dc0ed3a Prevent password enforcement for SASL GSSAPI
Similar fix as 9b339efbc1 ("Prevent password enforcement for SASL
anonymous") just for SASL GSSAPI. Fixes SMACK-920.

Fixes: 92f4aadfdc ("[sasl] Avoid mechanisms that need a password when none is available")
2021-12-21 12:53:10 +01:00
Florian Schmaus b3637101ce [sinttest] Use MultiUserChat.getMyRoomJid() in integration test 2021-12-20 22:40:55 +01:00
Florian Schmaus e530db2e6d [muc] Add MultiUserChat.getMyRoomJid() 2021-12-20 22:40:37 +01:00
Florian Schmaus 56ca31b156 [sinttset] AbstractMultiUserChatIntegrationTest cleanups 2021-12-20 22:40:13 +01:00
Florian Schmaus 56c66f17d8 [sinttest] MultiUserChatEntityIntegrationTest cleanups 2021-12-20 22:39:45 +01:00
Dan Caseley e51cf47b29 [sinttest] Additional tests for § 6 of XEP-0045
Modified-by: Florian Schmaus <flo@geekplace.eu>
2021-12-20 21:11:31 +01:00
Florian Schmaus 993a307222 Add o.j.smackx.softwareinfo.form.SoftwareInfoForm to startup classes
This ensures that the form fields are registered.
2021-12-17 09:51:19 +01:00
Florian Schmaus 182d01a4b0 [softwareinfo] Register urn:xmpp:dataforms:softwareinfo's field types 2021-12-15 20:17:23 +01:00
Florian Schmaus e1845a52ca [formtypes] Add FormFieldRegistry.register(String, FormField.Type, String...) 2021-12-15 20:17:23 +01:00
Florian Schmaus 89ef46525e Merge branch '4.4' 2021-12-13 21:51:42 +01:00
Florian Schmaus fc7fc10c69 [pubsub] Allow for character data before <item/>'s payload
Fixes SMACK-918.
2021-12-13 21:50:10 +01:00
Florian Schmaus e39adff40f [muc] Only notify() about processed self-presence once
Since notify() is a rather expensive operation, we should only invoke
it once. Especially since some servers include 110 in all self
presences, not just the initially reflected one on MUC join.
2021-12-13 21:20:40 +01:00
Florian Schmaus d1273532ce [muc] Correctly processes self-presences
The change in 52a49769f9 ("[muc] Check for self-presence first in
presence listener") caused all self-presences (MUC user status 110) to
be ignored in the further processing chain eventually invoking
checkRoleModifications() and checkAffiliationModifications(). However,
some servers (e.g., ejabberd) include 110 not only in the initial
presence but in all following, and we ant to process these.

Fixes SMACK-918

Fixes: 52a49769f9
2021-12-13 21:15:30 +01:00
Florian Schmaus 10a2687ff1 [sinttest] Allow the selection of individual test *methods* 2021-12-13 21:08:45 +01:00
Florian Schmaus 69a55aaa84 [sinttest] Evaluate compatibilityMode property 2021-12-13 21:04:32 +01:00
Florian Schmaus def7c91e6a [sinttest] Introduce dirty hack in performActionAndWaitForPresence() 2021-12-13 21:03:40 +01:00
Florian Schmaus 4e2d0035ac [sinttest] Increase 'try' block in MultiUserChatRolesAffiliations*Test
Fixes: aff6283798
2021-12-13 21:01:41 +01:00
Florian Schmaus 400a2b2564 [sinttest] Use popular desktop OS in SoftwareInfoIntegrationTest values 2021-12-13 20:51:33 +01:00
Florian Schmaus 33e8053258 [sinttest] Remove unnecessary catch in UserTuneIntegrationTest 2021-12-13 20:50:56 +01:00
Guus der Kinderen 819ed87a17 [sinttest] Wait for notification filter to propagate
The UserTuneIntegrationTest, in rapid succession:
- add a listener for PEP-published usertune data
- publishes a usertune
- waits for a notification to arrive

Implicit to adding the listener is the publication of a change in
Pubsub notification filtering. This can involve a stanza handshake,
as CAPS is involved.

A race condition exists where the usertune data can be published
before the notification filter has been properly applied.

The changes in this commit add a synchronzation point that ensures
that the notification filter is in place, before the usertune data
is published.

Co-authored-by: Paul Schaub <vanitasvitae@fsfe.org>
2021-12-12 18:13:31 +01:00
Florian Schmaus e3c50aeeb7 Bump PGPainless to 1.0.0-rc6 2021-12-07 19:29:08 +01:00
Florian Schmaus 11cc2d8d77 [core] Align behavior of getParserFor(InputStream) and getParserFor(Reader)
Reported-by: Ingo Bauersachs <ingo@jitsi.org>
2021-11-30 10:49:55 +01:00
Florian Schmaus cad63bc107 Merge branch '4.4' 2021-11-09 15:30:02 +01:00
Florian Schmaus 8736e3e434 [core] Remove erroneous "assert !connected" in connect()
Connections like XMPPTCPConnection may still reported connected, if
they are, for example disconnected but resumable. This is already
accounted for in throwAlreadyConnectedExceptionIfAppropriate(), hence
the assert is unnecessary and leads to false negatives for
XMPPTCPConnection.

For the sake of completeness, the right condition, assuming
XMPPTCPConnection is used, for the assert would be:

	assert !connected || disconnectedButResumable;
2021-11-05 10:19:26 +01:00
Florian Schmaus 61d56aa06a
Merge pull request #441 from guusdk/remove-caps-changed-listener
Add method to remove registered CAPS listener
2021-11-04 13:30:19 +01:00
Guus der Kinderen fdffd58d25 Add method to remove registered CAPS listener
ServiceDiscoveryManager allows a listener for CAPS changes to be
registered. It should also allow to remove a previously registered
listener.
2021-11-04 12:29:27 +01:00
Florian Schmaus f611941dcf
Merge pull request #480 from guusdk/sint_improve-notinroster
[sint] increase stability
2021-11-04 09:46:18 +01:00
Florian Schmaus f2c2f45f18 [jiveproperties] Use DoOnce utility to log "JavaObject not enabled" 2021-11-01 19:28:15 +01:00
Florian Schmaus 7dc8cc176e [core] Add DoOnce utility 2021-11-01 19:27:09 +01:00
Florian Schmaus 2628dc328c Smack 4.4.4
-----BEGIN PGP SIGNATURE-----
 
 iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAmGAG6lfFIAAAAAALgAo
 aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
 NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
 IFJdGwf+NmDZF8OtpvEI/TRSpDfyQxDVPbXi8Y8Z7E0CbNLHVkn7CQl/HcYsJkjL
 IGLRqUCNztejNbSvaNl9Zds4u2StBeTgEXbPwbT8UdJU8Ji+jqflJYW53QyNc1Kt
 AToAKHW1m2xamMpqgqnHQsQxUOHXp5VIEv7/dRVQLyIL0F8TaMlMPRpI65seOS3v
 VQj66eskVuuwib5q1n8DBwKVhB417UsTEIAMxZ5Zxdcs8YwB+YML4KuxsSZchTyt
 b6tuZnLEMxFPUUAIMlBNoslPBuj6GoP+LNFotnS1kDfK6yMOaeGSlLVaxRRSzqVx
 VVnHSiSZeEuzfw55ymTEewr42tD47A==
 =LrgC
 -----END PGP SIGNATURE-----

Merge tag '4.4.4'

Smack 4.4.4
2021-11-01 18:10:53 +01:00
Florian Schmaus 403890d988 Smack 4.4.5-SNAPSHOT 2021-11-01 18:10:35 +01:00
Florian Schmaus 5731e61782 Smack 4.4.4 2021-11-01 17:54:01 +01:00
Florian Schmaus 22cf7bace8 [resources] Rename get-contributors.sh to generate-notice-file 2021-11-01 17:53:01 +01:00
Florian Schmaus 18b25902c4
Merge pull request #505 from vanitasvitae/bumpPgpainless
Bump PGPainless to 0.2.19
2021-11-01 17:27:07 +01:00
Paul Schaub 53d385ab93
Bump PGPainless to 0.2.19 2021-10-29 21:44:32 +02:00
Florian Schmaus fa88f78232 Merge branch '4.4' 2021-10-25 17:05:12 +02:00
Florian Schmaus 22b2efc6a6 Update NOTICE file 2021-10-25 17:00:14 +02:00
Florian Schmaus 7fd300888e
Merge pull request #504 from JonathanLennox/StanzaBuilder-remove-extension
Add removeExtension methods to StanzaBuilder.
2021-10-25 16:58:49 +02:00
Jonathan Lennox 4ae3fbb073 Add removeExtension methods to StanzaBuilder. 2021-10-25 14:50:45 +00:00
Florian Schmaus 447c1304cf
Merge pull request #503 from jitsi/bugfix/4.4/bosh-connection2
Add missing stream namespace to xml declaration
2021-10-21 13:35:09 +02:00
Ingo Bauersachs d8ce2d335b Add missing stream namespace to xml declaration
Fixes 7199003f98
2021-10-21 09:14:52 +02:00
Florian Schmaus 8c87daa7b4 Merge branch '4.4' 2021-10-20 19:03:38 +02:00
Florian Schmaus d0be6a6216 [build] Remove OSS Sonatype Snapshot repository
Having the OSS Sonatype Snapshot repository searched causes build
failures if there snapshot dependencies are resolved due the javadoc
linking:

javadoc: error - Error fetching URL: https://jxmpp.org/releases/1.0.3-SNAPSHOT/javadoc/
> Task :javadocAll
javadoc: error - Error fetching URL: https://minidns.org/releases/1.0.2-SNAPSHOT/javadoc/
2 errors
2021-10-20 19:02:19 +02:00