about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Print all error stanzasMichael Vetter2020-10-301-5/+5
| | | | | | | | | | | | | | | | | | Regards https://github.com/profanity-im/profanity/issues/1435 So far we didn't print the error if it contained `<error type="cancel">`. It appears that the code always thought this is a service-not-available (so one is either blocked or the account doesn't exist) and printed `Recipient not found`. But there can be other errors as well. Like in above mentioned issue `not-allowed`. Let's just print the text. In case of the cancel type we still remove the jid from the chat sessions. I'm not entirely sure whether this needs to be done in other cases too.
* Fixed Date format for MAM requestDebXWoody2020-10-281-2/+2
| | | | | | | | | Using g_date_time_new_now_utc instead of g_date_time_new_now_local Using g_date_time_format(timestamp, "%FT%TZ") instead of "%FT%T%:::z" Edit: DebXWoody created this patch because ejabberd returned an error with the old date format.
* xmpp/bookmark: don't use uninitialised fieldDmitry Podgorny2020-10-191-0/+1
| | | | | | | | | | When a bookmark is created with '/bookmark add' command, ext_gajim_minimize remains uninitialised in new bookmark object and is read further in _send_bookmarks(). Initialise the field with 0. Fixes #1432.
* Since the string from strerror should never be modified, use const.Philipp Klaus Krause2020-10-146-6/+6
|
* Fix use-after-free which is introduced in cons_alert()Dmitry Podgorny2020-10-091-1/+1
| | | | | | Commit f12161f fixes memory leak, but introduces use-after-free issue. Allocate new memory for win_name with g_strdup() since it is freed with g_free() later.
* Merge pull request #1426 from profanity-im/cleanup/newlibsMichael Vetter2020-10-098-51/+12
|\ | | | | Cleanup/newlibs
| * Enable _handle_ox_chat() payload/body decryptionMichael Vetter2020-10-091-3/+0
| | | | | | | | | | This part of the code was waiting for xmpp_stanza_new_from_string() from libstrophe 0.10.0.
| * Use g_date_time_format_iso8601()Michael Vetter2020-09-301-8/+2
| | | | | | | | | | | | | | | | | | This partly reverts d3a387a0ec6e5265f625de87318be2de610efb01. For proanity 0.9.x we still wanted to support older glib versions so that we can be packaged for various linux distros. Now with 0.10 we want to move on.
| * Replace stanza_get_child_by_name_and_ns with ↵Michael Vetter2020-09-306-32/+10
| | | | | | | | | | | | | | | | xmpp_stanza_get_child_by_name_and_ns Replace our own stanza_get_child_by_name_and_ns() with the upstreamed xmpp_stanza_get_child_by_name_and_ns() provided by the new libstrophe/libmesode 0.10.0.
| * Require libstrophe/libmesode 0.10.0Michael Vetter2020-09-301-8/+0
| |
* | Fix memleak in cons_alert()Michael Vetter2020-10-071-0/+2
|/ | | | Close https://github.com/profanity-im/profanity/issues/1427
* Avoid passing NULL pointers to curses functions.nia2020-09-043-9/+23
| | | | | | | | This allows profanity to work without segfaulting from NULL pointer dereferences when used with NetBSD libcurses. Basic functionality was tested, there may be more NULL pointer issues hiding.
* Basic support for building on NetBSD.nia2020-09-0412-0/+24
| | | | | | - Add NetBSD as a recognized platform without -ldl. - Allow building with NetBSD libcurses instead of ncurses. - Portability to NetBSD sh - use POSIX '=' instead of '=='.
* Fix memory leak in _handle_chat()Dmitry Podgorny2020-08-071-21/+7
| | | | | jid_create() for attribute "to" was called twice and the 1st object was lost.
* database: Only insert if there is no entry with same archive_idMichael Vetter2020-07-231-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | archive_is is <stanza-id> or <result id=""> and should identify one message stable and uniquely. See XEP-0359: Unique and Stable Stanza IDs. We need this for example for this situation: * we go online with Profanity * we fetch all messages since yesterday * we add them to the db * we go offline * we go online with Profanity * we fetch all messages since yesterday * we only want to add the new ones So far we don't ask MAM "give me all since last 'id'" but since a certain date. In case no archive_id will be set, it will be `(null)` and thus should be inserted anyways because it won't find a value with (null) in that row. Because when adding we use `message->stanzaid ? message->stanzaid : "",` so it will be empty in such a case. Regards MAM: https://github.com/profanity-im/profanity/issues/660 Regards Stable IDs: https://github.com/profanity-im/profanity/issues/1207
* Parse stanza-idMichael Vetter2020-07-233-6/+40
| | | | | | | | | | | | Add stable stanza IDs to ProfMessage struct. We parse this for 1:1 messages (MUC needs to be done too). <stanza-id> for live messages <result id="x"> for MAM messages Regards MAM: https://github.com/profanity-im/profanity/issues/660 Regards Stable IDs: https://github.com/profanity-im/profanity/issues/1207
* Fix memleak in win_print_outgoing_with_receipt()Michael Vetter2020-07-231-0/+1
| | | | | | We should actually process the receipts also in LMC I think. Regards https://github.com/profanity-im/profanity/issues/805
* parser.c: Use glibMichael Vetter2020-07-231-4/+4
| | | | | | | | We use malloc() to allcoate memory for the arguments. But later on in cmd_funcs.c we use g_strfreev() to free it. Let's use g_malloc() to allocate instead. Second change is to use g_malloc() and g_free() for a gchar.
* Fix /correct quotation marks usageMichael Vetter2020-07-234-2/+29
| | | | | | | Add new `parse_args_as_one()` function to just use everything after the command as the argument. Fix https://github.com/profanity-im/profanity/issues/1404
* Fix lastactivity behaviourMichael Vetter2020-07-223-27/+68
| | | | | | | | | | | | | Autocomplete only completed on|off. Now: `/lastactivity get` -> get server uptime `/lastactivity get <jid>` -> get user lastactivity `/lastactivity set on` -> enable for self `/lastactivity set off` -> disable for self Fix https://github.com/profanity-im/profanity/issues/1411
* Expand /lastactivity helpMichael Vetter2020-07-221-1/+1
|
* Fix missed text in #1224Licaon_Kter2020-07-221-1/+1
|
* parser.c: Use helper function to reduce duplicate codeMichael Vetter2020-07-211-143/+50
| | | | | | | | | | `parse_args()` and `parse_args_with_freetext()` shared a lot of common code. Let's have a helper function `_parse_args_helper()` for that. The `with_freetext` parameter will make it behave like `parse_args_with_freetext()`. In preparation for https://github.com/profanity-im/profanity/issues/1404
* parse_args(): Call g_free() onceMichael Vetter2020-07-211-3/+2
|
* Use parse_args_with_freetext() for `/correct`Michael Vetter2020-07-202-3/+3
| | | | | | | | | | | | | This commit partly reverts 8f37afcd37ad8663ca36c13ca7fbc4a431119f73 Which was using a wrong approach to achieve this. It changed parse_args() to have a -1 for infinite parameters. But actually parse_args_with_freetext() should have been used exactly for this behaviour. Discovered when checking for https://github.com/profanity-im/profanity/issues/1404
* bookmark_ignore.c: use gchar instead of charMichael Vetter2020-07-201-7/+7
|
* Fix typo in commentMichael Vetter2020-07-151-1/+1
|
* Add comment to easily find where to put the next commandMichael Vetter2020-07-151-0/+2
|
* Format cmd_defsMichael Vetter2020-07-151-1942/+2037
| | | | | Format it more readable and disable clang for this part. Was messed up in 9b55f2dec0ea27a9ce4856e303425e12f866cea2.
* Remove `/tiny` commandMichael Vetter2020-07-105-215/+0
| | | | | | boothj5 gave his okay too. Fix https://github.com/profanity-im/profanity/issues/1370
* Merge pull request #1403 from wstrm/fix-error-no-freeMichael Vetter2020-07-101-0/+4
|\ | | | | Free errors after they have been printed
| * Free errors after they have been printedWilliam Wennerström2020-07-101-0/+4
| |
* | Add forgotten file..Michael Vetter2020-07-101-2/+2
| | | | | | | | Belongs to 95ab7ee062b9fbeea73b90f69c6fef3325f880c9
* | Setting: only write in console upon muc mentionMichael Vetter2020-07-104-5/+16
|/ | | | | | `/console muc mention` additionally to `first|none|all`. Fix https://github.com/profanity-im/profanity/issues/1371
* Merge branch 'master' of github.com:profanity-im/profanityMichael Vetter2020-07-109-72/+132
|\
| * Pass window to functions so we dont have to call twiceMichael Vetter2020-07-095-18/+17
| |
| * Dont hilight console once all messages have been readMichael Vetter2020-07-097-63/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we receive a message we get: << room message: eagle@conference.anoxinon.me (win 2) Same for private chats and regular chats. And several other kinds of notifications. If we only receive notifications from a chat window it would be nice to also clear the hilight on the console window since we already catched up by reading the actual message in the chat window. Probably not the best description :-) I hope you get it.. Regards https://github.com/profanity-im/profanity/issues/1399
* | ox review: Use english not germanMichael Vetter2020-07-101-5/+5
| |
* | OX: XEP-0373: OpenPGP for XMPP - Version 0.5.0 (2020-06-19)DebXWoody2020-07-106-13/+298
|/ | | | | | | | | | | Discovering Public Keys via PEP * 4.3 Discovering Public Keys of a User * 4.4 Requesting Public Keys * Import Public Keys into GnuPG's local keyring. Issue: #1331
* Make _show_roster_contacts staticMichael Vetter2020-07-091-2/+2
|
* Apply coding styleMichael Vetter2020-07-07147-14632/+14792
|
* OX: Fix testsMichael Vetter2020-07-071-1/+2
| | | | | | | | Fix: ``` /usr/bin/ld: src/xmpp/ox.o: in function `ox_announce_public_key': src/xmpp/ox.c:90: undefined reference to `p_ox_gpg_readkey' ```
* Revert "Apply coding style"Michael Vetter2020-07-07148-15136/+14988
| | | | | | This reverts commit 9b55f2dec0ea27a9ce4856e303425e12f866cea2. Sorting the includes creates some problems.
* Apply coding styleMichael Vetter2020-07-07148-14988/+15136
| | | | Regards https://github.com/profanity-im/profanity/issues/1396
* OX: Announce public key on PEPDebXWoody2020-07-066-2/+395
| | | | | | | | | | | | | | | src/pgp/gpg.c:p_ox_gpg_readkey Used to read a public key from a file. The function will return the fingerprint of the file and the base64 encoded key. src/xmpp/ox.[hc] ox_announce_public_key(const char* const filename) can be called from the /ox announce <filename> command. The key within the file will be pushed on PEP and the Metadata node will be set. Issue: #1331
* Log errors from eval_passwordWilliam Wennerström2020-07-061-1/+2
| | | | | All errors were discarded to /dev/null if the error_ptr was set to NULL.
* Merge branch 'master' of github.com:profanity-im/profanityMichael Vetter2020-07-062-4/+5
|\
| * Merge pull request #1386 from DebXWoody/masterMichael Vetter2020-07-062-4/+5
| |\ | | | | | | Rework logging
| | * Rework loggingStefan Kropp2020-07-032-4/+5
| | | | | | | | | | | | | | | | | | Changed default logging from INFO to WARN. Issue: #1353
* | | Plain chat messages not workingDebXWoody2020-07-061-4/+9
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plain chat messages not working for non-carbon + no OTR support. On master we did some clean-up. The problem is at https://github.com/profanity-im/profanity/blob/0.9.patch/src/event/server_events.c#L625 (0.9.0). The implementation looks like: - HAVE_LIBOTR is set - _sv_ev_incoming_otr - HAVE_LIBOTR is not set - _sv_ev_incoming_plain I think the `_sv_ev_incoming_otr` can handle otr and plain, because I didn't find a `_sv_ev_incoming_plain` if `HAVE_LIBOTR` is set. On master for 0.10.0 the implementation is much better: https://github.com/profanity-im/profanity/blob/master/src/event/server_events.c#L623 But, we just call `_sv_ev_incoming_otr` independent of `HAVE_LIBOTR`. Unfortunately, `_sv_ev_incoming_otr` is doing nothing if `HAVE_LIBOTR` is not set: https://github.com/profanity-im/profanity/blob/master/src/event/server_events.c#L538 I did some more clean-up at sv_ev_incoming_message and changed the implementation of `_sv_ev_incoming_otr`. ``` static void _sv_ev_incoming_otr(ProfChatWin *chatwin, gboolean new_win, ProfMessage *message) { // OTR or plain plain } ``` The caller do not take care of `HAVE_LIBOTR`, call `_sv_ev_incoming_plain` if you are sure it's a plain message or call `_sv_ev_incoming_otr`. `_sv_ev_incoming_otr` can be used for otr / plain or for plain only.