derived (was plugged to NonBlockingClient which made it unusable for BOSH)
- Fixed HTTP CONNECT proxy socket
- Implemented workaround for the bug with insecure-connection warning dialog
(unfortunately, this is not over - I just forbid the transport to send
BOSH empty bodies until auth module is plugged, which is wrong and will
break if user will wait more than "inactivity" (usualy thirty) seconds
before clicking the dialog.
This workaround works with ejb and opf, and also breaks connection with
both of them if delay is too long.
- Implemented basic TLS over BOSH. It works only with OPF and poorly.
in Client now
- Added NonBlockingHttpBOSH transport (to tranports_nb) and BOSHClient
(to client_nb)
- Extended possible proxy types in configuration by "BOSH" proxy
- Rewrote NonBlockingTLS to invoke success callback only after successful TLS handshake is over (formerly, the TLS Plugin returned right after sending <starttls>)
* Added NS_RECEIPTS to protocol namespace list.
* Show our support of XEP-0184 in caps.
* Added a big, fat warning to get_contact as this does not work as
expected.
* There was some strangeness in our XEP-0022, it added an id tag to
the x tag, which isn't mentioned anywhere in the XEP. And for some
strange reason, that id even was the same all the time.
* Fixed a typo.
Sorry, it just wasn't maintainable. The problem is the current libotr
API. I'm sick of working around the strange libotr API, sick of getting
HTML messages, sick of losing messages. The final argument for
completely removing it was that we can't get the message ID of a sent
msg anymore - which we need. I tried to work around this as well, but
there seems to be no way to wait for a signal in glib the way I would
need it for the workaround (I wanted to emit a signal in inject_message
and then wait for it after the call to otr_message_fragment_and_send
so the signal can pass us the message id). And the last reason is that
we're heading towards a new release and thus want to stabilize the code,
thus don't have time to work around even more libotr API strangeness.
I will give feedback to the libotr developers, who are currently
planning a new API, so that we can hopefully see OTR support once again
as soon as libotr4 is released.
Kjell already announced that he will continue his branch:
https://code.launchpad.net/~afflux/gajim/otr
I really hope the libotr devs will provide a sane API with libotr4 so
we can integrate OTR support again.
Oh, and I added one more try/except block for OS X.
TODO:
* Implement section 5.
* Think of a way to show in GUI
Possible way: Grey out the sent msg until we receive a <received/>,
but only if we know the other end supports XEP-0184.
* Maybe implement section 6?
disconnection or exit. Previous version seemed perfect, but if server don't have the
same exact time than us (always), lots of messages can be logged twice. Here we will
lost log for messages that were sent beetween we lost connection and we see it. But that
seems better for me. For previous version, see [9516].
tag to outgoing messages anymore. Messages are not even passed to
libotr anymore then.
* If we don't support OTR, strip OTR tags from the message before
displaying it.
launch. This is necessary because with a big history get_last_date_that_has_logs
can take about 5 seconds on first launch.
Created new gajim subversion.
Only encrypt when the receiver is trusted. You have to sign its key or it has to be signed by someone you trust. Fixes#109
Make checkbox insensitive when GPG is disabled on an account (or no passphrase given).
Auto assign trusted keys on received presence. Deny encryption on missmatch of assigned key and signing key. Fixes#3376
Do not disable encrypted when receiving an unencrypted message. Print whether a received message was encrypted or not.
TODO: Remove togglebutton, its useless now
- Added -q, --quiet (speaks for itself)
- Added -l, --loglevel subsystem=LEVEL,subsystem2=LEVEL2,...
- Quell winsock 10035 error. (Equivalent of EINPROGRESS, but winsock likes to have its own error numbers.)
- Hide SSL certificate debug stuff unless gajim.c.x.transports loglevel is DEBUG or lower
- Avoid unicode problems if we set a profile
- Move fingerprint checks from _register_handlers to _connect_success
- Some enhancements to fpr checking code
- Add support for fingerprints to servers.xml parser.
- Add support for 'hidden' servers to servers.xml parser.
- Add some fingerprints to servers.xml, for testing and as example for the new format.
- Force asynchronous (nonblocking) SSL handshake in all case
- Add logging to c/connection.py
Known issues:
- Checking of fingerprints doesn't work on in-band SSL (Typically port 5222) because of stuff happening out of sequence. Workaround: use immediate SSL mode ("Legacy SSL" option in server config). Because there is as of yet no other way to /force/ SSL, this is also the most secure setting.
- A lot of code is still looking for a better place to live.
- In verbose mode, print encodings. (Especially for Windows users who don't have Python) (gajim.py)
- Attempt at fixing traceback when getting user's home directory in Windows. See #2812. (c/configpaths.py)
- Show 'error' icon next to account while waiting for reconnect. Fixes#2786. (c/connection_handlers.py, c/gajim.py, c/connection.py)
[PyOpenSSL]
- Fix 100% CPU usage and hanging connection when server closes connection on us. (c/x/transports_nb.py)
- Fix 'hanging' connection when server closes the connection on us before we can open the XML stream. (Disconnect handler didn't get called.) (c/x/client_nb.py)
- Change prints to logger calls, various enhancements to debug printing, reduce spam (c/x/transports_nb.py)
- this → self (c/x/transports_nb.py)
- Call _do_receive() once to collect error message from socket, when error flag is raised in scheduler. (c/x/transports_nb.py)