1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00
Commit Graph

6052 Commits

Author SHA1 Message Date
Michael Vetter
6ada720e18 executable: actually take the user set default if a certain scheme is
not found
2020-07-02 10:59:45 +02:00
Michael Vetter
7de83217c4 executable: Use DEF instead of * as default
So far:
```
/executable urlsave html "test %u" results in url.save.cmd[html]=test %u
/executable urlsave * "test %u" results in nothing.
```

Probably due to limitation in .ini file format.
2020-07-02 10:58:54 +02:00
Michael Vetter
59f5b81b85 cmd_url_*(): use gchar instead of char 2020-07-02 10:58:31 +02:00
Michael Vetter
1e2a288d80 Use correct format when transforming old urlopen.cmd
Additionally to ec7e635e75.

In the earlier commit I just setted the test value ignoring the real
format.

Now we correctly transform:

```
[logging]
urlopen.cmd=xdg-open
```

into:

```
[executables]
url.open.cmd=false;xdg-open %u;
```
2020-07-02 10:22:18 +02:00
Michael Vetter
b45384902d cmd_url_open(): fix memleak 2020-07-02 10:10:53 +02:00
Pierre Mazière
274e695320 use '*' to set a default executable
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-07-02 09:52:43 +02:00
Pierre Mazière
e96678e6a5 fix examples for /executable
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-07-02 09:52:28 +02:00
Michael Vetter
2fc5a2ee54 cmd_url_*(): remove NULLing when not needed 2020-07-01 17:00:11 +02:00
Michael Vetter
780ee74177 cmd_executable(): Check arg lengths 2020-07-01 16:10:27 +02:00
Michael Vetter
8be1e44cea Adjust /executable test to be more precise 2020-07-01 15:42:26 +02:00
Michael Vetter
ec7e635e75 Move url/avatar commands from logging to exectuables section
c56d530b67 by peetah moves:
urlopen.cmd from the 'logging' to a new 'executables' section in profrc
avatar.cmd from the 'logging' to a new 'executables' section in profrc

We need to adapt this so that users don't have to set the setting again
themselves.
2020-07-01 15:29:57 +02:00
Michael Vetter
2b5160a351 console.c: Use prefs_free_string()
f9961677aa  replaces prefs_free_string()
with g_free(). Both is correct but lets still use this.
2020-07-01 14:50:07 +02:00
Michael Vetter
b580b9ef11 prefs_free_string() doesnt need to check if pref is NULL
g_free(NULL); is noop.
2020-07-01 14:42:35 +02:00
Pierre Mazière
233494d01e Display a message acknowledging file saving success
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:03:34 +02:00
Pierre Mazière
f9961677aa Display default value for /url associated commands
The display of commands associated with specific file
types and protocols will need to be implemented later,
but this requires to use private data of the GKeyFile
structure, which can be a maintainability issue on the
long term.

Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:03:20 +02:00
Pierre Mazière
bcea9c863b Add /url autocompletion
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:03:20 +02:00
Pierre Mazière
c56d530b67 Replace /urlopen with /url and adapt /executable
/urlopen is replaced by /url with the following sub commands:
/url open <url>
/url save <url> [<path>]

Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:03:04 +02:00
Pierre Mazière
7e652f4ca0 Add string and string list preferences with option
Where GKeyFile usually use the pref[locale] format to define
locale specific translated data, it is here hijacked to be used
as pref[option] in order to specialize a preference according
to an option:

open.url.cmd[pdf] = pdf-viewer
open.url.cmd[jpg] = image-viewer

Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:03:04 +02:00
Pierre Mazière
96c877de80 Refactor cmd_urlopen
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:03:01 +02:00
Pierre Mazière
64eb11fbaf Add aesgcm to urls grabber
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2020-06-25 15:02:56 +02:00
Michael Vetter
906c020155 Start new cycle 2020-06-24 13:57:05 +02:00
Michael Vetter
1332a4a6c2 Release 0.9.4 2020-06-24 13:56:34 +02:00
Michael Vetter
34be63f514
Merge pull request #1373 from profanity-im/cygwin-notify
Fix gcc warnings for cygwin
2020-06-24 13:50:24 +02:00
Dmitry Podgorny
09e12a826f Fix gcc warnings for cygwin
strncpy(3) is not so safe function and can lead to mistakes. For
example, strncpy(dest, "Profanity", 10); is redundant and leads to
problems when someone changes the source string.

Different example is when 3rd argument equals to length of the
destination buffer. strncpy(3) doesn't terminate string with '\0' when
it truncates. Therefore, the destination string becomes corrupted.

Zeroize storage for 'nid', so the last byte remains '\0' in case of
truncate.
2020-06-24 16:29:19 +03:00
Michael Vetter
5d8f3f2791
Merge pull request #1372 from profanity-im/missed-string-h
Add missed string.h
2020-06-24 09:51:54 +02:00
Dmitry Podgorny
ca3da61776 Add missed string.h
strdup(3) requires string.h
2020-06-24 03:07:53 +03:00
Michael Vetter
b79d7e8752 Fix NULL terminated list
Regards https://github.com/profanity-im/profanity/issues/1367
2020-06-23 14:42:09 +02:00
Michael Vetter
9eb2b79f53 Start new cycle 2020-06-19 20:34:29 +02:00
Michael Vetter
177c953991 Release 0.9.3 2020-06-19 20:29:31 +02:00
Michael Vetter
448f7f0936 Use shell to start eval_password command
Since d92c576aa5
we rely on g_spawn_sync().
Which doesn't do variable/glob expansion.

For our use of call_external() in opening and URL or avatar this is
fine.

For getting the password we want to be able to use ~ for our files.
Let's use a shell here.

Fix https://github.com/profanity-im/profanity/issues/1364
2020-06-19 20:17:20 +02:00
Michael Vetter
cffce4de8a
Merge pull request #1365 from profanity-im/segfault
Fix possible segfault in xmpp/message.c
2020-06-16 14:25:50 +02:00
Dmitry Podgorny
409bbd6f2d Fix possible segfault in xmpp/message.c
Check for pointer to be NULL before dereferencing it.
2020-06-16 17:52:01 +03:00
Michael Vetter
5d5acd65b1 Start new cycle 2020-06-13 18:38:37 +02:00
Michael Vetter
c58726d67f Release 0.9.2 2020-06-13 18:37:51 +02:00
Michael Vetter
e07da412b7 Use gnu99 standard
With recent changes to c99 and -D_POSIX_C_SOURCE=200809L we get the following:

openSUSE TW CI sais:
```
Now you can run `make' to build profanity

In file included from /usr/include/python2.7/Python.h:8,

                 from src/plugins/python_plugins.c:37:

/usr/include/python2.7/pyconfig.h:1226: error: "_POSIX_C_SOURCE" redefined [-Werror]

 1226 | #define _POSIX_C_SOURCE 200112L

      |

<command-line>: note: this is the location of the previous definition

In file included from /usr/include/python2.7/Python.h:8,

                 from src/plugins/python_api.c:37:

/usr/include/python2.7/pyconfig.h:1226: error: "_POSIX_C_SOURCE" redefined [-Werror]

 1226 | #define _POSIX_C_SOURCE 200112L

      |

<command-line>: note: this is the location of the previous definition

cc1: all warnings being treated as errors
```

OpenBSD CI sais:
```
cc1: warnings being treated as errors
src/database.c: In function 'log_database_get_previous_chat':
src/database.c:226: warning: implicit declaration of function 'asprintf'
gmake[1]: *** [Makefile:1924: src/database.o] Error 1
gmake[1]: Leaving directory '/home/build/profanity'
gmake: *** [Makefile:1211: all] Error 2
```

Let us use gnu99. Has been proposed before already and is fine.

Regards https://github.com/profanity-im/profanity/issues/1357
Regards https://github.com/profanity-im/profanity/pull/1351
2020-06-13 15:58:01 +02:00
Michael Vetter
914c6752dd Fix reading/writing linked files
"base" was not really base but the filename :-)

Fix https://github.com/profanity-im/profanity/issues/1362
2020-06-13 15:02:43 +02:00
Michael Vetter
74e061165a Define POSIX macro to have strdup
98c38dc6d6
sets C99 as standard.

strdup() is not part of C99.

For now set `-D_POSIX_C_SOURCE=200809L` macro to have strdup() in C99.
Using `gnu99` instead would be another option.

We should take more care to use glib functions whenever possible.

Regards https://github.com/profanity-im/profanity/issues/1357
2020-06-12 16:12:21 +02:00
Michael Vetter
f1141932fc Dont manipulate pointer from getenv
Found this when looking to fix bug https://github.com/profanity-im/profanity/issues/1357
Not sure if it is related.

man 3 getenv sais:
```
As  typically implemented, getenv() returns a pointer to a string within
the environment list.  The caller must take  care  not  to  modify  this
string, since that would change the environment of the process.
```
2020-06-12 10:23:31 +02:00
Michael Vetter
74ff38f0bd Start new cycle 2020-06-11 10:07:51 +02:00
Michael Vetter
8551d3dcb1 Release 0.9.1 2020-06-11 10:06:56 +02:00
Michael Vetter
be0b5bb2d1
Merge pull request #1360 from profanity-im/legacy-auth
Make legacy auth optional
2020-06-11 08:54:05 +02:00
Dmitry Podgorny
424918c5ed Make legacy auth optional
Some systems don't provide recent libstrophe releases. When older
version of libstrophe is detected, don't build legacy auth support.

To simplify this patch, report about unsupported legacy auth and
keep commands option as is.
2020-06-11 02:51:07 +03:00
Michael Vetter
c0163f71f7 Start new cycle 2020-06-09 16:54:35 +02:00
Michael Vetter
c4339b4ff9 Release 0.9.0 2020-06-09 16:52:09 +02:00
Michael Vetter
08e035dea0 Improve CHANGELOG 2020-06-09 16:42:24 +02:00
Michael Vetter
439c6a63b9 Correct and update manpage 2020-06-09 16:34:34 +02:00
Michael Vetter
2d49d68d84 Add 0.9.0 CHANGELOG 2020-06-09 16:25:02 +02:00
Michael Vetter
10cdb06948
Merge pull request #1356 from wstrm/bump-openbsd-6.7
Bump OpenBSD build to 6.7
2020-06-06 15:08:24 +02:00
William Wennerström
4507be2aa8
Bump OpenBSD build to 6.7 2020-06-06 11:53:24 +02:00
Michael Vetter
28bdbf8ea1 Bump libstrophe requirement to 0.9.3
legacy auth (ac410445af) requires
libstrophe 0.9.3 because of XMPP_CONN_FLAG_LEGACY_AUTH.
2020-06-05 19:37:53 +02:00