`login_do` now uses a try/catch control structure instead of the
horrifying nested if/else control structure it used before. I'd think a
failed login attempt counts as an exception, so it should be fair to use
it here?
I have also removed the one session per user limit for now. I'm going to
replace it with a manual session manager in user settings later
hopefully, and some sort of periodically run script that deletes any
expired sessions from the DB, plus maybe other places where they get
deleted.
any `use experimental 'name'` instances have been removed too since
Mojolicious complains about your use of experimental features no matter
what anyways!
global changes:
- config now uses snake_case instead of camelCase for config entry
names
- closing brackets/braces never occur on their own line
- there are almost never spaces inside brackets/braces before and
after the actual content
- I also removed a bunch of linebreaks I really shouldn't have because
it just ended up worsening readability, so I'm going to put them
back tomorrow lol
`lib/CharmBoard.pm` :
- removed PostgreSQL from the database driver detector, I just wanna
stick with SQLite and MySQL initially since I'm only really familiar
with those
- detect dev environment (from conf file setting) and only shut
caching off in that situation
- removed the default layout config option
`lib/CharmBoard/Crypt/Password.pm`
- renamed subroutines from snake_case to whateverthisiscalled
- changed what format `passgen` outputs salts and hashes in
- changed size and factor for reasons I honestly don't remember at
this point. I should probably recalibrate that properly tomorrow
- added `passchk` subroutine for verifying of passwords on the login
screen
- nice and helpful comments
`lib/CharmBoard/Crypt/Seasoning.pm`
- this is what used to be `tools/pepper.pl`. it's not currently used
for anything but it will be used for pepper generation during setup
if CharmBoard ever gets to that point. also might use it for
generating salts actually
`lib/CharmBoard/Controller/Auth.pm`
- realized I had the salt and hash variable assignments the wrong way
'round like an idiot, so I fixed that
- added part of signup (password auth)
- also lots of hopefully-helpful comments?
`lib/CharmBoard/Schema/*.pm`
- added more params for each column
`lib/CharmBoard/Schema/Session.pm`
- added `is_ip_bound` and `bound_ip` columns
`database.sql`
- as for stuff not mentioned in the schema module changes, I added
`ON CONFLICT` behavior (it's all `ABORT`, which rolls back the
entire transaction)
i'm tired i'm spenfing too much time either reading about mojolicious/perl or actually programming in them (usually the former atm) i need to chillax and play some videogames