[Add] Adding IRC network handling.
This commit is contained in:
parent
adba9189df
commit
94dbf32103
@ -1,4 +1,4 @@
|
|||||||
SRC = config.c plugin.c
|
SRC = config.c plugin.c network.c
|
||||||
CFLAGS += -fPIC -shared -Wl,-soname,config.so -O3
|
CFLAGS += -fPIC -shared -Wl,-soname,config.so -O3
|
||||||
LDFLAGS += -ldl
|
LDFLAGS += -ldl
|
||||||
|
|
||||||
|
@ -1,9 +1,20 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
void configProcess(const char* command, const char* arg1, const char* arg2) {
|
void configProcess(const char* command, const char* arg1, const char* arg2) {
|
||||||
if(strcmp(command, "plugin") == 0) {
|
char network[64];
|
||||||
|
|
||||||
|
*network = 0;
|
||||||
|
|
||||||
|
if(strcmp(command, "}") == 0)
|
||||||
|
*network = 0;
|
||||||
|
else if(strlen(network) != 0) {
|
||||||
|
/* TODO: Add network setup params. */
|
||||||
|
} else if(strcmp(command, "plugin") == 0) {
|
||||||
if(strcmp(arg1, "scan") == 0)
|
if(strcmp(arg1, "scan") == 0)
|
||||||
pluginCrawl(arg2);
|
pluginCrawl(arg2);
|
||||||
|
} else if(strcmp(command, "network") == 0) {
|
||||||
|
strncpy(network, arg1, 64);
|
||||||
|
networkAdd(arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -13,6 +24,8 @@ int configRead(const char* path) {
|
|||||||
FILE* fp;
|
FILE* fp;
|
||||||
char command[64], arg1[128], arg2[128], buff[512];
|
char command[64], arg1[128], arg2[128], buff[512];
|
||||||
|
|
||||||
|
networkInit();
|
||||||
|
|
||||||
if((fp = fopen(path, "r")) == NULL) {
|
if((fp = fopen(path, "r")) == NULL) {
|
||||||
fprintf(stderr, "[CONFIG] Unable to open configuration file %s. We're screwed\n", path);
|
fprintf(stderr, "[CONFIG] Unable to open configuration file %s. We're screwed\n", path);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -9,9 +9,11 @@
|
|||||||
|
|
||||||
#include "api.h"
|
#include "api.h"
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
|
#include "network.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PLUGIN plugin;
|
PLUGIN plugin;
|
||||||
|
struct NETWORK_ENTRY* network;
|
||||||
} CONFIG;
|
} CONFIG;
|
||||||
|
|
||||||
CONFIG* config;
|
CONFIG* config;
|
||||||
|
27
base/config/network.c
Normal file
27
base/config/network.c
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
void networkAdd(const char* name) {
|
||||||
|
struct NETWORK_ENTRY* network;
|
||||||
|
|
||||||
|
if((network = malloc(sizeof(struct NETWORK_ENTRY))) == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
strncpy(network->name, name, 64);
|
||||||
|
*network->host = *network->layer = 0;
|
||||||
|
network->port = 6667;
|
||||||
|
strncpy(network->nick, "C-3PO", 64);
|
||||||
|
network->network_handle = NULL;
|
||||||
|
network->next = 0;
|
||||||
|
|
||||||
|
network->next = config->network;
|
||||||
|
config->network = network;
|
||||||
|
|
||||||
|
fprintf(stderr, "Debug: Added network %s\n", name);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void networkInit() {
|
||||||
|
config->network = NULL;
|
||||||
|
return;
|
||||||
|
}
|
24
base/config/network.h
Normal file
24
base/config/network.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
struct NETWORK_CHANNEL {
|
||||||
|
char name[128];
|
||||||
|
char key[128];
|
||||||
|
int last_sent;
|
||||||
|
int cap;
|
||||||
|
struct NETWORK_CHANNEL* next;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct NETWORK_ENTRY {
|
||||||
|
char name[64];
|
||||||
|
char host[128];
|
||||||
|
int port;
|
||||||
|
char nick[64];
|
||||||
|
char layer[64];
|
||||||
|
|
||||||
|
void* network_handle;
|
||||||
|
struct NETWORK_CHANNEL* channel;
|
||||||
|
struct NETWORK_ENTRY* next;
|
||||||
|
};
|
||||||
|
|
||||||
|
void networkAdd(const char* name);
|
||||||
|
void networkInit();
|
@ -2,6 +2,7 @@ plugin scan base
|
|||||||
plugin scan extra
|
plugin scan extra
|
||||||
|
|
||||||
network Libera {
|
network Libera {
|
||||||
|
layer plain
|
||||||
server irc.libera.chat
|
server irc.libera.chat
|
||||||
port 6667
|
port 6667
|
||||||
nick C-3PO
|
nick C-3PO
|
||||||
|
Loading…
Reference in New Issue
Block a user