Commit Graph

183 Commits

Author SHA1 Message Date
Philipp Hörist fec3fe9605 Fix db migration 2017-10-08 14:03:37 +02:00
Philipp Hörist ed6278aeb3 Move Presence code into ConnectionHandlers 2017-10-08 11:26:33 +02:00
Philipp Hörist 21db50bbaa Move IQ Handler into ConnectionHandlers 2017-10-08 11:26:33 +02:00
Philipp Hörist a01cdbf271 Refactor Avatars
- Add support for Pubsub Avatars
- Dont poll for vCard Updates, only use XEP-0153
- Dont cache vCards
- Store the avatar SHA of roster contacts in the DB
- Store the current SHA of each contact in the Contacts Object
- Move some code into the ConnectionVcard Class
2017-10-08 11:26:28 +02:00
Philipp Hörist 68f13788ed Add avatar_sha field to Cache DB 2017-10-08 11:25:49 +02:00
André Apitzsch c758da1123 Replace make_color_string() by Gdk.RGBA method 2017-10-07 17:03:31 +02:00
André Apitzsch 749a01a276 Simplify check_X509.py
as pyasn1 and pyOpenSSL are required now
2017-10-05 21:58:45 +02:00
Yann Leboulanger 6d10a5e2cf fix translation strings 2017-10-03 12:36:31 +02:00
Philipp Hörist 69248b2fe7 Fix pylint/pep8 errors 2017-09-29 00:11:29 +02:00
Philipp Hörist 3e764c3d35 Fix some logging calls
- Add logging domain to some modules
- Log to module domain instead of generic 'gajim'
2017-09-26 07:14:01 +02:00
André Apitzsch 5819f7e439 setup.py: move plugins directory to data directory 2017-09-22 21:48:18 +02:00
André Apitzsch 06102e7d97 Linux: fix translation issue 2017-09-22 19:12:26 +02:00
André Apitzsch 624bee755c fix file lookup location and other issues 2017-09-22 19:12:26 +02:00
Philipp Hörist b60fe02680 Use own module logger for connection_zeroconf 2017-09-22 00:07:48 +02:00
Yann Leboulanger 66e9bc4e03 Merge branch 'master' into 'gnotification'
# Conflicts:
#   gajim/gajim.py
2017-09-21 20:44:18 +02:00
Yann Leboulanger 28184273e6 annouce XEP-0380 support 2017-09-21 20:36:45 +02:00
Philipp Hörist 7e475705c9 Add simple log instance getter 2017-09-21 19:49:07 +02:00
Yann Leboulanger 0c167b6561 Merge branch 'master' into 'master'
implement XEP-0380. Fixes #8734

Closes #8734

See merge request !133
2017-09-21 17:28:32 +02:00
Yann Leboulanger 3e1ea4a3dc implement XEP-0380. Fixes #8734 2017-09-21 17:19:25 +02:00
Yann Leboulanger ab60bcbe85 PyOpenSSL removed rand module. Stop using it. Fixes #8731 2017-09-20 11:39:55 +02:00
Philipp Hörist f6deff2cd0 Fix import 2017-09-19 22:06:21 +02:00
Philipp Hörist 267dd73fcb Catch LibSecret errors 2017-09-19 22:04:39 +02:00
Yann Leboulanger 84060484c4 Remove more Gmail things 2017-09-19 15:52:53 +02:00
Yann Leboulanger a378152a9c Remove Gmail special options 2017-09-19 15:44:58 +02:00
Yann Leboulanger 152be4473b Fix some strings for a better translation 2017-09-19 12:45:02 +02:00
Philipp Hörist b93098a379 Dont use Resolver when using a proxy
This leaks the DNS request
2017-09-17 14:02:01 +02:00
Philipp Hörist 2c9d5d838b Fix Resolver Test 2017-09-17 10:43:10 +02:00
Philipp Hörist cf61eac086 Merge branch 'moveData' into 'master'
Move data files to module

See merge request !132
2017-09-16 16:34:45 +02:00
Philipp Hörist dfdeb65e8f New AccountsWindow 2017-09-16 15:55:32 +02:00
André Apitzsch 0080c61014 Install data to new location 2017-09-16 12:18:22 +02:00
Philipp Hörist 41b977b914 Add option to disable ascii emoticons 2017-09-15 23:22:47 +02:00
Yann Leboulanger 083e3017ab Use GNotification instead of pynotify or dbus 2017-09-13 21:20:37 +02:00
Philipp Hörist 995ade8a11 Only log for GC Message for one account 2017-09-07 16:42:51 +02:00
Philipp Hörist 1a0b7ee163 Dont lose own JID from bind
_registered_name is None on a smacks resume.

Gajim creates on every connection attempt a new nbxmpp.NonBlockingClient
instance. This is why _registered_name is None when we go through a
smacks resume, because there is no bind event, and the new NonBlockingClient
instance has no knowledge of the previous successful bind.
2017-09-06 21:26:40 +02:00
Philipp Hörist 8bc2ab096e Add more log output in case we drop carbons 2017-09-03 22:35:56 +02:00
Philipp Hörist 4372b67433 Refactor AboutDialog
- Move Credits to const.py
- Minor Refactoring
2017-09-02 11:22:18 +02:00
Philipp Hörist ec1d75f15b Fix typo in link 2017-08-27 22:41:11 +02:00
Philipp Hörist 298fa4b96d Update old trac links 2017-08-27 22:32:33 +02:00
Yann Leboulanger d6a8a238f8 Merge branch 'os_info' into 'master'
common.helpers: simplify get_os_info()

See merge request !122
2017-08-27 22:22:02 +02:00
Emmanuel Gil Peyrot 63947c42e4 dataforms: Replace @nested_property with @property. 2017-08-27 20:57:35 +01:00
Yann Leboulanger b4362a8a97 ignore some pylint errors 2017-08-27 21:37:19 +02:00
André Apitzsch 66b49c243c common.helpers: simplify get_os_info() 2017-08-26 00:19:32 +02:00
Yann Leboulanger 134f72db17 Hide some pylint errors 2017-08-24 23:20:35 +02:00
Yann Leboulanger 8d4e815f3e fix some pylint errors 2017-08-24 23:01:06 +02:00
André Apitzsch 663176cfc5 fix some import warnings and errors pointed out by pylint 2017-08-24 01:18:01 +02:00
Philipp Hörist 1a352c0e47 Zeroconf: Call method with correct arguments 2017-08-23 23:34:16 +02:00
Philipp Hörist 28045e9d36 Resolver: Raise correct error 2017-08-23 23:29:38 +02:00
Philipp Hörist 95f4703de2 Fix unexpected-keyword-arg 2017-08-23 20:24:55 +02:00
Philipp Hörist 26dda61555 Fix undefined-variable 2017-08-23 20:15:32 +02:00
Yann Leboulanger ce719a8317 No need to have one sleepy instance per connection object 2017-08-22 21:55:18 +02:00
Yann Leboulanger 07ba85b456 Ability to be notified on all message. Option is now perroom. Fixes #8646 2017-08-20 23:07:58 +02:00
Philipp Hörist e8399dc2ed Fix wrong call to Sleepy()
And place a log call so we can gather exceptions to lose the
general exception in the future.
2017-08-19 22:32:50 +02:00
André Apitzsch 89c7eb6e6a Rename gajim.common.gajim to avoid name conflicts 2017-08-18 20:03:20 +02:00
André Apitzsch 675ebe54dd Up Gajim version to 0.16.11 2017-08-18 19:48:48 +02:00
André Apitzsch efec098aef Use absolute imports 2017-08-18 19:48:48 +02:00
Yann Leboulanger 43fbcbf8cf remove call to old XEP-0136 function 2017-08-17 22:18:35 +02:00
Yann Leboulanger cfbf45cdf7 add missing config options to save pm position and size 2017-08-17 15:03:40 +02:00
Yann Leboulanger 2bb5ad7bca fix DnD of files on roster 2017-08-16 23:06:05 +02:00
Yann Leboulanger 09bcbc0cef Forget all unused streamhosts when we use one of our proposed streamhosts 2017-08-16 23:05:43 +02:00
Yann Leboulanger 21e144d89d use correct SID in Jingle FT to compute hostname of SOCKS5 connection. Fixes #8703 2017-08-16 15:27:35 +02:00
Yann Leboulanger 9ce6299e1a use netifaces to get local IPs if available. Fixes #8666 2017-08-14 18:37:11 +02:00
Yann Leboulanger d994845212 Revert "use netifaces to get local IPs if available. Fixes #8666"
This reverts commit b9c363e9cd.
2017-08-14 18:36:40 +02:00
Yann Leboulanger b9c363e9cd use netifaces to get local IPs if available. Fixes #8666 2017-08-14 16:43:44 +02:00
Yann Leboulanger f8383954e3 Fix socks5 problem:
receive() returns bytes, not str
2017-08-14 14:44:04 +02:00
Yann Leboulanger bda11b7d39 Merge branch 'master' into 'master'
rework password interface. Fixes #8347

Closes #8347

See merge request !117
2017-08-14 10:15:07 +02:00
Yann Leboulanger 89d3c3af14 rework password interface. Fixes #8347 2017-08-13 14:22:28 +02:00
Yann Leboulanger 43b3d1bd83 unify cid -> candidate_id 2017-08-12 22:55:17 +02:00
Yann Leboulanger baa54f5010 Merge branch 'use_precis' into 'master'
Use precis instead of stringprep when available. Fixes #8566

See merge request !116
2017-08-12 14:55:08 +02:00
Yann Leboulanger af547a1827 don't close the socket we're using to tranfer file. Fixes #8657 2017-08-12 14:40:26 +02:00
Yann Leboulanger b6189a60cf use idna python module to check domainpart when available 2017-08-11 08:12:00 +02:00
Yann Leboulanger 1a2ac87f46 use precis_i18n instead of stringprepare when available to sanitize JIDs 2017-08-11 08:11:52 +02:00
Philipp Hörist c57af6dade Retract nickname from pubsub correctly 2017-08-08 19:58:20 +02:00
Philipp Hörist f3bdb596bd Refactor remove_roster()
- Execute as script to save roundtrips
2017-08-08 18:53:25 +02:00
Philipp Hörist 10b0865291 Refactor set_room_last_message_time()
- Dont depend on get_jid_id(), this saves roundtrips
2017-08-08 18:22:29 +02:00
Philipp Hörist c53e2b1bb9 Dont try to insert if JID is already in DB
- This is added because even an ignored INSERT raises the
autoincrement value of the table.
This means the jid id gets high really fast.
2017-08-08 18:22:29 +02:00
Philipp Hörist f88e8d835b Remove old DB methods 2017-08-08 18:22:29 +02:00
Philipp Hörist 8c920b35ff Move logging GC messages into connection_handlers
- It should be where all other message received handlers are
- Port to new DB API
2017-08-08 15:24:41 +02:00
Philipp Hörist 608655deed Use new DB API for logging status and errors 2017-08-08 14:41:55 +02:00
Philipp Hörist 413c7f52d7 Add senders attr to Jingle FT
This is a MUST see https://xmpp.org/extensions/xep-0234.html

Fixes #8662
2017-08-07 17:41:32 +02:00
Philipp Hörist a2e2fb2ed1 Remove useless code
Simplify whats left
2017-08-02 23:40:55 +02:00
Philipp Hörist 9d2898bb35 Log sent messages with new logger method
- also save stanza id to the DB
2017-08-02 23:34:24 +02:00
Philipp Hörist a01611178d Logger: dont try to parse None with json 2017-08-02 21:32:59 +02:00
Philipp Hörist 0c6002b9ac Zeroconf: handle only zeroconf messages 2017-08-02 21:03:12 +02:00
Philipp Hörist 97f6b84b90 Remove old unused code 2017-08-02 19:24:09 +02:00
Philipp Hörist 6f3c21118f Stay compatible to python 3.4
Fixes #8690
2017-08-02 18:57:02 +02:00
Philipp Hörist 651611b28b Improve timestamp usage for MAM
- Use new parse_datetime() method
- Drop message with error if MAM doesnt supply a timestamp.
- If the user supplys an own timestamp, save it so we can decide in the
future how to display it.
2017-08-01 21:43:28 +02:00
Philipp Hörist e24d4f8caf Fix receiving MAM Messages from ourself
This is a regression from the refactoring
2017-08-01 21:39:11 +02:00
Philipp Hörist 1f5e927ca6 Use new DB methods for MAM Messages
- also push a new MamDecryptedMessageReceived
event after disco instead of writing directly to the DB
2017-08-01 21:39:11 +02:00
Philipp Hörist 16fd64873e Add new logger methods
Goal is to make the logger module easier to maintain in the future

- extract deduplication out into a own method, so we can use it
on its own in some other places.

- add new insert_into_logs() method
the DB fields we want to write to are passed as arguments, this makes
it so we dont have to change the method when we add or remove DB fields
in the future.

- instead of using get_jid_id() all around gajim to get the jid_id
before we write to the DB, we only have to pass the jid to
insert_into_logs(), it makes sure to get the correct jid_id or add
one in case it doesnt exist.
2017-08-01 21:39:06 +02:00
Philipp Hörist 6925ce0628 Merge branch 'master' into 'master'
Add a new XEP-0082 parsing method

See merge request !111
2017-08-01 20:57:15 +02:00
Philipp Hörist 0fee27928d Add a new XEP-0082 parsing method
This handles every possible XEP-0082 timestamp

It has some additional options:

- Check if a timestring is a valid UTC timestamp, as required by some
XEPs (for example: XEP-0203)
- Return timestamp as datetime in UTC
- Return timestamp as datetime in localtime
- Return timestamp as epoch
2017-08-01 20:53:00 +02:00
Philipp Hörist e493606070 Fix typo 2017-07-31 19:30:18 +02:00
Yann Leboulanger 6a95fe79ae Merge branch 'xep-0319' into 'master'
Xep 0319

See merge request !110
2017-07-31 19:16:27 +02:00
Yann Leboulanger 28917aaf56 Do not use XEP-0012 anymore to know idle time. Use XEP-0319 2017-07-31 19:14:12 +02:00
Philipp Hörist 81566df8a1 Fix some regressions with MAM
- On single messages use the bare JID for DB querys
- Add more debug logging
- Some light refactoring
2017-07-30 23:04:50 +02:00
Philipp Hörist c1decf682b Adapt to latest nbxmpp changes 2017-07-29 21:35:45 +02:00
Philipp Hörist 9bca51eb69 Implement XEP-0359 Stable Stanza IDs
- This allows us to better deduplicate Messages on MAM syncs
2017-07-28 14:03:14 +02:00
Philipp Hörist 8558a43651 Update config setting description
We dont use 0136 anymore
2017-07-28 00:34:18 +02:00
Philipp Hörist 9ff601d03b Remove XEP-0136 support 2017-07-28 00:07:49 +02:00
Philipp Hörist 1e313cc7e2 Improve getting own jid
We get our full JID on the bind event.
After that it is saved in the `registered_name` attr on the Connection
Object.

In case the bind never occured we get the bare JID from config.
2017-07-27 22:14:29 +02:00