Age | Commit message (Collapse) | Author |
|
Show the user the collection of possible file transfer candidates
after pressing the 'Start' button for a file transfer. Previously the
buttons remained in the UI giving no feedback to the user at all. If
no UPnP/NAT-PMP device is present, it this stage can take a couple
seconds to timeout and move on to the next stage.
Furthermore this commit adds documentation for the different states
in the ChatWindow::FileTransferState enum.
Test-Information:
Tested this in a network environment with no UPnP/NAT-PMP device
between two Swift instances.
Change-Id: I76ec6e641a2acd683938fe2d8f542d023a244145
|
|
The button is shown after the 'Transfer completed successful.'
message and asks the desktop environment to open the file with the
default program.
Test-Information:
Send a file to another Swift on OS X 10.9.5 and verified that it opens
the file on button click.
Change-Id: I602e534ef07a119247cbf979e13551be7771880c
|
|
Add a hidden option to enable single sign on. When that is enabled, ensure that
the user only enters the domain name and that the JID is constructed from the
Windows log-on credentials.
Test-information:
Tested on Windows.
Unit tests pass.
Change-Id: Ia5592a3893f0807a3801b515c8fcddb580c9ef8d
|
|
This patch uses the GSSAPI authenticator on Windows if the server advertises it
and the client requests it. (The user is not able to request it in the UI yet)
Also sends the manual port to the GSSAPI authenticator to construct the SPN if
a non-default port is used.
Test-information:
Tested on Windows using WIP code. Tested both on TLS & without.
Unit tests pass.
Change-Id: I9a9ad9604fe084d5fb2003b7a91174a9512e2eec
|
|
Connect FileTransfer::onStateChanged signal earler to slot in
FileTransferController, so the slot will be called for state changes
that occur before a transfer started.
Test-Information:
Tested with two Swift instances and cancelling the sender side and
receiver side. Without this patch the receiver side UI does not change
if the receiver side cancels the transfer.
Change-Id: I1d4d3e1ac78689a16120bfa9ccdec30ab1191ee3
|
|
Test-Information:
Added unit test that checks for the expected behavior.
Change-Id: I4079bdc1182af466eedd2496b9837e024f14acb2
|
|
If the S5B proxy lookup result has no direct IP address listed the
name is resolved using DNS. This change will create a proxy result
per resolved result address and not only the first result address.
Test-Information:
Verified the candidate list contains both entires for a proxy name
that resolves to an A and an AAAA record.
Change-Id: Iec21ff90af981030ff49fb53803d88a59694767c
|
|
ASAN reported heap-use-after-free because if the timer is running
and an instance is freed, the signal of the timer is still emitted and
connected slots are called.
Test-Information:
Tested that the ASAN report wents away with this fix.
Change-Id: Id785737c4c015e5c638e9d9f6419d740d6cf83b9
|
|
Test-Information:
Still builds
Change-Id: I93cd349364093eae320104b5b551c25da47b1d74
|
|
Due to missing signal connection and a copy'n'paste bug, Swift did not
wait for port forwarding/public IP detection before emitting the list
of local candidates. This is fixed now.
The signal is automatically disconnected when the file transfer
is finished and s5bServerPortForwardingUser_ is freed.
Test-Information:
Send a file between two Swift instances and verified log output.
Change-Id: I6530a7ac1cbf6941061bd99aa3f3b0624ebc984c
|
|
Introducing SWIFT_NETWORK_TEST_IPV4 and SWIFT_NETWORK_TEST_IPV6 for
the host addresses used in BoostConnectionTest.cpp.
Passing these variables and ASAN/LSAN_OPTIONS for memory leak
detection when calling the test from SCons.
Test-Information:
Tested on Elementary OS with correct available hosts and unavailable
hosts. In both cases the behavior is the same as before.
Change-Id: I24128c766642c5a2ee273f7c11624525ae33e270
|
|
Test-Information:
Tested on Elementary OS with a LLVM/Clang 3.7.0 build. With this patch
the reports for the fixed locations are gone.
Change-Id: I0260fc85ad662335a69ace331f51ebe2f864ef97
|
|
Test-Information:
Not applicable.
Change-Id: I1620be8361c1b70b365011ac7f0ec6ac11dbe76f
|
|
Rooms in the recent chats list and bookmarks can be entered by double
click if the user is offline. They are joined when the user goes
online again.
Test-Information:
Tested by going offline via the presence menu and then entering rooms
via recent chats and bookmarks.
Change-Id: I8c3eadd29c3353c2cf5f04f53b71ef7ad67a5c05
|
|
Previously QtVCardWidget would work on a shared copy of a VCard and
modify the shared version. Now when setting the vCard on the widget
it creates its own copy and works on that.
The ProfileController holds a reference to the VCard it sets on the UI.
If the server rejects an update it can reset the UI to this VCard.
Test-Information:
Tested against a XMPP server that rejects all vCard updates
(mod_readonly).
Change-Id: Iaa8eed6406f2dc6cc7ac5434194a7dae4f879b33
|
|
This patch adds an option 'disconnectOnCardRemoval' to system-settings.xml which
when set to false allows the user's session to stay connected if the smartcard
is removed. The default value of this option is true if it is not specified.
Test-information:
Tested on Windows using NIST smartcards.
Tested true and false values set for this option in the file and also when
option is not specified (true).
Unit tests pass.
Change-Id: I7e421b4153ff7d3000f41999add20d339076c96e
|
|
Test-Information:
Tested on Elementary OS 0.2.
Change-Id: Ieae4fc2a2c6fdfaaac9895153b09c9504ef71495
|
|
Test-information:
Tested on Windows using WIP code.
Unit tests pass.
Change-Id: I766294e57dc6374830b865f3e57b07b67e7d2fe2
|
|
When the card is reset in shared mode (which is the mode we use), an application
trying to access certain commands will be returned the value SCARD_W_RESET_CARD.
When this occurs SCardReconnect() must be called. This wasn't done before so
this patch fixes it.
Also provides more logging for SCard function returns.
Test-information:
Tested on Windows using NIST smart cards.
Before the fix, the Card Removed Error was seen often even after the initial
connection was established. After the fix, the reconnect attempt is done so the
error is not seen.
Also verified that if a card is removed deliberately, then the user is logged
out.
Change-Id: I94748ab9ff944a79de655646e1e06a8b61776f4b
|
|
Test-Information:
Building on a system without Qt now says that the application
is all that isn't compiled. Swift/Controllers still compiles if requested
(as before).
Change-Id: I24631f6ba2bf3475a1a6456207c1da94f1b3f1c0
|
|
Test-information:
Tested on Windows using WIP GSSAPI code.
Unit tests pass.
Change-Id: I21f8f637480a21a014ec172431dd8d4a01a11620
|
|
In RFC 6120, there are only 2 places where "=" is allowed - in the initial
client auth and in the final server success response.
While testing challenge response exchanges in Kerberos, it was seen that Swift
was adding an '=' in other empty responses. This patch fixes it by sending an
empty response instead of an '='.
Test-information:
Tested on Windows using a WIP GSSAPI authentication exchange with M-Link.
Change-Id: I1f82bddbd1380361cbe43e45a2804156249582ae
|
|
Test-information:
Tested on Windows using WIP GSSAPI code.
Unit tests pass.
Change-Id: If872863d6a8b5a164f8ebec4f88e9939b4e73c62
|
|
This patch creates and passes on an optional boost::system::error_code variable
which contains more error info which can be displayed in case of an error.
Test-information:
Tested using WIP code on Windows.
Change-Id: I285b8aec5e9c00d3a8e0d8cc0d5e7b4c5d94c099
|
|
Test-information:
Verified with M-Link.
Unit tests pass.
Change-Id: Ic675c8d7cd70e01be61c51c0280e1d7208b364ba
|
|
The tool had syntax errors (missing subprocess. in front of PIPE) and
SCons errors (missing conf.Finish() calls).
Test-Information:
Tested on Arch Linux 1.4.
Change-Id: Ibab23e1dc776ee9fe96de45221c4fb9659f4a185
|
|
Clang raises a warning in non-experimental builds because the full
type of HistoryStorage is not known and it tries to delete an
instance (even though a null ptr) in the dtor.
Test-Information:
Tested on OS X 10.9.5 with Clang (Apple LLVM version 6.0).
Change-Id: I8a06890967427af21e11e077e9ac59b67bdb810c
|
|
Some platforms, e.g. KUbuntu, provide a wrapper around Qt's commands
that allow easy switching between different Qt versions. With this
change SCons will execute the found moc tool and check whether it works
or not.
Test-Information:
Tested with correctly installed Qt and uninstalled Qt on KUbuntu 14.04.
Change-Id: I88f0a36af462e909829c30115aa5481abdcd3ac6
|
|
Template classes cannot have SWIFTEN_API annotations as with annotation
code for instantiations of the template are expected to be in the DLL
which cannot be guaranteed for any user type. With the complete
implementation in available in the header it is not needed because
3rdParty Swiften users can instantiate an implementation as needed.
This also conditionally includes SQLiteHistoryStorage.h conditionally
in MemoryStorages.cpp, as otherwise the linker will expect an
implementation of SQLiteHistoryStorage in the DLL. However, it is only
built into the DLL if experimental features are turned on.
Test-Information:
Tested with experimental=on/off and swiften_dll=on/off.
Change-Id: Ieec85675c167ec34cffd4745ac854a5949fb2037
|
|
Test-Information:
None.
Change-Id: Ie2a5f9430aeb849219f4bca64aa3d1871bc17dc5
|
|
HighlightRule did not consider keywords in its isMatch() routine.
MUCController only triggered possible HighlightActions if it was a
direct 1-to-1 MUC message or an impromptu chat message.
Both issues are fixed.
Additionally fixed the HighlightRuleTest. It had some wrong assertions
related to rules being case insensitive by default and keywords match
inside longer words by default.
Test-Information:
Tested with a highlight rule that highlights text and tested that
sound actions are executed if the text is highlighted. Additionaly
verified that other behaviour (own nick mentions, direct 1-to-1 messages)
have their potential sound actions still executed.
Change-Id: Ia922a1ff38c66f6458d28a18a8cdde10e821f83d
|
|
Refactored the code to handle the following cases nicely:
- no copyright for current user present yet
- outdated copyright for current user present (with and without range)
- copyright present and up to date
Test-Information:
Tested with SWIFT_LICENSE_CONFIG set to "Isode Limited|default".
Change-Id: I4df475f7ecd55aebe892411b2323da50fcbca525
|
|
Correctly use pkg-config to test for Qt, if no qt path is specified
in config.py. 'Import(…)' at the top caused an error which was hidden
by try/catch at upper layer.
Test-Information:
Tested on Kubuntu 14.04, with and w/o qt path set and verified that
no exception is thrown if Qt is registered at pkg-config.
Change-Id: I82800c23e9f75bd5f6b136fe384a70165a92bb45
|
|
Test-Information:
Send a file from one Swift to another. Previously the progress bar did
not update in the receiving client. Now it does.
Change-Id: Ie710a4c1cfc389d6fcfb93de96250a80787883d3
|
|
Some servers have very restrictive TLS stacks that respond badly
to a bug in the SChannel TLS implementation, meaning that TLS
has to be limited to 1.0.
Add ClientOptions.tlsOptions. This is a method of passing options into
the TLS stack. It's currently
only used for the TLS 1.0 workaround in SChannel, but we might reasonably
expose other options in the future, such as limiting cypher suites.
Disables use of SSLv3 for SChannel
Also updates the coding style in SchannelContext a bit.
Test-Information:
Compiles on both OS X and Windows(SChannel). OS X doesn't show the new
option. Windows shows it, and remembers it between logins. Not tested
against a server requiring 1.0 only, but a previous hack with the
same approach was tested.
Change-Id: I1e7854d43811fd173f21f98d4dc3915fc7a4b322
|
|
Test-Information:
Tested build on Windows 8 with VS 2014 and ran unit tests.
Change-Id: I3d8096df4801be6901f22564e36eecba0e7310c4
|
|
Use QDialogButtonBox instead of custom button layout code. This way
the button are correctly layouted depending on platform guidelines.
Show a 'Ok' button if no other button is shown which closes the window.
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.2.
Change-Id: I37581982766d013f4d3d636880fd5ada59ee0c40
|
|
Test-Information:
Tested on Elementary OS 0.2.1 with all Qt components uninstalled.
Previously it would abort configuration and build. Now it simply builds
without Swift and other parts depending on Qt.
Change-Id: I84c91985a0ba1fdab98e97f80621cd41e0a7507b
|
|
This adds layout margin and spacing to the calculation of the correct
size hint.
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.1.
Change-Id: I7036f64a6621f5ce6603e77da26a887e28c663ca
|
|
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.1 and Windows 8 with Qt 5.3.2 and
KUbuntu 14.04 with Qt 5.4.1.
Change-Id: Ia6cf54baad3020d05be94c6159aa623f7a619816
|
|
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.1.
Change-Id: I27ba80b9799fd8177a291ec0b8eeb0c2168e2f04
|
|
Layout label and editing widgets below each other instead of next to
each other. This way there will not be any horizontal spacing if one
of them is hidden.
This also removes empty name parts in the shown fullname.
Test-Information:
Tested on Mac OS X 10.9.5 and Qt 5.4.1.
Change-Id: I20561a8e7f8b9305cd3314b1250a2d006abbccb5
|
|
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.1.
Change-Id: I8cad307d967be32a9d67dc8408e4a27f487f6032
|
|
By default cl.exe writes debug info to a static file name resulting
in all cl.exe trying to write to the same file when using parallel
builds.
This leads to race conditions and can have parallel builds fail.
This only takes effect if parallel builds are made by scons.
Test-Information:
Tested with VS 2013.
Change-Id: I8ea7e9370f5b149ded608e4c6f5e66a3fc6301c4
|
|
Bugs like:
* Tab title not matching shown chat window
* Duplicated tab titles after tab movement
Swift is also subject to QTBUG-36455, which is fixed for Qt >= 5.3.0.
This commit removes the use of application wide focus handlers in
QtChatWindow class, the QtChatWindow::qAppFocusChanged method.
The reason for this is due to the way QTabBar::moveTab is implemented
in Qt which we use for the Trellis feature.
Internally QTabBar::moveTab first adjusts its tab bar labels, then
removes the tab from its old location in the internal QStackedLayout
and then inserts it in the new location. After the remove Qt gives
focus to another widget via a focus change that does not go through
the event loop of the application and is not interceptable with
eventFilters.
Previously we would set the focus and call other signals in the
application wide focus change handler which then used the currently
inconsistent QTabBar/QTabWidget.
Test-Information:
Tested tab switching and movement on Windows 8 (Qt 5.3.2),
OS X 10.9.5 (Qt 5.4.3) and Ubuntu 14.04.2 LTS (Qt 5.4.3).
Change-Id: Ief423c4add58a90279109f72fac95fc58cb71111
|
|
Use scoped_connection to prevent missing disconnection from signals.
Stop and free S5BServer when stopping SOCKS5BytestreamServerManager.
Test-Information:
Tried sending a file to myself multiple times and it did not crash.
Change-Id: If32075d8e9c243cab254776b924248227520e030
|
|
Popup windows cannot change the mouse cursor on OS X. A frameless
window looks the same.
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.
Change-Id: Ia97e645be2ad1e5063f0cd8ef54344b63274b2d1
|
|
Test-Information:
Tested on Mac OS X 10.9.5 with Qt 5.4.
Change-Id: I7581ae478fb347bb468b28997be963799b82b2cb
|
|
Test-Information:
Tested on FreeBSD 10.0.
Change-Id: Ic1c8a1637f0fbc9128973b41d6988a8afd61e387
|
|
Configuration for LibMiniUPNPc did not detect size of ip_mreqn
correctly.
Test-Information:
Tested on FreeBSD 10.
Change-Id: I5d91695b6ec2f1ad91e4fe6bf0e73876fef4fa8b
|