mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 21:15:11 +00:00
[MOD] Use server_base instead of the API host
This wasn't an issue because the server I test on has the same API host as its name.
This commit is contained in:
parent
b773ebabc2
commit
dd180ee3f4
10 changed files with 29 additions and 28 deletions
22
src/AS.c
22
src/AS.c
|
|
@ -130,7 +130,7 @@ ASInvite(const ParseeConfig *conf, char *id, char *invited)
|
||||||
|
|
||||||
bridge = StrConcat(4,
|
bridge = StrConcat(4,
|
||||||
"@", conf->sender_localpart,
|
"@", conf->sender_localpart,
|
||||||
":", conf->homeserver_host
|
":", conf->server_base
|
||||||
);
|
);
|
||||||
path = StrConcat(5,
|
path = StrConcat(5,
|
||||||
"/_matrix/client/v3/rooms/", id, "/invite",
|
"/_matrix/client/v3/rooms/", id, "/invite",
|
||||||
|
|
@ -165,7 +165,7 @@ ASBan(const ParseeConfig *conf, char *id, char *banned)
|
||||||
|
|
||||||
bridge = StrConcat(4,
|
bridge = StrConcat(4,
|
||||||
"@", conf->sender_localpart,
|
"@", conf->sender_localpart,
|
||||||
":", conf->homeserver_host
|
":", conf->server_base
|
||||||
);
|
);
|
||||||
path = StrConcat(5,
|
path = StrConcat(5,
|
||||||
"/_matrix/client/v3/rooms/", id, "/ban",
|
"/_matrix/client/v3/rooms/", id, "/ban",
|
||||||
|
|
@ -200,7 +200,7 @@ ASKick(const ParseeConfig *conf, char *id, char *banned)
|
||||||
|
|
||||||
bridge = StrConcat(4,
|
bridge = StrConcat(4,
|
||||||
"@", conf->sender_localpart,
|
"@", conf->sender_localpart,
|
||||||
":", conf->homeserver_host
|
":", conf->server_base
|
||||||
);
|
);
|
||||||
path = StrConcat(5,
|
path = StrConcat(5,
|
||||||
"/_matrix/client/v3/rooms/", id, "/kick",
|
"/_matrix/client/v3/rooms/", id, "/kick",
|
||||||
|
|
@ -237,7 +237,7 @@ ASJoin(const ParseeConfig *conf, char *id, char *masquerade)
|
||||||
{
|
{
|
||||||
char *raw = StrConcat(4,
|
char *raw = StrConcat(4,
|
||||||
"@", conf->sender_localpart,
|
"@", conf->sender_localpart,
|
||||||
":", conf->homeserver_host
|
":", conf->server_base
|
||||||
);
|
);
|
||||||
masquerade = HttpUrlEncode(raw);
|
masquerade = HttpUrlEncode(raw);
|
||||||
Free(raw);
|
Free(raw);
|
||||||
|
|
@ -287,7 +287,7 @@ ASLeave(const ParseeConfig *conf, char *id, char *masquerade)
|
||||||
{
|
{
|
||||||
char *raw = StrConcat(4,
|
char *raw = StrConcat(4,
|
||||||
"@", conf->sender_localpart,
|
"@", conf->sender_localpart,
|
||||||
":", conf->homeserver_host
|
":", conf->server_base
|
||||||
);
|
);
|
||||||
masquerade = HttpUrlEncode(raw);
|
masquerade = HttpUrlEncode(raw);
|
||||||
Free(raw);
|
Free(raw);
|
||||||
|
|
@ -540,7 +540,7 @@ ASFind(const ParseeConfig *c, char *room, char *event)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
user = StrConcat(4, "@", c->sender_localpart, ":", c->homeserver_host);
|
user = StrConcat(4, "@", c->sender_localpart, ":", c->server_base);
|
||||||
path = StrConcat(7,
|
path = StrConcat(7,
|
||||||
"/_matrix/client/v3/rooms/",
|
"/_matrix/client/v3/rooms/",
|
||||||
room, "/event/", event, "?",
|
room, "/event/", event, "?",
|
||||||
|
|
@ -665,7 +665,7 @@ ASSetPL(const ParseeConfig *conf, char *id, HashMap *m)
|
||||||
}
|
}
|
||||||
user = StrConcat(4,
|
user = StrConcat(4,
|
||||||
"@",conf->sender_localpart,
|
"@",conf->sender_localpart,
|
||||||
":",conf->homeserver_host
|
":",conf->server_base
|
||||||
);
|
);
|
||||||
ASSetState(conf, id, "m.room.power_levels", "", user, m);
|
ASSetState(conf, id, "m.room.power_levels", "", user, m);
|
||||||
Free(user);
|
Free(user);
|
||||||
|
|
@ -684,7 +684,7 @@ ASUpload(const ParseeConfig *c, Stream *from, unsigned int size, char *mime)
|
||||||
}
|
}
|
||||||
|
|
||||||
size_str = StrInt(size);
|
size_str = StrInt(size);
|
||||||
user = StrConcat(4, "@",c->sender_localpart,":",c->homeserver_host);
|
user = StrConcat(4, "@",c->sender_localpart,":",c->server_base);
|
||||||
path = StrConcat(2,
|
path = StrConcat(2,
|
||||||
"/_matrix/media/v3/upload?user_id=", user
|
"/_matrix/media/v3/upload?user_id=", user
|
||||||
);
|
);
|
||||||
|
|
@ -866,7 +866,7 @@ ASGetUserConfig(const ParseeConfig *c, char *user, char *key)
|
||||||
{
|
{
|
||||||
char *raw = StrConcat(4,
|
char *raw = StrConcat(4,
|
||||||
"@", c->sender_localpart,
|
"@", c->sender_localpart,
|
||||||
":", c->homeserver_host
|
":", c->server_base
|
||||||
);
|
);
|
||||||
user = HttpUrlEncode(raw);
|
user = HttpUrlEncode(raw);
|
||||||
Free(raw);
|
Free(raw);
|
||||||
|
|
@ -909,7 +909,7 @@ ASSetUserConfig(const ParseeConfig *c, char *user, char *key, HashMap *map)
|
||||||
{
|
{
|
||||||
char *raw = StrConcat(4,
|
char *raw = StrConcat(4,
|
||||||
"@", c->sender_localpart,
|
"@", c->sender_localpart,
|
||||||
":", c->homeserver_host
|
":", c->server_base
|
||||||
);
|
);
|
||||||
user = HttpUrlEncode(raw);
|
user = HttpUrlEncode(raw);
|
||||||
Free(raw);
|
Free(raw);
|
||||||
|
|
@ -951,7 +951,7 @@ ASRedact(const ParseeConfig *c, char *room, char *user, char *e_id)
|
||||||
{
|
{
|
||||||
char *raw = StrConcat(4,
|
char *raw = StrConcat(4,
|
||||||
"@", c->sender_localpart,
|
"@", c->sender_localpart,
|
||||||
":", c->homeserver_host
|
":", c->server_base
|
||||||
);
|
);
|
||||||
user = HttpUrlEncode(raw);
|
user = HttpUrlEncode(raw);
|
||||||
Free(raw);
|
Free(raw);
|
||||||
|
|
|
||||||
|
|
@ -104,10 +104,7 @@ ParseeBotHandler(ParseeData *data, HashMap *event)
|
||||||
char *body = GrabString(event, 2, "content", "body");
|
char *body = GrabString(event, 2, "content", "body");
|
||||||
char *id = GrabString(event, 1, "room_id");
|
char *id = GrabString(event, 1, "room_id");
|
||||||
char *sender = GrabString(event, 1, "sender");
|
char *sender = GrabString(event, 1, "sender");
|
||||||
char *profile = StrConcat(4,
|
char *profile = ParseeMXID(data);
|
||||||
"@", data->config->sender_localpart,
|
|
||||||
":", data->config->homeserver_host
|
|
||||||
);
|
|
||||||
Command *cmd = NULL;
|
Command *cmd = NULL;
|
||||||
ParseeCmdArg arg = {
|
ParseeCmdArg arg = {
|
||||||
.data = data,
|
.data = data,
|
||||||
|
|
|
||||||
|
|
@ -181,6 +181,10 @@ ParseeConfigInit(void)
|
||||||
"Base media URL for bridged media",
|
"Base media URL for bridged media",
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* TODO: Make that configurable. */
|
||||||
|
config->server_base = StrDuplicate(config->homeserver_host);
|
||||||
|
|
||||||
Log(LOG_NOTICE, "Done! Please look over to the parsee.yaml file, ");
|
Log(LOG_NOTICE, "Done! Please look over to the parsee.yaml file, ");
|
||||||
Log(LOG_NOTICE, "and follow the instructions listed in it. Then, ");
|
Log(LOG_NOTICE, "and follow the instructions listed in it. Then, ");
|
||||||
Log(LOG_NOTICE, "restart Parsee. ");
|
Log(LOG_NOTICE, "restart Parsee. ");
|
||||||
|
|
@ -196,6 +200,7 @@ ParseeConfigInit(void)
|
||||||
HashMapSet(json, "listen_as", JsonValueString(config->listen_as));
|
HashMapSet(json, "listen_as", JsonValueString(config->listen_as));
|
||||||
HashMapSet(json, "port", JsonValueInteger(config->port));
|
HashMapSet(json, "port", JsonValueInteger(config->port));
|
||||||
|
|
||||||
|
HashMapSet(json, "hs_base", JsonValueString(config->server_base));
|
||||||
HashMapSet(json, "hs_host", JsonValueString(config->homeserver_host));
|
HashMapSet(json, "hs_host", JsonValueString(config->homeserver_host));
|
||||||
HashMapSet(json, "hs_port", JsonValueInteger(config->homeserver_port));
|
HashMapSet(json, "hs_port", JsonValueInteger(config->homeserver_port));
|
||||||
|
|
||||||
|
|
@ -239,6 +244,7 @@ ParseeConfigLoad(char *conf)
|
||||||
CopyToStr(listen_as, "listen_as");
|
CopyToStr(listen_as, "listen_as");
|
||||||
CopyToInt(port, "port");
|
CopyToInt(port, "port");
|
||||||
|
|
||||||
|
CopyToStr(server_base, "hs_base");
|
||||||
CopyToStr(homeserver_host, "hs_host");
|
CopyToStr(homeserver_host, "hs_host");
|
||||||
CopyToInt(homeserver_port, "hs_port");
|
CopyToInt(homeserver_port, "hs_port");
|
||||||
|
|
||||||
|
|
@ -296,6 +302,7 @@ ParseeConfigFree(void)
|
||||||
|
|
||||||
Free(config->as_token);
|
Free(config->as_token);
|
||||||
Free(config->hs_token);
|
Free(config->hs_token);
|
||||||
|
Free(config->server_base);
|
||||||
Free(config->sender_localpart);
|
Free(config->sender_localpart);
|
||||||
Free(config->namespace_base);
|
Free(config->namespace_base);
|
||||||
Free(config->media_base);
|
Free(config->media_base);
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ ParseeEncodeJID(const ParseeConfig *c, char *jid, bool trim)
|
||||||
Free(tmp);
|
Free(tmp);
|
||||||
}
|
}
|
||||||
tmp = ret;
|
tmp = ret;
|
||||||
ret = StrConcat(4, "@", ret, ":", c->homeserver_host);
|
ret = StrConcat(4, "@", ret, ":", c->server_base);
|
||||||
Free(tmp);
|
Free(tmp);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
@ -754,5 +754,5 @@ char *
|
||||||
ParseeMXID(ParseeData *data)
|
ParseeMXID(ParseeData *data)
|
||||||
{
|
{
|
||||||
return StrConcat(4, "@", data->config->sender_localpart,
|
return StrConcat(4, "@", data->config->sender_localpart,
|
||||||
":", data->config->homeserver_host);
|
":", data->config->server_base);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -97,11 +97,8 @@ RouteHead(RouteRoomAck, arr, argp)
|
||||||
);
|
);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
creator = StrConcat(
|
creator = ParseeMXID(args->data);
|
||||||
4,
|
|
||||||
"@", args->data->config->sender_localpart, ":",
|
|
||||||
args->data->config->homeserver_host
|
|
||||||
);
|
|
||||||
id = ASCreateRoom(
|
id = ASCreateRoom(
|
||||||
args->data->config,
|
args->data->config,
|
||||||
creator, room
|
creator, room
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ XEP393Decode(StrView view, XEP393Element *root)
|
||||||
span_view.end = subview.start;
|
span_view.end = subview.start;
|
||||||
Spanify(XEP393_NL);
|
Spanify(XEP393_NL);
|
||||||
}
|
}
|
||||||
else if (IdentifySpans('>', '\n', subview, &span_view))
|
else if (sol && IdentifySpans('>', '\n', subview, &span_view))
|
||||||
{
|
{
|
||||||
/* TODO: This doesnt work with more than one line of quotes. */
|
/* TODO: This doesnt work with more than one line of quotes. */
|
||||||
Spanify(XEP393_QUOT);
|
Spanify(XEP393_QUOT);
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,7 @@ ScrambleOID(ParseeData *data, char *opaque_oid)
|
||||||
mxid = StrConcat(
|
mxid = StrConcat(
|
||||||
6,
|
6,
|
||||||
"@", c->namespace_base, "_l_", sha, ":",
|
"@", c->namespace_base, "_l_", sha, ":",
|
||||||
c->homeserver_host
|
c->server_base
|
||||||
);
|
);
|
||||||
Free(sha);
|
Free(sha);
|
||||||
return mxid;
|
return mxid;
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,7 @@
|
||||||
|
|
||||||
#include <Parsee.h>
|
#include <Parsee.h>
|
||||||
|
|
||||||
#define BotInitialise() char *profile = StrConcat(4, \
|
#define BotInitialise() char *profile = ParseeMXID(data); \
|
||||||
"@", data->config->sender_localpart, \
|
|
||||||
":", data->config->homeserver_host \
|
|
||||||
); \
|
|
||||||
char *id = GrabString(event, 1, "room_id")
|
char *id = GrabString(event, 1, "room_id")
|
||||||
|
|
||||||
#define BotRequired(prop) prop = HashMapGet(cmd->arguments, #prop); \
|
#define BotRequired(prop) prop = HashMapGet(cmd->arguments, #prop); \
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ typedef struct ParseeConfig {
|
||||||
char *sender_localpart;
|
char *sender_localpart;
|
||||||
char *namespace_base;
|
char *namespace_base;
|
||||||
|
|
||||||
|
char *server_base;
|
||||||
char *listen_as;
|
char *listen_as;
|
||||||
char *media_base;
|
char *media_base;
|
||||||
int port;
|
int port;
|
||||||
|
|
|
||||||
|
|
@ -32,4 +32,6 @@ extern size_t StrLines(char **split);
|
||||||
/* Creates a full zone covering every part of the split */
|
/* Creates a full zone covering every part of the split */
|
||||||
extern StringRect StrFullRect(char **split);
|
extern StringRect StrFullRect(char **split);
|
||||||
|
|
||||||
|
extern char Str
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue