Install rules IDK

I HATE GIT
This commit is contained in:
LDA 2024-08-06 15:01:27 +02:00
commit a92e3daafa
8 changed files with 79 additions and 35 deletions

View file

@ -49,6 +49,7 @@ CommandParse(char *cmd)
char c = *cur;
char *tmp;
bool type;
char char_type;
switch (state)
{
case STATE_WHITE:
@ -73,23 +74,24 @@ CommandParse(char *cmd)
}
break;
case STATE_VALUE:
type = c == '"';
type = c == '"' || c == '\'';
if (type)
{
char_type = c;
cur++;
}
while (*cur)
{
char c = *cur;
char cb[2] = { c, '\0' };
if ((type && c == '"') || (!type && isblank(c)))
if ((type && c == char_type) || (!type && isblank(c)))
{
break;
}
if (c == '\\' && *(cur + 1) == '"')
if (c == '\\' && *(cur + 1) == char_type)
{
cb[0] = '"';
cb[0] = char_type;
cur++;
}
tmp = val;

View file

@ -27,11 +27,9 @@ SignalHandler(int signal)
{
return;
}
/* Create a loopback stanza, forcing the thread to die */
/* TODO: Better way to break out. */
Log(LOG_INFO, "Killing thread...");
//XMPPKillThread(jabber, "killer");
XMPPFinishCompStream(jabber);
pthread_join(xmpp_thr, NULL);
valid = false;
@ -68,10 +66,10 @@ ParseeInitialiseSignals(HttpServer *s, pthread_t xmpp, XMPPComponent *j)
Log(LOG_DEBUG, "Installed signal handler: %s", #sig); \
}
SIGACTION(SIGINT, &sigAction, NULL);
SIGACTION(SIGTERM, &sigAction, NULL);
SIGACTION(SIGPIPE, &sigAction, NULL);
SIGACTION(SIGUSR1, &sigAction, NULL); /* Make USR1 do a softrestart */
SIGACTION(SIGINT, &sigAction, NULL);
SIGACTION(SIGTERM, &sigAction, NULL);
SIGACTION(SIGPIPE, &sigAction, NULL);
SIGACTION(SIGUSR1, &sigAction, NULL); /* Make USR1 do a softrestart */
#undef SIGACTION
return ret;

View file

@ -30,14 +30,33 @@ extern bool ASRegisterUser(const ParseeConfig *, char *);
/* Pings the homeserver to get attention. */
extern void ASPing(const ParseeConfig *);
/* Joins a room from an ID and a given user we want to masquerade
* as. */
extern char * ASJoin(const ParseeConfig *, char *, char *);
/** Joins a room from an {id} and a given {user} we want to masquerade
* as.
* --------------
* Returns: the decoded room ID that was joined[HEAP] | NULL
* Modifies: the rooms/{user}s inner state */
extern char * ASJoin(const ParseeConfig *config, char *id, char *user);
/* Bans from a room a specific user */
extern void ASBan(const ParseeConfig *, char *, char *);
extern void ASKick(const ParseeConfig *, char *, char *);
extern void ASLeave(const ParseeConfig *, char *, char *);
/** Bans from a room a specific user
* ---------------------
* Returns: NOTHING
* Modifies: the rooms state
* See-Also: ASJoin, ASKick, ASLeave */
extern void ASBan(const ParseeConfig *config, char *room, char *user);
/** Kicks from a room a specific user
* ---------------------
* Returns: NOTHING
* Modifies: the rooms state
* See-Also: ASJoin, ASBan, ASLeave */
extern void ASKick(const ParseeConfig *, char *room, char *user);
/** Makes a specific user leave the room
* ---------------------
* Returns: NOTHING
* Modifies: the rooms state
* See-Also: ASJoin, ASKick, ASBan */
extern void ASLeave(const ParseeConfig *config, char *room, char *user);
/* Invites from a room a specific user */
extern void ASInvite(const ParseeConfig *, char *, char *);