1547 Commits

Author SHA1 Message Date
Stephan Brunker
6036d62d82 media: added option to disable multiselection (still on by default) 2020-06-04 23:51:13 +02:00
Stephan Brunker
ac6c2d5269 serendipity_fetchUsers: fix SQL syntax error (WHERE statement twice) 2020-06-04 23:40:56 +02:00
Stephan Brunker
e893914c7c media: fixup empty selection for upload and empty multiselection issues 2020-05-29 22:16:17 +02:00
onli
17761c6214 Show a warning in the ugprader when plugins are not current (#477) 2020-05-29 11:25:24 +02:00
onli
5d67e35f24 Give plugins a way to skip the stored trackback detection (#440) 2020-05-28 16:17:16 +02:00
onli
cb5e99013e Allow https as trackback url origin 2020-05-28 14:33:47 +02:00
onli
0ad7691634 Show an error message when the sqlite database is readonly (#427) 2020-05-28 14:07:36 +02:00
onli
0def9e991f MySQL: Set charse tto ut8mb4, needed for some versions (#394) 2020-05-28 11:59:12 +02:00
Stephan Brunker
0409717586 media_upload: check for empty file input 2020-05-27 21:49:14 +02:00
Stephan Brunker
8e24108b88 admin/entries.inc.php: strip multilingual from iframe entry 2020-05-27 21:49:14 +02:00
Stephan Brunker
0cf227f335 Totally resorted the language files, added subscription strings 2020-05-27 21:49:11 +02:00
onli
5ec1754434 Stop appending * to search terms (fixes #704) 2020-05-03 13:52:05 +02:00
Eike Rathke
906239faa1 Set hashtype = 2 when converting from MD5
Otherwise we'd end up with an attempt to authenticate with SHA1 against
BCRYPT that never succeeds, see
https://board.s9y.org/viewtopic.php?t=24720
2020-04-26 22:01:25 +02:00
Thomas Hochstein
c694fb0f45 Fix regexp to truncate media extensińs to 5 chars.
See 4ee1066b8996bada7f2e0beea5e8474ccb579ba2
and https://gist.github.com/mmitch/5b466e6f89efc6dccd7dce2cf7d72742

Thanks to @mmitch!

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-04-20 08:44:30 +02:00
Stephan Brunker
0d7f55e616 fix oddments in admin/users and admin/entries 2020-04-14 13:56:45 +02:00
Thomas Hochstein
9b65e717c1 Add note to serendipity_fetchEntries().
I think that will help to think about the
context of serendipity_fetchEntries() calls.

Closes #693.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-04-11 12:53:09 +02:00
Thomas Hochstein
93ba22c8d4 Don't fallback to last page if $totalPages < 1.
See #693 for context. That should at least
avoid SQL errors.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-04-11 12:47:55 +02:00
Stephan Brunker
aff7f2ed9c functions_entries: use rewriteURL function for comment submit link 2020-04-06 19:36:10 +02:00
Thomas Hochstein
e288d7e43e Fix display of upgrade notification.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-04-03 09:15:33 +02:00
onli
de29be7287 Drop unused is_utf8 variable 2020-03-28 13:37:12 +01:00
onli
b718cf7726 Only set mysqli_set_charset when covnersion is enabled
This restores the behaviour from before the move to utf8mb4 and should help legacy blogs not having charset issues, that went from latin1 to utf8 to now utf8mb4
2020-03-28 13:31:49 +01:00
Thomas Hochstein
53694e2691 Unconditionally keep upgraded_version in plugin cache.
See #685 for more information.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 13:22:01 +01:00
Thomas Hochstein
52952ffe36 Fix comment in plugin_api.inc.php
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 09:24:30 +01:00
Thomas Hochstein
bb02319553 Fix regexp in
See #655.

I don't understand the code either (I don't even see
where this code path belongs to - do we have a
facitlity to show comments "from ... to"?), but
the current regexp is obviously wrong, and the
one suggested by @hannob is obviously
(syntactically) correct, so it should be no
problem to change that.

Fixes #655.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-27 16:47:49 +01:00
onli
51448ddcae Prevent header already sent error for serendipity_editor.js.tpl 2020-03-25 23:49:10 +01:00
Thomas Hochstein
4ee1066b89 Truncate extension of media items to 5 chars.
That's the max length of the extensin
database field.

Fixes #609.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 21:46:05 +01:00
Thomas Hochstein
1b6840d98e Relax active content check for renaming.
We don't need to check against the filename
without extension, because it's only the
extension that may be problematic.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 21:43:12 +01:00
Thomas Hochstein
7ca42f379f Fix typo (ML renaming code).
Fixes 2ccb43a271a41eba90fba1bacc46965f8323437f

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 16:23:21 +01:00
Thomas Hochstein
e792a8d913 Fix RCE vulnerability on Windows.
Steps to reproduce:

1) Upload a PHP script to the Media Libray,
   naming it "test" (or any other name
   without extension).
2) Rename it to "exploit.php." (trailing dot!)

On Linux, the file will be renamed to
"exploit.php..", which is safe and
cannot be exploited.

On Windows though, the file will be
renemad to "exploit.php" and is then
remotely executable by calling it
from "/uploads/exploit.php".

Thanks to Junyu Zhang <rgdz.eye@gmail.com>
for spotting this!

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 15:04:31 +01:00
Thomas Hochstein
21c3b0d83f Add missing active content check for renaming.
After fixing the other ML file renaming bugs,
it was now possible to rename a file without
extension into a file that *does* have an
extension - so we need to check against
active content.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 15:04:25 +01:00
Thomas Hochstein
0b2d6bf931 Really set source of plugins.
Fixes d179f1b1540768eb13e75795457822e6477541cc

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 15:03:31 +01:00
Thomas Hochstein
2ccb43a271 Fix for "disappearing" media files after renaming.
The renaming code added a dot '.' to the
filename on disk even if the file hat no
extension. Therefore, the file name on disk was
different from the name in the database,
triggering the database purging code on the
next ML display.

(serendipity_displayImageList() will delete
files from the database that don't exist
any longer on disk.)

This code won't add spurious dots for
empty extensions, keeping disk and
database in sync.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 13:10:46 +01:00
Thomas Hochstein
fd49846aa1 Add different error messages for ML rename.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 13:06:33 +01:00
Thomas Hochstein
18ab57b76b ML: Really add error message when renaming fails.
Fixes 1c95c173a22e15fa22b21d3466b8e5cc9e626645
2020-03-25 11:03:34 +01:00
Thomas Hochstein
1c95c173a2 ML: Add error message when renaming fails.
Completing 1ed4b9e7eca2a0c371582a454c232c

As we already have an (unused) language
constant for this error, we seem to have
had this kind of check before ...

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 00:54:48 +01:00
Thomas Hochstein
b12c098bd0 Add author to details of installed plugins.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-24 16:12:31 +01:00
Thomas Hochstein
d179f1b154 Add plugin source to list of plugins.
* plugin_api.inc.php:
  - Add static list of bundled plugins.
  - Add function to check if plugin is
    bundled.
* plugins.inc.php:
  - Set source of plugin
    (Spartacus, bundled or local).
* plugins.inc.tpl:
  - Display plugin source.
* Add language constants.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-24 15:57:48 +01:00
Thomas Hochstein
f576501737 Revert "Save remote plugin source when merging remote / local data."
This reverts commit 8c702769e428f49671f20b6d1e57c210e52222a7.

We can do this better.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-24 15:36:49 +01:00
Thomas Hochstein
8c702769e4 Save remote plugin source when merging remote / local data.
When installing / updating plugins, plugin data
is fetched from Spartacus first; those plugins
will habe "Spartacus" as "pluginlocation".

Later on, information about installed plugins
is fetched from cache / database, overwriting
the previously fetched data for all installed
plugins. After that, "pluginlocation" is
"local" even for plugins that live on
Spartacus if they have been installed.

So we save "pluginlocation" data to a new
"pluginsource" field before merging /
overwriting so we can detect plugins that
are available on Spartacus.

This data is present in plugins.inc.tpl
and can be used there.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-23 22:28:43 +01:00
onli
8a1ab31a66 Remove utf8mb4_ready requirement from native -> utf8 upgrade 2020-03-23 17:25:04 +01:00
onli
be422b5e83 Add maintenance tasK: native -> utf8, utf8 -> utf8mb4
Note: Native to utf8 will not work if the data in the database table is actually utf8! These are helper functions for during the alpha, to make testing easier, not tasks for the beta/stable
2020-03-23 17:15:56 +01:00
onli
af036ca58d Add warning to upgrade task for utf8mb4 upgrade 2020-03-23 09:57:59 +01:00
onli
a6f9ec1638 fix: don't ugprade only entries, but all our databases 2020-03-23 00:03:20 +01:00
onli
945b73dc34 Use utf8mb4_unicode_ci instead of utf8mb4_general_ci in upgrade 2020-03-22 23:52:01 +01:00
onli
c6800d5fc3 minor: explain serendipity_utf8mb4_ready in doccomment 2020-03-22 23:20:08 +01:00
onli
3ac81b91ca Reworked version and function requirement for utf8mb4 (#394) 2020-03-22 23:13:15 +01:00
onli
fa17e0709c Upgrade task to move utf8 mysql databases to utf8mb4 (#394) 2020-03-22 22:15:23 +01:00
onli
8b27a56209 Raise mysql requirements for utf8mb4 to 5.7/10.0.2
utf8mb4 did not work on a test server with large prefix (=not 3000 byte index limit, only 1000) on Depian 9/mariadb 10.1.44, because the row format was not barracuda (by default?)
2020-03-22 20:44:11 +01:00
onli
b15a453165 Use InnoDB and utf8mb4 on current mysql databases
For new installations only so far
2020-03-22 13:15:32 +01:00
Thomas Hochstein
b718637794 Set empty limit to "" in serendipity_fetchEntries.
If $limit is empty(), no limit is set, so we can
set the LIMIT statement to "" to achieve the same.

But an empty() $limit can be "0", so the
generated SQL statement could end with "0"
instead of the LIMIT statement. We catch this
with forcing an empty() $limit to "".

Fixes #636.
(No matter that this shouldn't even happen.)

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-21 17:59:13 +01:00