oweals/minetest.git
5 years agoFix serialization of std::time_t by casting to u64 first (#8353)
rubenwardy [Sun, 10 Mar 2019 18:53:02 +0000 (18:53 +0000)]
Fix serialization of std::time_t by casting to u64 first (#8353)

Fixes #8332

5 years agoDocument the `float` special group (#8306)
DS [Sun, 10 Mar 2019 10:16:35 +0000 (11:16 +0100)]
Document the `float` special group (#8306)

5 years agoDisplay pitch angle in debug menu (#8321)
Ragulan R [Sun, 10 Mar 2019 10:16:27 +0000 (10:16 +0000)]
Display pitch angle in debug menu (#8321)

5 years agoConfirm registration GUI: Remove positional strings to fix Windows bug (#8258)
Paramat [Sun, 10 Mar 2019 01:49:03 +0000 (01:49 +0000)]
Confirm registration GUI: Remove positional strings to fix Windows bug (#8258)

Positional strings don't work on some Windows builds.
Remove server address string, leave player name string present.

5 years agoAbort when trying to set a not registered node (#7011)
HybridDog [Thu, 7 Mar 2019 07:31:25 +0000 (08:31 +0100)]
Abort when trying to set a not registered node (#7011)

I removed the MapNode constructor which takes a nodename and gives the node's id or CONTENT_IGNORE
The code which used this constructor (two places) now handles the situation of not registered nodes correctly:
* minetest.set_node and similar functions make minetest crash when a not registered node is passed
* reverting a node with rollback aborts if the node is not registered

5 years agoWorld config: Make depends easier to read (#7396)
HybridDog [Thu, 7 Mar 2019 07:23:03 +0000 (08:23 +0100)]
World config: Make depends easier to read (#7396)

* Do not always show every depends textfieds

When there are no dependencies, it does not longer show an empty list.

* Adjust the list height to avoid a scrollbar when possible

* change minimum height and no dependencies message

* Do not get depends for modpacks

5 years agoOptimize string handling in path search (#8098)
Jozef Behran [Thu, 7 Mar 2019 07:20:33 +0000 (02:20 -0500)]
Optimize string handling in path search (#8098)

Use "append" method to construct the various game paths
instead of wasteful string concatenation. Additionally, use a
temporary to extract and reuse a result of a few common
subexpressions to further reduce the overhead.

5 years agoOptimize interaction distance checker (#8193)
Jozef Behran [Thu, 7 Mar 2019 07:19:13 +0000 (02:19 -0500)]
Optimize interaction distance checker (#8193)

The "what" parameter is being passed by value, most likely by
accident as the type is "const std::string". Convert it to a
reference by adding the missing "&".

5 years agoUpdate a few dependency versions for buildbot (#8319)
sfan5 [Thu, 7 Mar 2019 07:17:01 +0000 (08:17 +0100)]
Update a few dependency versions for buildbot (#8319)

5 years agoFix detach inventory serialisation (#8331)
rubenwardy [Thu, 7 Mar 2019 06:41:21 +0000 (06:41 +0000)]
Fix detach inventory serialisation (#8331)

5 years agoFix incorrect string length check after cast
rubenwardy [Wed, 6 Mar 2019 22:24:39 +0000 (22:24 +0000)]
Fix incorrect string length check after cast

5 years agoFix clang tidy error due to incorrect use of quotes for character
rubenwardy [Wed, 6 Mar 2019 14:41:37 +0000 (14:41 +0000)]
Fix clang tidy error due to incorrect use of quotes for character

5 years agoChange 'num_emerge_threads' default to 1 (#8303)
Paramat [Tue, 5 Mar 2019 22:58:38 +0000 (22:58 +0000)]
Change 'num_emerge_threads' default to 1 (#8303)

5 years agoAdd math.factorial (#8298)
HybridDog [Tue, 5 Mar 2019 09:11:21 +0000 (10:11 +0100)]
Add math.factorial (#8298)

5 years agoAdd Android keystore to the repository
Loic Blot [Tue, 5 Mar 2019 07:34:54 +0000 (08:34 +0100)]
Add Android keystore to the repository

Password is not included :)

5 years agoAdd sounds for falling and attached nodes (#7719)
DS [Tue, 5 Mar 2019 07:17:48 +0000 (08:17 +0100)]
Add sounds for falling and attached nodes (#7719)

* Add sounds for falling and attached nodes

The sound specified in `node_definition.sounds.fall` is used.
When a falling node is spawned at a position or an attached node drops, the sound is played at this position.

* allow all sorts of soundspecs

5 years agoFix --color command line parameter ignorance (#7173)
HybridDog [Tue, 5 Mar 2019 07:14:33 +0000 (08:14 +0100)]
Fix --color command line parameter ignorance (#7173)

* Fix color command line parameter ignorance

* coloured log: Support detecting the tty on windows

* Print an error message when setting something invalid as color mode instead of silently using mode never

* Revert "coloured log: Support detecting the tty on windows"

This reverts commit 4c9fc6366487ac0e6799e181796ca594797bb6f8.
It didn't work for travis and belongs to a separate PR

* Allow adjusting the log color with an environment variable

If --color is not passed to minetest,  is used to decide on the log colorization.
Minetest settings can not be used instead of an environment variable because logs may appear before loading them.

* fix empty if body

5 years agoReplace for loop with call to standard library function (#8194)
Benjamin Lindley [Tue, 5 Mar 2019 07:13:15 +0000 (01:13 -0600)]
Replace for loop with call to standard library function (#8194)

This loop makes multiple passes over m_stack (type std::list) in order to remove all elements with a specified value. Replacing the loop with a call to std::list::remove does the same job, but in only one pass.

5 years agoHide uninstall package button on unmodifiable paths (#8255)
rubenwardy [Tue, 5 Mar 2019 07:12:58 +0000 (07:12 +0000)]
Hide uninstall package button on unmodifiable paths (#8255)

5 years agoAdd referer to remote media requests. (#8135)
sofar [Tue, 5 Mar 2019 07:12:02 +0000 (23:12 -0800)]
Add referer to remote media requests. (#8135)

This sends the following header to a remote media server:

    Referer: minetest://<server_name>:port

This was verified with CTF and the Minetest Public Remove Media
server. If the servername was a plain IPv6 address it will
contain `:` characters and will be encapsulated in `[]` to
be a valid URI.

5 years agogetS16NoEx() returns true unless syntactical error in conf. (#8304)
sofar [Tue, 5 Mar 2019 07:11:13 +0000 (23:11 -0800)]
getS16NoEx() returns true unless syntactical error in conf. (#8304)

The getS16NoEx() handler will return true unless there is a
`[num_emerge_threads]` line in the `minetest.conf` at which
point the excption handler part is reached. Due to the fact that
`defaultsettings.cpp` has a default value set for this setting,
that never will happen.

Because of this, the code will never check the number of threads on
the system, and keep `nthreads = 0`. If that happens, the value is
changed to `1` and only 1 emerge thread will be used.

The default should be set to `1` instead, due to the potential unsafe
consequences for the standard sqlite map files, but that should be a
separate commit that also adds documentation for that setting. This
commit focuses on removing this `hiding` bug instead.

5 years agoContinue with 5.1.0-dev
sfan5 [Mon, 4 Mar 2019 22:43:18 +0000 (23:43 +0100)]
Continue with 5.1.0-dev

5 years agoBump version to 5.0.0 5.0.0
sfan5 [Mon, 4 Mar 2019 22:43:14 +0000 (23:43 +0100)]
Bump version to 5.0.0

5 years agoBump android version code
Loïc Blot [Sun, 3 Mar 2019 22:59:24 +0000 (23:59 +0100)]
Bump android version code

5 years agoDon't include and link to gettext if gettext is not found (#8305)
adrido [Sat, 2 Mar 2019 09:56:01 +0000 (10:56 +0100)]
Don't include and link to gettext if gettext is not found (#8305)

5 years agoREADME: Remove references to Minecraft and InfiniMiner (#8260)
ANAND [Sat, 2 Mar 2019 03:44:35 +0000 (09:14 +0530)]
README: Remove references to Minecraft and InfiniMiner (#8260)

5 years agoFix particle spawners not visible since CSM spawner implementation (#8289)
Loïc Blot [Fri, 1 Mar 2019 19:16:11 +0000 (20:16 +0100)]
Fix particle spawners not visible since CSM spawner implementation (#8289)

* Drop the ID mapper, use a big u64 instead. This will permit to resync server ids properly with the manager code
* Modernize some code parts (std::unordered_map, auto)
* generate id on client part on U32_MAX + 1 ids, lower are for server ids

5 years agoRevert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)"
Loïc Blot [Tue, 26 Feb 2019 07:53:53 +0000 (08:53 +0100)]
Revert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)"

This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e.

5 years agoFix build since translation updates
Loïc Blot [Tue, 26 Feb 2019 07:52:10 +0000 (08:52 +0100)]
Fix build since translation updates

5 years agoRevert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)
Paramat [Tue, 26 Feb 2019 04:26:25 +0000 (04:26 +0000)]
Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)

Reverts 5dab7426451842793b183fbd961ad2ae83c8acbd
"[CSM] Add functions to create particles and particlespawners."

5 years agoRun updatepo.sh
Translations [Sun, 24 Feb 2019 17:43:32 +0000 (18:43 +0100)]
Run updatepo.sh

5 years agoUpdate translations
Translations [Thu, 14 Feb 2019 07:31:44 +0000 (07:31 +0000)]
Update translations

5 years agoUpdate minetest.conf.example and settings_translation_file.cpp (#8278)
Paramat [Sat, 23 Feb 2019 20:24:59 +0000 (20:24 +0000)]
Update minetest.conf.example and settings_translation_file.cpp (#8278)

5 years agoFix files with CRLF line endings in translations (#8280)
Nathanaël Courant [Sat, 23 Feb 2019 19:55:54 +0000 (20:55 +0100)]
Fix files with CRLF line endings in translations (#8280)

5 years agoMinimap: Fix radar restriction broken by 9649e47
SmallJoker [Sat, 23 Feb 2019 14:54:49 +0000 (15:54 +0100)]
Minimap: Fix radar restriction broken by 9649e47

Server-side radar restriction is now possible again
Thanks to @pgimeno for this nice catch.

5 years agoSettingtypes.txt: Remove 2 lines missed in a recent commit (#8277)
Paramat [Sat, 23 Feb 2019 03:15:56 +0000 (03:15 +0000)]
Settingtypes.txt: Remove 2 lines missed in a recent commit (#8277)

5 years agoAttend to LINT sillyness (#8276)
Paramat [Sat, 23 Feb 2019 02:41:36 +0000 (02:41 +0000)]
Attend to LINT sillyness (#8276)

5 years agoRemove 's' from 'automatic forwards' (#8272)
ANAND [Sat, 23 Feb 2019 01:12:33 +0000 (06:42 +0530)]
Remove 's' from 'automatic forwards' (#8272)

5 years agoContent store: Ignore '_game' in game names in ID generation (#8270)
rubenwardy [Fri, 22 Feb 2019 03:19:52 +0000 (03:19 +0000)]
Content store: Ignore '_game' in game names in ID generation (#8270)

Fixes 'install' button continuing to be displayed after installing a game whose
name ends with '_game'.

5 years agoUpdate gamebar on tab enter (#8192)
Paul Ouellette [Mon, 18 Feb 2019 21:04:43 +0000 (16:04 -0500)]
Update gamebar on tab enter (#8192)

5 years agoFix games not updating on deletion
rubenwardy [Mon, 18 Feb 2019 16:36:13 +0000 (16:36 +0000)]
Fix games not updating on deletion

As reported by @random-geek

5 years agoFix content store crash (#8244)
Paul Ouellette [Mon, 18 Feb 2019 11:46:55 +0000 (06:46 -0500)]
Fix content store crash (#8244)

5 years agolua_api.txt, settingtypes.txt: Various improvements (#8252)
Paramat [Mon, 18 Feb 2019 02:53:33 +0000 (02:53 +0000)]
lua_api.txt, settingtypes.txt: Various improvements (#8252)

5 years agoUpdate many things in Lua API docs (#8236)
Wuzzy [Sun, 17 Feb 2019 20:49:51 +0000 (21:49 +0100)]
Update many things in Lua API docs (#8236)

- minetest.get_hit_params
- minetest.get_dig_params
- table.indexof
- Scope of minetest.register_alias
- Vector function parameters
- More explanation of when `minetest.on_player_receive_fields` is called
- Syntax/semantics of the fields in `minetest.on_player_receive_fields`

5 years agolua_api.txt: Various additions and improvements (#8245)
Paramat [Sun, 17 Feb 2019 02:52:53 +0000 (02:52 +0000)]
lua_api.txt: Various additions and improvements (#8245)

5 years agoFix profiler crash by builtin since eea1fda (#8239)
Paul Ouellette [Sat, 16 Feb 2019 20:06:04 +0000 (15:06 -0500)]
Fix profiler crash by builtin since eea1fda (#8239)

Default to '??' (common Minetest notation) for unknown mods.

5 years agoUpdate credits (#8162)
rubenwardy [Sat, 16 Feb 2019 00:41:30 +0000 (00:41 +0000)]
Update credits (#8162)

5 years agoRevert RTT fixes (#8187)
ANAND [Fri, 15 Feb 2019 23:39:22 +0000 (05:09 +0530)]
Revert RTT fixes (#8187)

The reverted commit 968ce9af598024ec71e9ffb2d15c3997a13ad754
is suspected (through the use of bisection) of causing network slowdowns.
Revert for now as we are close to release.

5 years agoFix coloured fog in main menu (#8181)
random-geek [Fri, 15 Feb 2019 19:44:21 +0000 (11:44 -0800)]
Fix coloured fog in main menu (#8181)

Fixes #4727. The issue was due to the video driver fog colour never getting reset after closing the game.

5 years agoLINT fix
Loïc Blot [Fri, 15 Feb 2019 11:27:29 +0000 (12:27 +0100)]
LINT fix

5 years agoDon't regain breath while in ignore node (#8218)
Wuzzy [Fri, 15 Feb 2019 11:22:30 +0000 (12:22 +0100)]
Don't regain breath while in ignore node (#8218)

* Don't regain breath while in ignore node

Fixes #8217

5 years ago Update minetest.conf.example, settings strings and locale files (#8230)
Wuzzy [Thu, 14 Feb 2019 22:38:24 +0000 (23:38 +0100)]
 Update minetest.conf.example, settings strings and locale files (#8230)

5 years agoFix extract zip writing lowercase files (#8221)
rubenwardy [Thu, 14 Feb 2019 20:03:45 +0000 (20:03 +0000)]
Fix extract zip writing lowercase files (#8221)

5 years agoRun updatepo.sh
Translation [Thu, 14 Feb 2019 06:47:08 +0000 (07:47 +0100)]
Run updatepo.sh

5 years agoUpdate translations
Translations [Fri, 1 Feb 2019 21:07:33 +0000 (21:07 +0000)]
Update translations

5 years agoStatbars: Reduce initial update interval
SmallJoker [Sun, 20 May 2018 15:58:41 +0000 (17:58 +0200)]
Statbars: Reduce initial update interval

Centralize HUD updating in update_builtin_statbars.
Fixes race condition in 'on joinplayer' that causes stat bar bugs.
Correctly scales stat bars to custom max values set by mods.

5 years agoConsistent HP and damage types (#8167)
SmallJoker [Sun, 10 Feb 2019 23:03:26 +0000 (00:03 +0100)]
Consistent HP and damage types (#8167)

Remove deprecated HUDs and chat message handling.
Remove unused m_damage variable (compat break).
HP: s32 for setter/calculations, u16 for getter.

5 years agoSlippery: Do not apply when swimming (#8198)
SmallJoker [Sun, 10 Feb 2019 16:04:04 +0000 (17:04 +0100)]
Slippery: Do not apply when swimming (#8198)

5 years agoBuiltin: Fix grayed-out but enabled modpacks
SmallJoker [Sat, 9 Feb 2019 20:32:39 +0000 (21:32 +0100)]
Builtin: Fix grayed-out but enabled modpacks

5 years agoAutojump: Disable in fly mode, support continuous forward (#8200)
SmallJoker [Sat, 9 Feb 2019 20:44:04 +0000 (21:44 +0100)]
Autojump: Disable in fly mode, support continuous forward (#8200)

Correctly disable in fly mode (issue #8199)
Also autojump in continuous forward mode (issue #8201)

5 years agoRemove fgettext("") in builtin
Wuzzy [Sat, 9 Feb 2019 18:35:13 +0000 (19:35 +0100)]
Remove fgettext("") in builtin

This call is useless and wrong, the empty string has a special meaning in Gettext.

5 years agoFix Address::isLocalhost algorithm
Loic Blot [Sat, 9 Feb 2019 18:52:38 +0000 (19:52 +0100)]
Fix Address::isLocalhost algorithm

5 years agoDisable confirmation dialog on localhost
rubenwardy [Sun, 3 Feb 2019 12:31:55 +0000 (12:31 +0000)]
Disable confirmation dialog on localhost

5 years agonumeric: Fix clang, broken since d5456da
SmallJoker [Sat, 9 Feb 2019 17:33:31 +0000 (18:33 +0100)]
numeric: Fix clang, broken since d5456da

5 years agoDon't append itemname to itemname in tooltip (#8176)
Wuzzy [Sat, 9 Feb 2019 14:46:02 +0000 (15:46 +0100)]
Don't append itemname to itemname in tooltip (#8176)

5 years agoUse true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019)
Paul Ouellette [Thu, 7 Feb 2019 21:26:06 +0000 (16:26 -0500)]
Use true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019)

Store the rotation in the node as a 4x4 transformation matrix internally (through IDummyTransformationSceneNode), which allows more manipulations without losing precision or having gimbal lock issues.

Network rotation is still transmitted as Eulers, though, not as matrix. But it will stay this way in 5.0.

5 years agoFix cloud color in loading screen and main menu (#8174)
random-geek [Mon, 4 Feb 2019 19:11:02 +0000 (11:11 -0800)]
Fix cloud color in loading screen and main menu (#8174)

5 years agoUpdate color of main menu clouds (#8172)
random-geek [Sun, 3 Feb 2019 23:12:15 +0000 (15:12 -0800)]
Update color of main menu clouds (#8172)

5 years agoUpdate manpage (#8169)
Paul Ouellette [Sun, 3 Feb 2019 23:11:32 +0000 (18:11 -0500)]
Update manpage (#8169)

5 years agoContent store: Fix assertion failed on unsuccessful package list fetch
rubenwardy [Sun, 3 Feb 2019 19:54:43 +0000 (19:54 +0000)]
Content store: Fix assertion failed on unsuccessful package list fetch

Fixes #8168

5 years agoRename 'Content Store' to 'Online Content Repository' in Advanced Settings
rubenwardy [Sun, 3 Feb 2019 18:07:14 +0000 (18:07 +0000)]
Rename 'Content Store' to 'Online Content Repository' in Advanced Settings

5 years agoAdd setting to hide mature content from ContentDB
rubenwardy [Sun, 3 Feb 2019 17:54:56 +0000 (17:54 +0000)]
Add setting to hide mature content from ContentDB

5 years agoFix core.download_file() creating empty files on HTTP error
rubenwardy [Sun, 3 Feb 2019 17:30:33 +0000 (17:30 +0000)]
Fix core.download_file() creating empty files on HTTP error

5 years agoFix rename modpack dialog not appearing to take affect 8161/head
rubenwardy [Sun, 3 Feb 2019 01:49:53 +0000 (01:49 +0000)]
Fix rename modpack dialog not appearing to take affect

5 years agoFix modpack rename dialog selecting the wrong mod
number Zero [Sun, 10 Jun 2018 22:40:00 +0000 (01:40 +0300)]
Fix modpack rename dialog selecting the wrong mod

5 years agoDragonFly BSD is somewhat identical to FreeBSD (#8159)
Leonid Bobrov [Sun, 3 Feb 2019 08:53:54 +0000 (10:53 +0200)]
DragonFly BSD is somewhat identical to FreeBSD (#8159)

5 years agoForce player save before kicking on player shutdown (#8157)
Loïc Blot [Sun, 3 Feb 2019 08:11:45 +0000 (09:11 +0100)]
Force player save before kicking on player shutdown (#8157)

5 years agoProtocol Docs: Python check bump to Python 3
Julien Palard [Sun, 3 Feb 2019 01:32:37 +0000 (02:32 +0100)]
Protocol Docs: Python check bump to Python 3

5 years agoContent store: Fix overlapping labels
rubenwardy [Sun, 3 Feb 2019 01:14:15 +0000 (01:14 +0000)]
Content store: Fix overlapping labels

5 years agoUpdate translations
Translations [Wed, 30 Jan 2019 09:22:27 +0000 (09:22 +0000)]
Update translations

5 years agoMove missing translations warnings to verbosestream (#8156)
Nathanaël Courant [Sat, 2 Feb 2019 11:00:06 +0000 (12:00 +0100)]
Move missing translations warnings to verbosestream (#8156)

They should not spam the console and logs.

5 years agoSettings: Slightly increase block generate, block send, object send distances (#8147)
Paramat [Thu, 31 Jan 2019 19:28:14 +0000 (19:28 +0000)]
Settings: Slightly increase block generate, block send, object send distances (#8147)

5 years agoContent store: Fix storage leak by storing screenshots in cache (#8137)
rubenwardy [Thu, 31 Jan 2019 16:35:55 +0000 (16:35 +0000)]
Content store: Fix storage leak by storing screenshots in cache (#8137)

5 years agoContent store: Use composite key to track installations (#8054)
rubenwardy [Wed, 30 Jan 2019 16:43:28 +0000 (16:43 +0000)]
Content store: Use composite key to track installations (#8054)

Fixes #7967 'Package manager doesn't track content reliably'.

5 years agoCleanup translation files
Loïc Blot [Mon, 28 Jan 2019 13:35:41 +0000 (14:35 +0100)]
Cleanup translation files

These were broken on the previous commits

5 years agoFix wrong it minetest.po file
Loïc Blot [Mon, 28 Jan 2019 12:07:14 +0000 (13:07 +0100)]
Fix wrong it minetest.po file

5 years agoRun updatepo.sh
Loic Blot [Sat, 26 Jan 2019 23:48:17 +0000 (00:48 +0100)]
Run updatepo.sh

5 years agoUpdate translations
Translations [Sun, 6 Jan 2019 08:41:56 +0000 (08:41 +0000)]
Update translations

5 years agoAdd setting to disable confirmation on new player registration (#8102)
Muhammad Rifqi Priyo Susanto [Sat, 26 Jan 2019 19:26:37 +0000 (02:26 +0700)]
Add setting to disable confirmation on new player registration (#8102)

5 years agoRename 'Advanced Settings' button to 'All Settings' (#8131)
Paramat [Sat, 26 Jan 2019 13:14:06 +0000 (13:14 +0000)]
Rename 'Advanced Settings' button to 'All Settings' (#8131)

5 years agoFix pkgmgr game install with RUN_IN_PLACE=0 (#8113)
Paul Ouellette [Sat, 26 Jan 2019 13:12:20 +0000 (08:12 -0500)]
Fix pkgmgr game install with RUN_IN_PLACE=0 (#8113)

5 years agoblitToVManip: Check out-of-bounds using node position not index (#8127)
Paramat [Fri, 25 Jan 2019 19:01:00 +0000 (19:01 +0000)]
blitToVManip: Check out-of-bounds using node position not index (#8127)

Previously, when using 'place on vmanip' to add a schematic to a
lua voxelmanip, if part of the schematic was outside the voxelmanip
volume, the outside part would often appear in a strange place
elsewhere inside the voxelmanip instead of being trimmed off.
This was due to the out-of-bounds check checking the index.

A position outside the voxelmanip can have an index that satisfies
'0 <= index <= voxelmanip volume', causing the node to be placed
at a strange position inside the voxelmanip.

Use 'vm->m_area.contains(pos)' instead.
Move index calculation to later in the code to optimise.

5 years agoFix warnings about dungeongen.cpp memcpy() and unused variable in MapBlock::deSeriali...
Paramat [Tue, 22 Jan 2019 21:13:06 +0000 (21:13 +0000)]
Fix warnings about dungeongen.cpp memcpy() and unused variable in MapBlock::deSerializeNetworkSpecific() (#8122)

* Fix warning about dungeongen.cpp memcpy()

* Fix unused variable in MapBlock::deSerializeNetworkSpecific()

* Fix unused variable a simpler way

5 years agoFix randomly rejected form field submits (#8091)
Jozef Behran [Mon, 21 Jan 2019 08:53:09 +0000 (03:53 -0500)]
Fix randomly rejected form field submits (#8091)

If a formspec is submitted from a form fields handling
callback of another form (or "formspec shown from another
formspec"), the fields submitted for it can get
rejected by the form exploit mitigation subsystem with a
message like "'zorman2000' submitted formspec
('formspec_error:form2') but server hasn't sent formspec to
client, possible exploitation attempt" being sent to logs.
This was already reported as #7374 and a change was made
that fixed the simple testcase included with that bug
report but the bug still kept lurking around and popping
out in more complicated scenarios like the advtrains TSS
route programming UI.

Deep investigation of the problem revealed that this
sequence of events is entirely possible and leads to the
bug:

  1. Server: show form1
  2. Client *shows form1*
  3. Client: submits form1
  4. Server: show form2
  5. Client: says form1 closed
  6. Client *shows form2*
  7. Client: submits form2

What happens inside the code is that when the server in
step 4 sends form2, the registry of opened forms is
updated to reflect the fact that form2 is now the valid
form for the client to submit. Then when in step 5 client
says "form1 was closed", the exploit mitigation subsystem
code deletes the registry entry for the client without
bothering to check whether the form client says was
closed just now is indeed the form that is recorded in
that entry as the valid form. Then later, in step 7 the
client tries to submit its valid form fields, these will
be rejected because the entry is missing.

It turns out the procedure where the broken code resides
already gets the form name so a simple "if" around the
offending piece of code fixes the whole thing. And
advtrains TSS agrees with that.

5 years agoMake advanced settings noiseparams strings translatable (#8062)
Wuzzy [Sun, 20 Jan 2019 18:49:17 +0000 (19:49 +0100)]
Make advanced settings noiseparams strings translatable (#8062)

Various minor language improvements in settingtypes.txt.

5 years agoAdvanced settings noiseparams: No tailing comma for empty flags
srifqi [Thu, 10 Jan 2019 17:56:48 +0000 (18:56 +0100)]
Advanced settings noiseparams: No tailing comma for empty flags

Previously, when editing noiseparams and disabling all the noise
flags, the noiseparam is displyed in advanced settings with a
tailing comma.

5 years agoAdvanced settings noiseparams: Remove '}' left in .conf
SmallJoker [Thu, 10 Jan 2019 17:54:10 +0000 (18:54 +0100)]
Advanced settings noiseparams: Remove '}' left in .conf

Previously, when editing noiseparams then restoring them to the default,
the final '}' was not removed from minetest.conf.

5 years agoRemove incorrect feature flag (#8086)
Paul Ouellette [Sat, 19 Jan 2019 14:17:05 +0000 (09:17 -0500)]
Remove incorrect feature flag (#8086)

And document the versions that introduced the features.

5 years agoOptimize subgames search a little bit (#8096)
Jozef Behran [Fri, 18 Jan 2019 09:47:50 +0000 (04:47 -0500)]
Optimize subgames search a little bit (#8096)

Reserve space for the list of games in findWorldSubgame. The
performance gain is pretty much negligible but this change
also gets rid of a performance warning by CLANG TIDY.

5 years agoFix some misspellings (#8104)
Paul Ouellette [Wed, 16 Jan 2019 12:39:13 +0000 (07:39 -0500)]
Fix some misspellings (#8104)