summaryrefslogtreecommitdiff
path: root/data/global.pl
AgeCommit message (Collapse)AuthorFilesLines
2017-11-26Add language: Bulgarian and Platforms: Nintendo Switch & Wii UYorhel1-0/+3
2017-04-21Add 1366x768 resolutionYorhel1-0/+1
https://vndb.org/t950.317
2017-01-19Add Open Graph tags for the main page and vrspcflan1-0/+1
2017-01-19Change the default DB username to "vndb_site" to match changes from 6a04b32flan1-1/+1
2016-11-27SQL: Use separate role for the website + disallow access to user dataYorhel1-0/+1
Previously the website was connected to the database with a "database owner" user, which has far too many permissions. Now there's a special vndb_site user with only the necessary permissions. The primary reason to do this is to decrease the impact if the site process is compromised. E.g. it's now no longer possible to delete or modify old entry revisions. An attacker can still do a lot of damage, however. Additionally (and this was the main reason to implement this change in the first place), the user sessions, passwords and email data is now not easily accessible anymore. Hopefully, the new user management abstractions will prevent email and password dumps in case of an SQL injection or RCE vulnerability in the site code. Of course, this only works if my implementation is fully correct and there's no privilige escalation vulnerability somewhere. Furthermore, changing your password now invalidates any existing sessions, and the password reset function is disabled for 'usermods' (because usermods can list email addresses from the database, and the password reset function could still allow an attacker to gain access to anyone's account). I also changed the format of the password reset tokens, as they totally don't need to be salted.
2016-08-09Add Croatian languageYorhel1-0/+1
2016-07-31Add Thai languageYorhel1-0/+1
2016-02-15Add Tagalog languageYorhel1-0/+1
2016-02-12Minor fixes / behaviour reverts related to the removal of L10NYorhel1-4/+4
- Fix mouse-over text of language flag on homepage - Capitalize release types in edit form - Use plural form of character roles on VN page listing
2016-01-19global.pl: Fix incorrect naming of producer relation typesYorhel1-6/+6
2016-01-17L10N: Intern blood_types/genders/(char|staff)_roles/discussion_boardsYorhel1-6/+29
I definitely needed the Tie::IxHash thing for these.
2016-01-17Use Tie::IxHash for some global.pl listsYorhel1-34/+43
This removes the reliance on sort() to provide meaningful ordering (the keys aren't always good for ordering) and removes the 'order' hack used for (vn|prod)_relations.
2016-01-17L10N: Intern VN/producer relations + update relation graphsYorhel1-19/+19
Now that graphviz knows the actual strings, it has a better opportunity to create better graphs. (Most of them still look messy tho)
2016-01-17L10N: Intern tag_cats/voiced/animated/*_statusYorhel1-6/+11
2016-01-16L10N: Intern languages/platforms/resolutions/media/ptype/rtype/vnlengthYorhel1-28/+115
2016-01-10Support zopfli/zopflipng for all static asset generatorsYorhel1-1/+7
Compresses a little better. I reduced the number of iterations required to find the optimal image size in spritegen.pl, but generating the icons.png is *incredibly slow* when combining zopflipng with the 'slow' option. It's possible to parallelize the calculation and use multiple cores to speed it up, but that seems overkill. Some icons.png compression stats: METHOD SIZE RUNTIME default 18103 <1sec slow 17941 few secs pngcrush 15385 <1sec pngcrush+slow 15148 few mins zopflipng 14986 few secs zopflipng+slow 14898 ~1 hour
2015-11-10Merge branch 'master' into pollmorkt1-4/+3
2015-11-01Removed support for sha256-hashed passwordsYorhel1-2/+1
They had to be deleted from the database at some point, otherwise we still have thousands of easily-cracked password hashes in the database. Note that I could have opted to use scrypt on top of the sha256 hashes so the passwords would remain secure without needing to reset everything, but doing that after one year of switching to scrypt is likely not worth it. Everyone who still actively uses his account has already been converted to scrypt, everyone else should just reset their password whevener they decide to come back.
2015-11-01Remove deprecated 'staffedit' permission flagYorhel1-2/+2
2015-10-18discussion board polls.morkt1-0/+1
2015-08-17spritegen.pl: Add pngcrush/slow options + force png32 + atomic replaceYorhel1-0/+7
A recent version of imagemagick creates 16 bit depth PNG images by default for some reason. This results in an unnecessarily large file size increase and pngcrush doesn't do much to counter it (and its -bit_depth option has been deprecated, too). The atomic replace is quite handy to avoid people seeing any wierd intermediate images while the slow+pngcrush options are being used.
2015-08-17jsgen: Support external command for JS compression (like uglifyjs)Yorhel1-4/+8
Tends to compress a bit better than JavaScript::Minifier::JS. But is also a lot slower, so not really useful when devving. Stats for en.js: raw gzip uglifyjs 68199 19446 JS::Minifier::XS 79862 21624 Uncompressed 107662 28663 On an unrelated note, I like how jQuery boasts about being "Only 32kB minified and gzipped.". That's quite a bit more than all of VNDB's Javascript combined. For a damn library.
2015-08-15js: Let jsgen.pl preprocess L10N strings + add L10N strings to some varsYorhel1-1/+1
This simplifies the JS version of mt() a bit and makes the whole internationalization framework a bit more robust. I also changed the VARS.{rlist_status,age_ratings,languages,platforms,char_roles} arrays to include the L10N string. This simplifies the JS code and reduces the JS size. There's a few more of such lists that can be transformed in the same way, I'll get to that later.
2015-07-21Add profile option for default visible tag categories on VN pagesYorhel1-0/+1
The name of the profile setting isn't very clear. Not sure what to do with it.
2015-06-15d7: Replace "top 5 contributors" with "special users" listingYorhel1-0/+1
Having a proper and up-to-date list of moderators is an often requested feature.
2015-05-13Change order of staff rolesYorhel1-1/+1
https://vndb.org/t6138.226 - https://vndb.org/t6048.132
2015-05-11New language: Catalan (/Valencian)Yorhel1-1/+1
2015-05-11Three new platforms: FM Towns, PC Engine, X68000Yorhel1-1/+1
2015-05-03Allow everyone to contribute to staff entries.Yorhel1-2/+2
Let's see how this goes.
2015-05-03Remove "script" role from vn<->staff linksYorhel1-1/+1
Note that it's still in the postgresql ENUM type. Removing that is possible, but not very trivial.
2015-04-28Merge branch 'anyevent'Yorhel1-0/+1
Conflicts: lib/Multi/Feed.pm lib/Multi/IRC.pm
2015-04-27Multi::Core: Make log level configurableYorhel1-0/+1
I probably don't want to have the 'trace' log level on the actual server.
2015-02-03Disallow editing your own post after one weekYorhel1-0/+1
2015-01-29staff: Added 'scenario' credit typeYorhel1-1/+1
2015-01-25staff: Add staff edit permission + alias layoutingmorkt1-1/+1
2014-12-22Initial implementation of a staff/seiyuu databasemorkt1-0/+1
2014-10-21Use TUWF's reqBaseURI() instead of $self->{uri} on site linksYorhel1-1/+1
TUWF properly detects HTTPS and includes this in the returned URL, so this change ensures that all URLs adopt properly to HTTP and HTTPS.
2014-10-16Completely get rid of the old charedit perm flagYorhel1-2/+2
2014-10-15scrypt: Lower default N to 65536Yorhel1-1/+1
Completely disregard my comments regarding DoS in commit 6e0a0e1d00e11da9b4eab2163e19314f752b05b5 - successful logins aren't throttled at all. The other reason for lowering this value is because the API requires a login for each new TCP session, and it doesn't seem like many (any?) applications keep the TCP session alive for very long. Still, 65536 is more secure than the default of 16384.
2014-10-15Use scrypt for new password hashesYorhel1-0/+2
I increased the N parameter to approximate about 500ms to generate the hash. This is quite a paranoid setting for a website, but login attempts are throttled so there's not much of a DoS factor. (Alright, password changing feature isn't throttled so the DoS factor still exists. But really, there's some pages with longer page generation times anyway.) I did lower the size of the salt a bit (Crypt::ScryptKDF uses 256 bits by default), because 64 bits of randomness should have low enough chance of collision with only ~100k users (even with a million users, seriously).
2014-10-12Add PS4 and Xbox One platformsYorhel1-1/+1
2014-08-29Throttle failed login attempts (10/day)Yorhel1-0/+1
2014-08-21Add Romanian languageYorhel1-1/+1
2013-09-16Added 960x600 resolutionYorhel1-0/+1
2013-09-14Add platforms: Game Boy Color, PC-88, PC-FX and XBOXYorhel1-1/+1
2013-09-14Added Arabic and Hebrew languagesYorhel1-1/+1
2013-01-21Added "unknown medium" release filterYorhel1-1/+1
2013-01-21Added "unknown platform" release filterYorhel1-0/+1
2013-01-05Don't use Multi for processing screenshotsYorhel1-1/+0
TODO: Get rid of the 'processing' flag and all the async loading of screenshot data in the screenshot uploader.
2013-01-04Added daily-generated JSON dump of the tag informationYorhel1-0/+1
This isn't documented yet.