<feed xmlns='http://www.w3.org/2005/Atom'>
<title>- Swift Master Repository -, branch master</title>
<subtitle>Official repository</subtitle>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/'/>
<entry>
<title>Accept certs with upper case entries</title>
<updated>2020-01-09T16:37:40Z</updated>
<author>
<name>Kevin Smith</name>
<email>git@kismith.co.uk</email>
</author>
<published>2020-01-09T13:32:54Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=12d031cf8177fdec0137f9aa7e2912fa23c4416b'/>
<id>12d031cf8177fdec0137f9aa7e2912fa23c4416b</id>
<content type='text'>
Although we were doing the right thing with punycode
(as far as I can see) for the IDNA entries, we were
forgetting that the comparisons needed to be case
insensitive (checked the RFCs). Now they are.

Test-Information:
Added unit tests for the three flows that were
modified.

Change-Id: Ib17ae3df66159f38339996580dc85a5d99356274
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Although we were doing the right thing with punycode
(as far as I can see) for the IDNA entries, we were
forgetting that the comparisons needed to be case
insensitive (checked the RFCs). Now they are.

Test-Information:
Added unit tests for the three flows that were
modified.

Change-Id: Ib17ae3df66159f38339996580dc85a5d99356274
</pre>
</div>
</content>
</entry>
<entry>
<title>Add copy/move ctors for JIDs</title>
<updated>2020-01-09T15:48:42Z</updated>
<author>
<name>Kevin Smith</name>
<email>git@kismith.co.uk</email>
</author>
<published>2019-07-19T13:01:51Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=3d00d04ffbf40845058f6ede4da2592bb27a255d'/>
<id>3d00d04ffbf40845058f6ede4da2592bb27a255d</id>
<content type='text'>
Test-Information:
Unit tests still pass.

Change-Id: I4e5b63104e482a79a933f337082c579db7bb8cff
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test-Information:
Unit tests still pass.

Change-Id: I4e5b63104e482a79a933f337082c579db7bb8cff
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove std::endl from SWIFT_LOG calls</title>
<updated>2019-11-19T13:58:45Z</updated>
<author>
<name>Edwin Mons</name>
<email>edwin.mons@isode.com</email>
</author>
<published>2019-11-19T13:36:05Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=261ba8d8595ed8cb90f9c4feb1d6ef642942bcba'/>
<id>261ba8d8595ed8cb90f9c4feb1d6ef642942bcba</id>
<content type='text'>
The std::endl is now added by ~Log, but only for output to stderr or a
log file.  Calls to the Android logging system or manually set callbacks
will not include the newline in the logging output.

JIRA: SWIFT-430

Test-Information:

Unit tests pass on Debian 9
Checked that running Swift with logging to stderr still had a newline.

Change-Id: I096fdba78a3b8f87db2097951c28c528592183e8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The std::endl is now added by ~Log, but only for output to stderr or a
log file.  Calls to the Android logging system or manually set callbacks
will not include the newline in the logging output.

JIRA: SWIFT-430

Test-Information:

Unit tests pass on Debian 9
Checked that running Swift with logging to stderr still had a newline.

Change-Id: I096fdba78a3b8f87db2097951c28c528592183e8
</pre>
</div>
</content>
</entry>
<entry>
<title>Let handleNextEvent only handle a single event</title>
<updated>2019-11-19T10:51:10Z</updated>
<author>
<name>Edwin Mons</name>
<email>edwin.mons@isode.com</email>
</author>
<published>2019-11-19T09:04:47Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=697ae6ae84512a744958b24118197ec7bfdbc1f0'/>
<id>697ae6ae84512a744958b24118197ec7bfdbc1f0</id>
<content type='text'>
A batching mechanism was added to EventLoop::handleNextEvent, which
caused it to be renamed to handleNextEvents.  The problem with the
batching was that it breaks EventLoop::removeEventsFromOwner: events
already grabbed off the events_ queue for invocation could be removed,
leading to issues in cases where two events were grabbed off the queue
that referred to the same entity, the second event was a timer event,
and the first event caused the timer to be stopped.  The timer event
would in this case be executed, leading to unexpected behaviour or
crashes, as shown by the added unit test.

Test-Information:

Unit tests pass on Debian 9 and macOS 10.14.
Benchmarked the eventloop on Debian and macOS, and did not notice a
performance degradation.
Transferred files using S5B and IBB, and checked there were no UI hangs.
Transfer speed before and after the change are roughly the same.

Change-Id: Ife7312f533e8f0976c2e8077d16e0b63fbac6eb1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A batching mechanism was added to EventLoop::handleNextEvent, which
caused it to be renamed to handleNextEvents.  The problem with the
batching was that it breaks EventLoop::removeEventsFromOwner: events
already grabbed off the events_ queue for invocation could be removed,
leading to issues in cases where two events were grabbed off the queue
that referred to the same entity, the second event was a timer event,
and the first event caused the timer to be stopped.  The timer event
would in this case be executed, leading to unexpected behaviour or
crashes, as shown by the added unit test.

Test-Information:

Unit tests pass on Debian 9 and macOS 10.14.
Benchmarked the eventloop on Debian and macOS, and did not notice a
performance degradation.
Transferred files using S5B and IBB, and checked there were no UI hangs.
Transfer speed before and after the change are roughly the same.

Change-Id: Ife7312f533e8f0976c2e8077d16e0b63fbac6eb1
</pre>
</div>
</content>
</entry>
<entry>
<title>Update 3rdParty/CppUnit to version 1.14.0</title>
<updated>2019-11-15T11:58:11Z</updated>
<author>
<name>Tobias Markmann</name>
<email>tobias.markmann@isode.com</email>
</author>
<published>2019-11-14T21:08:53Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=8230b23238b4d0ef0fcde01a799758558d502fa1'/>
<id>8230b23238b4d0ef0fcde01a799758558d502fa1</id>
<content type='text'>
This gets rid of std::auto_ptr usage and its deprecation
warnings.

Test-Information:

Builds and tests pass on macOS.

Change-Id: I299a0a8d9aa2ead15c933e83a2e3e53f84a4f5b7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This gets rid of std::auto_ptr usage and its deprecation
warnings.

Test-Information:

Builds and tests pass on macOS.

Change-Id: I299a0a8d9aa2ead15c933e83a2e3e53f84a4f5b7
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove extra semicolons</title>
<updated>2019-11-14T13:45:45Z</updated>
<author>
<name>Tobias Markmann</name>
<email>tobias.markmann@isode.com</email>
</author>
<published>2019-11-14T13:45:27Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=caca46ceedddd43c707e7eda9b4c765d61730ccb'/>
<id>caca46ceedddd43c707e7eda9b4c765d61730ccb</id>
<content type='text'>
clang-trunk complained about them and ideally Swift would
build without warnings.

Test-Information:

Builds find and tests pass.

Change-Id: I1896befef0e65a980cc22f402e126aec8b56e71f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clang-trunk complained about them and ideally Swift would
build without warnings.

Test-Information:

Builds find and tests pass.

Change-Id: I1896befef0e65a980cc22f402e126aec8b56e71f
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass down SDKROOT environment variable</title>
<updated>2019-11-14T13:45:45Z</updated>
<author>
<name>Tobias Markmann</name>
<email>tobias.markmann@isode.com</email>
</author>
<published>2019-11-14T13:43:36Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=7a4d44dbc444b68b665535bb38847cfa48bfee3f'/>
<id>7a4d44dbc444b68b665535bb38847cfa48bfee3f</id>
<content type='text'>
This is needed on macOS so that the running compiler
knows what SDK to build against.

Test-Information:

Builds with system and custom build clang on macOS
10.14.6.

Change-Id: I80a76937834d681c322bf36bfcb034565be9b2f5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is needed on macOS so that the running compiler
knows what SDK to build against.

Test-Information:

Builds with system and custom build clang on macOS
10.14.6.

Change-Id: I80a76937834d681c322bf36bfcb034565be9b2f5
</pre>
</div>
</content>
</entry>
<entry>
<title>Re-enable logging in OpenSSLContext</title>
<updated>2019-11-13T18:50:24Z</updated>
<author>
<name>Edwin Mons</name>
<email>edwin.mons@isode.com</email>
</author>
<published>2019-11-13T15:42:10Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=e53dc1593d1789ac33b132214e957e947843d451'/>
<id>e53dc1593d1789ac33b132214e957e947843d451</id>
<content type='text'>
All logging in OpenSSLContext is now at debug level.

Test-Information:

Unit tests pass.

Change-Id: I44d01ff23a05676a26ec547d6454dcb6883ebd88
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All logging in OpenSSLContext is now at debug level.

Test-Information:

Unit tests pass.

Change-Id: I44d01ff23a05676a26ec547d6454dcb6883ebd88
</pre>
</div>
</content>
</entry>
<entry>
<title>Clear internal error state after cert chain parse</title>
<updated>2019-11-13T15:28:52Z</updated>
<author>
<name>Tim Costen</name>
<email>tim.costen@isode.com</email>
</author>
<published>2019-11-13T12:52:44Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=7d79cd827fb17db7b03858b06f03c514d25cdfea'/>
<id>7d79cd827fb17db7b03858b06f03c514d25cdfea</id>
<content type='text'>
When parsing a PEM string containing a chain of
certificates, createCertificateChain calls
PEM_read_bio_X509 until it returns NULL (end of chain). But
this will have set OpenSSL's internal error chain. Creating
a new OpenSSL context has the side effect of clearing this chain,
but if you are using a context which has already been created,
the context sees that the error chain is set and fails.

All that is needed is for createCertificateChain to clear the
OpenSSL error chain before returning.
JIRA: LINK-1868

Change-Id: Ife2a3dabfeecff9e430648d63e4b4ba001e80a00
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When parsing a PEM string containing a chain of
certificates, createCertificateChain calls
PEM_read_bio_X509 until it returns NULL (end of chain). But
this will have set OpenSSL's internal error chain. Creating
a new OpenSSL context has the side effect of clearing this chain,
but if you are using a context which has already been created,
the context sees that the error chain is set and fails.

All that is needed is for createCertificateChain to clear the
OpenSSL error chain before returning.
JIRA: LINK-1868

Change-Id: Ife2a3dabfeecff9e430648d63e4b4ba001e80a00
</pre>
</div>
</content>
</entry>
<entry>
<title>Support application-supplied logging</title>
<updated>2019-11-13T12:46:21Z</updated>
<author>
<name>Edwin Mons</name>
<email>edwin.mons@isode.com</email>
</author>
<published>2019-11-13T12:03:22Z</published>
<link rel='alternate' type='text/html' href='https://www.swift.im/git/swift/commit/?id=d640ec248ca8bf86a03007a0f8df352df696cf92'/>
<id>d640ec248ca8bf86a03007a0f8df352df696cf92</id>
<content type='text'>
This adds a method to set a logging callback.  If such a callback is
set, all SWIFT_LOG calls will invoke this callback instead of writing to
either stderr or the swift logging file.

Test-Information:

Updated unit tests pass.
Checked that logs generated by Swift and Sluift (which do not set the
callback) resulted in logging in the expected location.

Change-Id: I0eb2a1057aa77839e1b8d5f320205eb9d5fdc253
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a method to set a logging callback.  If such a callback is
set, all SWIFT_LOG calls will invoke this callback instead of writing to
either stderr or the swift logging file.

Test-Information:

Updated unit tests pass.
Checked that logs generated by Swift and Sluift (which do not set the
callback) resulted in logging in the expected location.

Change-Id: I0eb2a1057aa77839e1b8d5f320205eb9d5fdc253
</pre>
</div>
</content>
</entry>
</feed>
