Florian Schmaus <flo@geekplace.eu>: Author Summary

Builds triggered by Florian Schmaus <flo@geekplace.eu>

Builds triggered by an author are those builds which contains changes committed by the author.
1132
166 (15%)
966 (85%)

Breakages and fixes

Broken means the build has failed but the previous build was successful.
Fixed means that the build was successful but the previous build has failed.
57 (5% of all builds triggered)
31 (3% of all builds triggered)
-26
Build Completed Code commits Tests
SMACK › NIGHTLYSTABLE › #206 6 days ago
Merge pull request #490 from JonathanLennox/update-securitymode-docs
Update documentation of default SecurityMode.
800 passed
SMACK › NIGHTLY › #1834 3 weeks ago
Merge pull request #487 from fenuz/feature/multiversion_mam_support
Add support for multiple versions of MAM
819 passed
SMACK › CIMASTER › #832 3 weeks ago
Merge pull request #487 from fenuz/feature/multiversion_mam_support
Add support for multiple versions of MAM
819 passed
SMACK › NIGHTLY › #1833 3 weeks ago
[core] Fix spelling errors in code comment within PacketParserUtils
[mam] Delete unused local variable 'iqType' in MamPrefsIQProvider
[mam] Fix MamPrfsIQProviderTest
Parsers handed over to IQ providers should be positioned at the IQ
child element when being invoked. Therefore we remove the wrapping
<iq> in some test XML.

Also make checkMamPrefsIQProvider() a paramterized test.
819 passed
SMACK › CIMASTER › #831 3 weeks ago
[mam] Fix MamPrfsIQProviderTest
Parsers handed over to IQ providers should be positioned at the IQ
child element when being invoked. Therefore we remove the wrapping
<iq> in some test XML.

Also make checkMamPrefsIQProvider() a paramterized test.
[core] Fix spelling errors in code comment within PacketParserUtils
[mam] Delete unused local variable 'iqType' in MamPrefsIQProvider
819 passed
SMACK › NIGHTLYSTABLE › #205 3 weeks ago
[pubsub] FormNode(Provider) should not fail if there is no DataForm
Error IQ respones may not contain a data form, e.g.

<iq type="error" id="6LXNC-48" from="pubsub.openfire.xmpp.test" to="anno@openfire.xmpp.test/5dsi4g084a">
  <pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
    <configure node="fdp/submitted/spot_report"/>
  </pubsub>
  <error code="403" type="auth">
    <forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
  </error>
</iq>

Also FormNode's toXML() already handled the case where submitForm was
'null'. Only the constructor threw a IAE if submitForm was 'null'.

Fixes SMACK-910.

Closes: https://github.com/igniterealtime/Smack/pull/471
800 passed
SMACK › NIGHTLY › #1832 3 weeks ago
[pubsub] FormNode(Provider) should not fail if there is no DataForm
Error IQ respones may not contain a data form, e.g.

<iq type="error" id="6LXNC-48" from="pubsub.openfire.xmpp.test" to="anno@openfire.xmpp.test/5dsi4g084a">
  <pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
    <configure node="fdp/submitted/spot_report"/>
  </pubsub>
  <error code="403" type="auth">
    <forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
  </error>
</iq>

Also FormNode's toXML() already handled the case where submitForm was
'null'. Only the constructor threw a IAE if submitForm was 'null'.

Fixes SMACK-910.

Closes: https://github.com/igniterealtime/Smack/pull/471
Merge pull request #484 from guusdk/SMACK-908_debugger-tabs_4.4-branch
SMACK-908: Don't use components to count tabs in Debugger
Merge pull request #486 from Flowdalic/4.4-form-fields-raw
Provide and use the raw values of form fields
[caps] Use the raw character data of form fields when caclulating the hash
Fixes SMACK-909.
Merge branch '4.4'
This also fixes a errornous merge where the same branch with different
commit was merged into master and 4.4

The conflicting commits are

4.4:
8f760eaeb319  getRawValueCharSequences
e626580f682b

master:
b47225c2c104  getRawValues
097d2453582f
[xdata] Safe the raw character data of form field values
Related to SMACK-909.
Smack 4.4.4-SNAPSHOT
818 passed
SMACK › CIMASTER › #830 3 weeks ago
[caps] Use the raw character data of form fields when caclulating the hash
Fixes SMACK-909.
Smack 4.4.4-SNAPSHOT
[xdata] Safe the raw character data of form field values
Related to SMACK-909.
[pubsub] FormNode(Provider) should not fail if there is no DataForm
Error IQ respones may not contain a data form, e.g.

<iq type="error" id="6LXNC-48" from="pubsub.openfire.xmpp.test" to="anno@openfire.xmpp.test/5dsi4g084a">
  <pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
    <configure node="fdp/submitted/spot_report"/>
  </pubsub>
  <error code="403" type="auth">
    <forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
  </error>
</iq>

Also FormNode's toXML() already handled the case where submitForm was
'null'. Only the constructor threw a IAE if submitForm was 'null'.

Fixes SMACK-910.

Closes: https://github.com/igniterealtime/Smack/pull/471
Merge pull request #486 from Flowdalic/4.4-form-fields-raw
Provide and use the raw values of form fields
Merge pull request #484 from guusdk/SMACK-908_debugger-tabs_4.4-branch
SMACK-908: Don't use components to count tabs in Debugger
Merge branch '4.4'
This also fixes a errornous merge where the same branch with different
commit was merged into master and 4.4

The conflicting commits are

4.4:
8f760eaeb319  getRawValueCharSequences
e626580f682b

master:
b47225c2c104  getRawValues
097d2453582f
818 passed
SMACK › NIGHTLY › #1828 3 weeks ago
[core] Check if the successor vertex exists in StateDescriptorGraph
If the successor's module is disabled then the vertex may be null. In
this case, we can simple continue with the next successor in the list.

Previously, due to d33a5a23c32a ("[core] Introduce
Builder.failOnUnknownStates() and unit tests") this would trigger an
assert in addOutgoingEdge().

Fixes: d33a5a23c32a ("[core] Introduce Builder.failOnUnknownStates() and unit tests")
[sinttest] Add "compatibility mode" setting
818 passed
SMACK › CIMASTER › #829 3 weeks ago
[core] Check if the successor vertex exists in StateDescriptorGraph
If the successor's module is disabled then the vertex may be null. In
this case, we can simple continue with the next successor in the list.

Previously, due to d33a5a23c32a ("[core] Introduce
Builder.failOnUnknownStates() and unit tests") this would trigger an
assert in addOutgoingEdge().

Fixes: d33a5a23c32a ("[core] Introduce Builder.failOnUnknownStates() and unit tests")
818 passed
Build Completed Code commits Tests
SMACK › CIMASTER › #809 4 months ago
Merge pull request #470 from Fishbowler/fix_muc_javadoc
[sinttest] Tweaks to the muc test javadoc
Testless build
SMACK › NIGHTLY › #1796 7 months ago
Bump Bouncy Castle to 1.68
Add smack-websocket-java11
This also lifts a bunch of logic from smack-websocket-okhttp into
smack-websocket. Furthermore, the following subprojects require now
Java 11:
- smack-integration-test
- smack-omemo-signal-integration-test
- smack-repl
- smack-websocket-java11

Related tracking issue: SMACK-835
[openpgp] Do not put the BouncyCastleProvider at first position
This causes

java.security.InvalidKeyException: cannot identify XDH private key

on Java 11 or higher.

See also
- https://github.com/bcgit/bc-java/issues/620
- https://github.com/bcgit/bc-java/issues/589
- https://github.com/corretto/corretto-11/issues/168
- https://bugs.openjdk.java.net/browse/JDK-8171279
[smack-integration-test] Bump reflections to 0.9.12
This also means that smack-integration-test needs to declare a
dependency on Guava, which was previously available as transitive
dependency of 'reflections' 0.9.11.
Testless build
SMACK › CIMASTER › #791 7 months ago
Add smack-websocket-java11
This also lifts a bunch of logic from smack-websocket-okhttp into
smack-websocket. Furthermore, the following subprojects require now
Java 11:
- smack-integration-test
- smack-omemo-signal-integration-test
- smack-repl
- smack-websocket-java11

Related tracking issue: SMACK-835
Testless build
SMACK › CIMASTER › #789 7 months ago
Add smack-websocket-java11
This also lifts a bunch of logic from smack-websocket-okhttp into
smack-websocket. Furthermore, the following subprojects require now
Java 11:
- smack-integration-test
- smack-omemo-signal-integration-test
- smack-repl
- smack-websocket-java11

Related tracking issue: SMACK-835
[github-ci] Test with Java 15 also
[openpgp] Do not put the BouncyCastleProvider at first position
This causes

java.security.InvalidKeyException: cannot identify XDH private key

on Java 11 or higher.

See also
- https://github.com/bcgit/bc-java/issues/620
- https://github.com/bcgit/bc-java/issues/589
- https://github.com/corretto/corretto-11/issues/168
- https://bugs.openjdk.java.net/browse/JDK-8171279
[smack-integration-test] Bump reflections to 0.9.12
This also means that smack-integration-test needs to declare a
dependency on Guava, which was previously available as transitive
dependency of 'reflections' 0.9.11.
Bump Bouncy Castle to 1.68
Testless build
SMACK › NIGHTLY › #1791 8 months ago
Smack 4.4.1-SNAPSHOT
[extensions] Add BoBDataExtension getBobData() and getContentId()
Those two methods where missing after the BoB API redesign.

Fixes SMACK-896.
Merge branch '4.4'
[im] Update DirectoryRosterStore TODO note regarding Android API 26.
[im] DirectoryRosterStore.readEntry() should also catch IllegalArgumentException
Fixes SMACK-897.
Fix NPE in BoBIQ by adding XmlStringBuilder.optIntAttribute(String, Integer)
The method was missing and hence BoBIQ used optIntAttribute(String,
int) instead, which resulted in an NPE if the Integer was null.

Fixes SMACK-895.
Testless build
SMACK › NIGHTLYSTABLE › #186 8 months ago
[im] Update DirectoryRosterStore TODO note regarding Android API 26.
[im] DirectoryRosterStore.readEntry() should also catch IllegalArgumentException
Fixes SMACK-897.
Fix NPE in BoBIQ by adding XmlStringBuilder.optIntAttribute(String, Integer)
The method was missing and hence BoBIQ used optIntAttribute(String,
int) instead, which resulted in an NPE if the Integer was null.

Fixes SMACK-895.
[extensions] Add BoBDataExtension getBobData() and getContentId()
Those two methods where missing after the BoB API redesign.

Fixes SMACK-896.
Testless build
SMACK › CIMASTER › #782 8 months ago
Fix NPE in BoBIQ by adding XmlStringBuilder.optIntAttribute(String, Integer)
The method was missing and hence BoBIQ used optIntAttribute(String,
int) instead, which resulted in an NPE if the Integer was null.

Fixes SMACK-895.
Smack 4.4.1-SNAPSHOT
[im] Update DirectoryRosterStore TODO note regarding Android API 26.
[im] DirectoryRosterStore.readEntry() should also catch IllegalArgumentException
Fixes SMACK-897.
Merge branch '4.4'
[extensions] Add BoBDataExtension getBobData() and getContentId()
Those two methods where missing after the BoB API redesign.

Fixes SMACK-896.
Testless build
SMACK › NIGHTLYSTABLE › #170 1 year ago
Merge pull request #419 from adiaholic/bugFix
XmlEnvironment: Use correct method to obatain effective namespace.
788 passed
SMACK › NIGHTLY › #1765 1 year ago
Bump jXMPP version to 1.0.0
Merge pull request #407 from vanitasvitae/oxDeadCode
OX-IM: Remove redundant code to add self to recipients
Bump MiniDNS version to 1.0.0
[core] Fix log/exception message of XmppElementUtil
The Class.toString() already prefixes the resulting string with "class
", no need to state it explicitly in the log message that this is a
class.
Merge branch 'master' of github.com:igniterealtime/Smack
Merge pull request #408 from vanitasvitae/secretKeyBackupPassword
Allow user-supplied secret key backup passphrases
Merge pull request #406 from vanitasvitae/oxSecretKeyBackupRestore
OX: Improvements to Secret key backup restore function
Testless build
SMACK › NIGHTLY › #1743 1 year ago
Bump junit version to 5.6.2
Bump Error Prone version to 2.3.4 and fix new bug patterns
[core] Improve NumberUtil's exception message and fix javadoc
Update Message Archive Management (XEP-0313) support to urn:xmpp:mam:2
Fixes SMACK-890.
[experimental] Delcare methods as static when possible
Bump MiniDNS version to 0.4.0-alpha5
[core] Use UInt16 for ConnectionConfiguration 'port'
Bump jxmpp Version to 0.7.0-alpha6
Testless build
Build Completed Code commits Tests
SMACK › NIGHTLY › #1794 7 months ago
[core] Fix XmlEnvironment namespace: Use default namespace (not element's)
Assume the element
<foo:bar xmlns='namespace' xmlns:foo='foo-namespace'/>

then the <bar/> element's namespace is 'foo-namespace', but the
default namespace is 'namespace'. And this is the namespace that
scopes into inner elements.
Rework WebSocket code
Related to SMACK-835.
[extensions] Use StanzaView as parameter type in BoBDataExtension.from()
BoBDataExtensions can also appear in IQs (Registration IQ), and
potentially also Presence stanzas.

Fixes SMACK-901.
[xdata] Fix NPE in DataForm.Builder.addItem()
Fixes SMACK-900.
Merge pull request #455 from Flowdalic/fix-data-form-npe
[xdata] Fix NPE in DataForm.Builder.addItem()
Merge branch '4.4'
811 passed
SMACK › NIGHTLYSTABLE › #189 7 months ago
[core] Fix XmlEnvironment namespace: Use default namespace (not element's)
Assume the element
<foo:bar xmlns='namespace' xmlns:foo='foo-namespace'/>

then the <bar/> element's namespace is 'foo-namespace', but the
default namespace is 'namespace'. And this is the namespace that
scopes into inner elements.
[extensions] Use StanzaView as parameter type in BoBDataExtension.from()
BoBDataExtensions can also appear in IQs (Registration IQ), and
potentially also Presence stanzas.

Fixes SMACK-901.
798 passed
SMACK › NIGHTLY › #1766 1 year ago
[tcp] Mark SM as disabled prior resource binding
Otherwise we may send a SM ack request with the bind IQ request,
causing a stream error:

D/SMACK: SENT (0):
    <iq id='SETVB-74' type='set'>
      <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
      </bind>
    </iq>
    <r xmlns='urn:xmpp:sm:3'/>
D/SMACK: RECV (0):
    <iq id='SETVB-74' type='result'>
      <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
        <jid>
          snakeman@wiuwiu.de/eHeTGlCq
        </jid>
      </bind>
    </iq>
    <stream:error>
      <unsupported-stanza-type xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
    </stream:error>
    </stream:stream>
771 passed
SMACK › NIGHTLY › #1727 1 year ago
sinttest: delcare boolean in WaitForClosingStreamElementTest
resolver-dnsjava: bump to dnsjava 3.0 series
core: add shortcut via hash in EqualsUtil
Return false as soon as the hashed value does not match. This is
sound, since every class that implements equals(Object) should also
implement hashCode().
pep: Use EventItemsExtensionFilter
core: Add ExtensionElementFilter
geoloc: do not set error in integration test
As error is deprecated. And should be marked as such.
pubsub: Add EventItemsExtensionFilter
core: delete deprecated ToFilter
This filter was marked deprecated in 2017 with 5d0dd49e6 ("Introduce
ToMatchesFilter"), time to delete it.
geoloc: GeoLocation constructor should have Builder as sole paramter
Also remove that (broken) "Error and accuracy set" warning, but
mark (get|set)Error() as deprecated.
pep: cleanup pep users API
Use EntityBareJid just as its done within PepManager. There is no need
for AsyncButOrdered in the PEP user managers, as PepManager already
takes care of that. Also the message carrying the PEP event should
always be the last parameter of the callbacks, as it is the least
important piece of information.
pep: improve pep event filter
core: delete deprecated filters
Those where deprecated in 2015 with d4a6d8e65 ("Rename
PacketFilter (and implementing classes) and PacketExtension"), now it
is time to delete them.
Merge pull request #379 from akrherz/travis
update Travis-CI badge on README.md
resolver-dnsjava: change description
The recommended resolver on Android is MiniDNS.
core: remove deprecated methods in PacketUtil
Those where deprecated in 2015 with 8409dddff ("Add
PacketUtil.extensionElementFrom()"), and in 2017 with
2288825b1 ("Retain smack-core API").
core: do not init() closingStreamReceived sync point in initState()
The initState() method is also called in disconnect(). And if we reset
the closingStreamReceived sync point at disconnect, it will break the
WaitForClosingStreamElementTest integration test.
Merge pull request #382 from vanitasvitae/typo
Fix typo in XmppElementUtil
sinttest: only append subdescriptions if there are any
geoloc: make global setter static
pep: improve API, add PepEventListener
The geoloc, mood and usertune PEP users showed a pattern. Instead of
repeating this pattern every time, let PepManager do the hard work
sinttest: signal failure if geoloc element does not match
sinttest: also check for length of subdescriptions varargs
geoloc: make GeoLocation implement hashCode() and equals(Object)
omemo: fix javadoc issue with OracleJDK8
CI runs fail using OracleJDK8 with

/home/travis/build/igniterealtime/Smack/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoBundleElement_VAxolotl.java:30:
warning - Tag @see: missing final '>':
"<ahref="https://xmpp.org/extensions/xep-0384.html#usecases-announcing">XEP-0384:
OMEMO Encryption (Example 3)</a>."

Other JDKs do not report such an error.
sinttest: migrate to JUnit5, drop JUnit4
The before/after class annotations are now no longer borrowed from
JUnit.

Also some integration tests used @After and/or @Before from JUnit,
which was never supported nor had any effected. Those methods got
deleted. But since there appears to be a desire for such a
functionality in sinttest, we should consider adding one.
746 passed
SMACK › CIMASTER › #690 1 year ago
omemo: fix javadoc issue with OracleJDK8
CI runs fail using OracleJDK8 with

/home/travis/build/igniterealtime/Smack/smack-omemo/src/main/java/org/jivesoftware/smackx/omemo/element/OmemoBundleElement_VAxolotl.java:30:
warning - Tag @see: missing final '>':
"<ahref="https://xmpp.org/extensions/xep-0384.html#usecases-announcing">XEP-0384:
OMEMO Encryption (Example 3)</a>."

Other JDKs do not report such an error.
sinttest: migrate to JUnit5, drop JUnit4
The before/after class annotations are now no longer borrowed from
JUnit.

Also some integration tests used @After and/or @Before from JUnit,
which was never supported nor had any effected. Those methods got
deleted. But since there appears to be a desire for such a
functionality in sinttest, we should consider adding one.
sinttest: only append subdescriptions if there are any
resolver-dnsjava: change description
The recommended resolver on Android is MiniDNS.
geoloc: make global setter static
resolver-dnsjava: bump to dnsjava 3.0 series
746 passed
SMACK › CIMASTER › #651 2 years ago
gradle: Switch to 'maven-publish' plugin
gradle: Remove archives configuration
and FileTestUtil in favor of commons-io. This is required because
Eclipse won't put src/test code into the classpath of src/main
code (even though gradle was configured with an according
dependency).
732 passed
SMACK › NIGHTLY › #1685 2 years ago
gradle: Use project(':foo') intead of project(path: ':foo') when possible
travis: Add javadocAll to 'script' gradle targets
to ensure that javadocAll works correctly. A nice side-effect, this
also ensures that the package-info.java symbolic links are still
correct and haven't been replaced by some IDE or editor with the
content of the link target.
Make "duplicate" package-info.java files symbolic links
This is needed for javadocAll since otherwhise there will be

smack-core/src/main/java/org/jivesoftware/smack/package-info.java:21:
        warning: a package-info.java file has already been seen for
        package org.jivesoftware.smack

warnings.
javadocAll: Set source to sourceCompatibility to work around bug
in JDK 11. See https://bugs.openjdk.java.net/browse/JDK-8217177
730 passed
SMACK › CIMASTER › #638 2 years ago
Fix whitespace errors in AbstractXMPPConnection
730 passed
SMACK › NIGHTLY › #1669 2 years ago
Use XMLInputFactory.newInstance() instead of newFactory()
As newFactory() is errornously marked as deprecated in Java 9 or
higher. See also https://bugs.openjdk.java.net/browse/JDK-8183519
travis: Also call 'install' target
to check if artifact creation is functional.
travis: Update the Ubuntu repositories
travis: Update cache configuration
smack-android/build.gradle: Use 'implementation' for smack-xmlparser-xpp3
which is the probably the better choice here anyway. And it also
prevents the following failure on POM creation:

$ gradle uploadArchives
> Task :smack-android:uploadArchives FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':smack-android:uploadArchives'.
> Could not publish configuration 'archives'
   > Could not write to file
   '/home/flo/data/code/smack/smack-android/build/poms/pom-default.xml'.

See also

https://discuss.gradle.org/t/gradle-fails-to-create-pom-with-the-configuration-to-scope-mapping-is-not-unique/32087
travis: Remove "sudo: false" as recommended by travis
travis: Use gradle 5.5.1
travis: Remove openjdk8, add openjdk(9|11)
Javadoc changes for Java 11 compatibility
travis: Use apt-get instead apt
It appears 'apt' is no longer available and the official documentation
only mentions apt-get.
Remove finalize() from AbstractXmppNioConnection
checkstyle: Use $config_loc for Java 11
Also move configuration files into "${rootProject}/config/checkstyle"
to follow convention over configuration.

See https://github.com/gradle/gradle/issues/8286#issuecomment-458145619
travis: Use Ubuntu 14.04 (Trusty)
730 passed
SMACK › NIGHTLYSTABLE › #168 2 years ago
Merge pull request #320 from vanitasvitae/muc_joined_rooms_bookmarks_note
Add note about BookmarkManager to MUCManager
579 passed