mirror of
https://github.com/matrix-construct/construct
synced 2024-12-28 16:34:13 +01:00
m_server: reenable required cap negotiation
This commit is contained in:
parent
f01f67f0ad
commit
79d488b283
1 changed files with 6 additions and 15 deletions
|
@ -75,7 +75,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
const char *name;
|
const char *name;
|
||||||
struct Client *target_p;
|
struct Client *target_p;
|
||||||
int hop;
|
int hop;
|
||||||
struct Capability *cap;
|
unsigned int required_mask;
|
||||||
|
|
||||||
name = parv[1];
|
name = parv[1];
|
||||||
hop = atoi(parv[2]);
|
hop = atoi(parv[2]);
|
||||||
|
@ -109,24 +109,15 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NOTYET
|
|
||||||
/* check to ensure any "required" caps are set. --nenolod */
|
/* check to ensure any "required" caps are set. --nenolod */
|
||||||
for (cap = captab; cap->name; cap++)
|
/* XXX: show required CAPABs. */
|
||||||
|
required_mask = capability_index_get_required(serv_capindex);
|
||||||
|
if (!(client_p->localClient->caps & required_mask))
|
||||||
{
|
{
|
||||||
if (!cap->required)
|
exit_client(client_p, client_p, client_p, "Missing required CAPABs");
|
||||||
continue;
|
|
||||||
|
|
||||||
if (!(client_p->localClient->caps & cap->cap))
|
return 0;
|
||||||
{
|
|
||||||
char exitbuf[BUFSIZE];
|
|
||||||
|
|
||||||
rb_snprintf(exitbuf, BUFSIZE, "Missing required CAPAB [%s]", cap->name);
|
|
||||||
exit_client(client_p, client_p, client_p, exitbuf);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Now we just have to call check_server and everything should be
|
/* Now we just have to call check_server and everything should be
|
||||||
* check for us... -A1kmm. */
|
* check for us... -A1kmm. */
|
||||||
|
|
Loading…
Reference in a new issue