A path to a blacklist WML file may be provided in the campaignd
configuration file (server.cfg). The BL file, in turn, may contain
attributes for comma-delimited lists of wildcard patterns, accepting
shell-style '*' and '?', by leveraging utils::wildcard_string_match()'s
functionality.
The following lists of patterns are recognized at this time:
ip=<numeric IPv4 address masks>
email=<add-on author email masks>
name=<add-on id/name masks>
title=<add-on title masks>
author=<add-on author masks>
description=<add-on description masks>
Currently, the IP address mask list also takes '*' and '?' wildcards. My
intention is to use CIDR subnet masks instead of or in addition to this.
The blacklist WML file is only read by campaignd once at startup and
it's never written to, thus allowing to preserve any WML comment lines
that may be included in the file by admins for convenience.
The IP, email, name, title, author, and description of a (new or
existing) uploaded add-on are matched against the blacklist in that
order. If the add-on matches, the upload is aborted and the user is
shown a generic message in English, just like with every other possible
campaignd-side error (on the plus side, this means it can be backported
to 1.12).
All matches (except for IP matches, which only contain digits and
punctuation) are done case-insensitively.
Because of campaignd protocol limitations, the upload is only checked
and aborted after the client has already uploaded a weighty WML document
including the add-on archive. Such is life, I guess.
As ucs4::char is unsigned, we don't need to compare against the min value of
the type. Worse, we cast the (possibly signed) min value to ucs4::char, which
on plenty of systems, results in 2^31, excluding all valid unicode codepoints.
Fix by gfgtdf.
Patch by iceiceice. (PR #189)
Commit message by ai0867.
When I removed the wesnoth built-in timeouts, I didn't completely
revert some of the changes, I left and include and didn't change
a shared_ptr back to scoped_ptr.
Putting a movement orb on an enemy petrified unit is rather
redundant, so this commit prevents that behavior. Statues owned
by the viewing team will still have orbs, which seems acceptable.
This commit changes the resources::game_map pointer to a const *,
so that changes to the game_map coming from lua or wml apis must
go through the game_board. Three functions were moved into the
game_board -- although substantively they did not change, there
were minor changes, in terms of the kind of error reporting done,
and also in how gui refresh orders are issued afterwards. In
testing the differences due to this refactor don't seem to be
noticeable.
This reverts commit 2f8b997cb8a093b71a54a64e47b3c9d4a826885f.
This needs to be redone in a less sloppy way that doesn't functions not
returning an actual value per their declaration or mass code
reindentations.
Slightly fewer units in scenario 1 on hard
Deep One has more hp/attacks depending on difficulty
Less income available to player on hard in scenarios 1 and 2 to
decrease gold available in scenario 3
Added a define to make it easier to make Garak killable in scenario 3