1
0
Commit Graph

5642 Commits

Author SHA1 Message Date
c89d7f92f6 Dashboard: Merge s9y and plugin update notifications.
Display either or both in one section.

Set dashboard_widget class to aid formatting.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 15:22:58 +01:00
5ca9da9a56 [event_spartacus] Change dashboard upgrade notification to simple link.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 15:22:58 +01:00
de29be7287 Drop unused is_utf8 variable 2020-03-28 13:37:12 +01:00
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
261bac42f1 Bump event_spartacus version
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 13:26:06 +01:00
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
ded855f096 [event_spartacus] Simplify count_plugin_upgrades()
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 13:21:09 +01:00
52952ffe36 Fix comment in plugin_api.inc.php
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-28 09:24:30 +01:00
5adf3cda02 One adv_opts_box should be enough for everybody.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-27 20:18:46 +01:00
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
2bbf459118 admin template entrylist: entry title was double escaped 2020-03-26 11:08:33 +01:00
51448ddcae Prevent header already sent error for serendipity_editor.js.tpl 2020-03-25 23:49:10 +01:00
d690a751d3 Up spamblock version, document #683 2020-03-25 22:33:19 +01:00
57cbaaa58b Update spamblock query to work in MySQL 5.7+ with default "strict" mode
The old query will fail with ONLY_FULL_GROUP_BY set which is default from
MySQL 5.7.5 onwards. This results in the .htaccess file not being updated.

Also adding some fencing to the foreach to prevent php error messages.
2020-03-25 22:28:25 +01:00
7bd1f3567e Add NEWS item.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 21:48:27 +01:00
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
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
3148e44f87 Release 2.3.4
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 16:59:24 +01:00
7ca42f379f Fix typo (ML renaming code).
Fixes 2ccb43a271

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 16:23:21 +01:00
382c785725 Merge branch 'thh-rce'
* thh-rce:
  Fix RCE vulnerability on Windows.
  Add missing active content check for renaming.
2020-03-25 16:13:39 +01:00
fd8dcd3882 Wordwrap overly long words in comments via CSS.
Very long words may overflow the dashboard_widget
boundary on backend start page otherwise.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 15:36:08 +01:00
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
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
0b2d6bf931 Really set source of plugins.
Fixes d179f1b154

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 15:03:31 +01:00
90be45004b Add NEWS entry for ML rename fixes.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 13:16:41 +01:00
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
fd49846aa1 Add different error messages for ML rename.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 13:06:33 +01:00
837c58cf6d Add missing en/UTF-8 entries to language file.
Belongs to
d179f1b154

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 11:04:06 +01:00
ce7fa80f4b Add filename to error message (ML renaming).
Belongs to
1c95c173a2

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-25 11:04:00 +01:00
18ab57b76b ML: Really add error message when renaming fails.
Fixes 1c95c173a2
2020-03-25 11:03:34 +01:00
1c95c173a2 ML: Add error message when renaming fails.
Completing 1ed4b9e7ec

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
b12c098bd0 Add author to details of installed plugins.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-24 16:12:31 +01:00
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
f576501737 Revert "Save remote plugin source when merging remote / local data."
This reverts commit 8c702769e4.

We can do this better.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-24 15:36:49 +01:00
fd6daca381 Display "more info" link to Spartacus even for installed plugins.
Use new capability from 8c702769e4

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-23 22:36:27 +01:00
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
04a3d34176 "$cachedtype" was set twice.
"$cachedtype" is saved anayway before returning;
no need to set it here.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-23 20:50:46 +01:00
a3a48fd4f5 Escape plugin author name in pluginlist.
Don't show HTML from author name field.

Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-23 17:49:52 +01:00
8a1ab31a66 Remove utf8mb4_ready requirement from native -> utf8 upgrade 2020-03-23 17:25:04 +01:00
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
af036ca58d Add warning to upgrade task for utf8mb4 upgrade 2020-03-23 09:57:59 +01:00
a6f9ec1638 fix: don't ugprade only entries, but all our databases 2020-03-23 00:03:20 +01:00
945b73dc34 Use utf8mb4_unicode_ci instead of utf8mb4_general_ci in upgrade 2020-03-22 23:52:01 +01:00
c6800d5fc3 minor: explain serendipity_utf8mb4_ready in doccomment 2020-03-22 23:20:08 +01:00
3ac81b91ca Reworked version and function requirement for utf8mb4 (#394) 2020-03-22 23:13:15 +01:00
fa17e0709c Upgrade task to move utf8 mysql databases to utf8mb4 (#394) 2020-03-22 22:15:23 +01:00
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
b15a453165 Use InnoDB and utf8mb4 on current mysql databases
For new installations only so far
2020-03-22 13:15:32 +01:00
05fe0a3526 Forgot to bump the release numbers.
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-22 11:36:22 +01:00
3680a119c3 Release 2.3.3
Signed-off-by: Thomas Hochstein <thh@inter.net>
2020-03-22 09:59:17 +01:00