about summary refs log tree commit diff
path: root/litterbox.c (follow)
Commit message (Collapse)AuthorAge
* Bump ParamCap to 254June McEnroe2020-06-24
| | | | | | | | | | | | Apparently IRCds have decided that the 15-parameter limit doesn't matter anymore. 254 is the maximum number of single-byte parameters (following a single-byte command) which fit in a 512-byte CR-LF-terminated line. When everyone decides that the 512-byte line length limit doesn't matter either, I will delete my software and people can use some JavaScript garbage instead. This makes struct Message 2080 bytes, but there's only ever one of it around at once. Avoid passing it by value to handle.
* Remove RPL_MOTDSTART handlerJune McEnroe2020-06-12
| | | | | | Relying on the MOTDSTART handler to set motd.cap and allocate the buffer is an issue if a regular RPL_MOTD is received without one. Just allocate the buffer on the first RPL_MOTD.
* Add additional permission for linking with LibreSSLJune McEnroe2020-06-08
| | | | https://www.gnu.org/licenses/gpl-faq.en.html#GPLIncompatibleLibs
* Automatically perform database migrations in litterboxJune McEnroe2020-05-21
| | | | | To simplify upgrades, restarting litterbox should be sufficient. The database can still be explicitly migrated with -m.
* Call updateConsumer from handleError 1.2p1June McEnroe2020-04-23
| | | | | This should prevent continually crashing on the same ERROR in the pounce buffer.
* Error on invalid ISUPPORT values 1.2June McEnroe2020-04-05
|
* Log bans and unbansJune McEnroe2020-04-05
|
* Parse mode types from ISUPPORTJune McEnroe2020-04-05
|
* Add Ban and Unban event typesJune McEnroe2020-04-05
|
* Update styleJune McEnroe2020-04-02
| | | | | Replacing declarations followed by while loops with for loops and generating the short option string from the long options.
* Fix writing verbose to stderrJune McEnroe2020-03-31
|
* Implement the causal.agency/consumer capabilityJune McEnroe2020-02-28
|
* Include <>/-/* around nicks in coloringJune McEnroe2020-02-22
|
* Use (almost) the full range of IRC colors for nicksJune McEnroe2020-02-22
| | | | This matches the function used by catgirl.
* Add -b flag for live backupJune McEnroe2020-01-14
|
* Add option for client cert and SASL EXTERNALJune McEnroe2020-01-12
|
* Request the causal.agency/passive capabilityJune McEnroe2020-01-10
| | | | | This is implemented by pounce and prevents litterbox from affecting the away status of pounce's server connection.
* Import getopt_config from pounceJune McEnroe2020-01-04
|
* Add -N option to litterboxJune McEnroe2020-01-04
|
* Set the default network name to the hostnameJune McEnroe2020-01-04
|
* Don't special case user being * in queriesJune McEnroe2020-01-01
| | | | | | It's a side-effect of imports that shouldn't surface elsewhere. Would be nice to have unscoop figure out how it can eliminate using * in more places.
* Factor out hashing functionJune McEnroe2020-01-01
|
* Join with USING wherever possibleJune McEnroe2019-12-30
|
* Order results by ID in outer query in litterboxJune McEnroe2019-12-30
|
* Add limit option for litterbox's search query interfaceJune McEnroe2019-12-30
|
* Send fts5 errors in response to queriesJune McEnroe2019-12-28
|
* Don't insert self-messagesJune McEnroe2019-12-28
| | | | | Even with NOTICEs litterbox would sometimes receive its own responses, which would create duplicates in the database, essentially.
* Call tls_close and dbClose in atexitJune McEnroe2019-12-28
|
* Move querySearch code aroundJune McEnroe2019-12-27
|
* Add nick coloring to search query resultsJune McEnroe2019-12-27
|
* Reply to search queries with NOTICEJune McEnroe2019-12-27
| | | | | When connected to pounce, it's possible to receive some of its own PMs, so it should respond with what can't be commands.
* Add search query interfaceJune McEnroe2019-12-27
|
* Use bsearch to find handlerJune McEnroe2019-12-26
| | | | | | | | | The code is a bit cleaner this way I think, and performance would be better if the list of handlers ever got very long, and it was sorted anyway. However, I would prefer if there were a way to enforce the list being sorted at compile-time.
* Handle ERRORJune McEnroe2019-12-26
|
* Make sure context exists in handleReplyTopicJune McEnroe2019-12-26
|
* Inline queries, move stuff aroundJune McEnroe2019-12-25
| | | | | | No idea now why I wanted to have network bound all the time. Ended up creating a copy of the string for each statement instead of just having one like this.
* Treat topics like motdsJune McEnroe2019-12-25
| | | | | It's more like a cache of existing topics. events is still meant to record actual topic events.
* Insert MOTDs into the databaseJune McEnroe2019-12-25
|
* Insert existing topics into the databaseJune McEnroe2019-12-25
| | | | | | | Not sure how to handle the 333 reply that contains the user who set the topic and the timestamp of when it was set, since they're two separate messages that aren't really easily correlated since there's no guarantee that you're even going to get a 333 at all.
* Handle SIGINT and SIGTERMJune McEnroe2019-12-25
|
* Only send JOIN if there are channels to joinJune McEnroe2019-12-25
|
* Broadcast nick to user and host if they're unsetJune McEnroe2019-12-25
|
* Handle NAMES replyJune McEnroe2019-12-24
|
* Handle topicJune McEnroe2019-12-24
|
* Handle quitJune McEnroe2019-12-24
|
* It's The Big RefactorJune McEnroe2019-12-24
|
* Actually only use a transaction for handlers that need itJune McEnroe2019-12-23
| | | | How did I manage that?
* Take optional explicit path in dbFindJune McEnroe2019-12-23
|
* Factour out verbose, dbStep+resetJune McEnroe2019-12-23
|
* Handle NICKJune McEnroe2019-12-18
|