diff --git a/.gitignore b/.gitignore index 05919ab..5f7d56c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,10 +4,11 @@ parsee* parsee *.swp .* -data -data/* +data* +data*/* Makefile configure +gmon.out tools/out tools/out/* @@ -24,3 +25,4 @@ tags !.forgejo !.forgejo/* !.forgejo/** + diff --git a/CHANGELOG.md b/CHANGELOG.md index 5999d7f..04358d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,19 @@ commit done between releases. *There is currently no beta releases of Parsee* ## Alpha + +### v0.3.0[lunar-rainbow] +This is the first release of 2025! +TBD +#### New things +- Allow admins to remove users from the nofly list. +- Parsee can now access the homeserver/component locally (rather than over the network) +- The endpoint for media has been changed to '/media/[SERV]/[ID]?hmac=...' +- Add parsee-plumb tool to manage plumbing from outside Parsee if it is not running. +#### Bugfixes +- Fix potential infinite loops when processing some messages. +- Parsee now handles pinging puppets from Matrix more sanely. + ### v0.2.0[star-of-hope] <8/11/2024> Fixes some media metadata things, replaces the build system, tries out avatar support some more, MUC contexts, and speeds diff --git a/build.conf b/build.conf index 9ebf253..a2e17c1 100644 --- a/build.conf +++ b/build.conf @@ -1,6 +1,6 @@ -CODE=star-of-hope +CODE=lunar-rainbow NAME=Parsee -VERSION=0.2.0 +VERSION=0.3.0 BINARY=parsee SOURCE=src INCLUDES=src/include diff --git a/src/Main.c b/src/Main.c index 3e740ed..f596126 100644 --- a/src/Main.c +++ b/src/Main.c @@ -63,7 +63,7 @@ ParseeCheckMatrix(void *datp) { static volatile uint64_t streak = 0; ParseeData *data = datp; - if (!ASPing(data->config)) + if (data->config->accept_pings && !ASPing(data->config)) { Log(LOG_ERR, "Cannot reach '%s' properly...", data->config->homeserver_host); if (++streak == 10) diff --git a/src/Parsee/Config.c b/src/Parsee/Config.c index 46a391f..fa4b96e 100644 --- a/src/Parsee/Config.c +++ b/src/Parsee/Config.c @@ -68,6 +68,7 @@ ParseeConfigLoad(char *conf) CopyToStr(homeserver_host, "hs_host"); CopyToInt(homeserver_port, "hs_port"); CopyToBool(homeserver_tls, "hs_tls"); + CopyToBool(homeserver_tls, "accept_pings"); if (!HashMapGet(json, "hs_tls")) { config->homeserver_tls = true; diff --git a/src/include/Parsee.h b/src/include/Parsee.h index 92aacec..5726286 100644 --- a/src/include/Parsee.h +++ b/src/include/Parsee.h @@ -43,6 +43,8 @@ typedef struct ParseeConfig { int homeserver_port; int homeserver_tls; + bool accept_pings; + /* ------- JABBER -------- */ char *component_addr;