This commit is contained in:
Gergely Polonkai 2016-04-27 20:30:51 +02:00
parent ce1162c03e
commit c351a1e7ec
8 changed files with 32 additions and 63 deletions

62
TODO
View File

@ -1,50 +1,3 @@
Modular design
==============
[ ] Authentication and authorization
[ ] SQLite3
[ ] MySQL
[ ] PostgreSQL
[ ] LDAP
[ ] Roster storage
[ ] SQLite3
[ ] MySQL
[ ] PostgreSQL
[ ] LDAP?
[ ] Group chat
[ ] File sending
[ ] Server-side chat logging
[ ] GnuTLS
[X] gLib
[ ] gNet
Hooks
=====
[ ] c2s-message
[ ] s2c-message
[ ] s2s-message
[ ] client-authentication
[ ] client-authorization
[ ] client-presence-change
Configuration file
==================
[X] Global logging
[X] Modules
[X] Module directory
[X] Modules to load on startup
[X] Interface
[X] IP
[X] Port
[X] Domain
[-] Certificate file
[-] Key file
[X] Logging
[X] Log destination: syslog, file
[X] Log options: connection events, etc.
Code flow
=========
@ -109,18 +62,3 @@ module must always check the jid via an user storage module, and if necessary,
it should get the password (or any other credentials like a X509 certificate's
Common Name field, or a Kerberos principal name) from this storage module,
either.
Additional modules to provide
=============================
[ ] user-mysql
[ ] roster-mysql
[ ] user-postgresql
[ ] roster-postgresql
[ ] user-ldap
[ ] roster-ldap?
[ ] auth-cyrus-sasl
[ ] log-c2c
[ ] conn-blackwhite-list
Create a well defined module programming API!

0
autogen.sh Executable file → Normal file
View File

View File

@ -1,4 +1,4 @@
lib_LTLIBRARIES = libmod-layer-gnutls.la libmod-auth-gsasl.la libmod-users-sqlite3.la libmod-roster-sqlite3.la
lib_LTLIBRARIES = libmod-layer-gnutls.la libmod-auth-gsasl.la libmod-users-sqlite3.la libmod-roster-sqlite3.la libmod-socket-tcpip.la
libmod_layer_gnutls_la_SOURCES = layer-gnutls.c
libmod_layer_gnutls_la_CPPFLAGS = -I ../src
libmod_auth_gsasl_la_SOURCES = auth-gsasl.c
@ -7,3 +7,5 @@ libmod_users_sqlite3_la_SOURCES = users-sqlite3.c
libmod_users_sqlite3_la_CPPFLAGS = -I ../src
libmod_roster_sqlite3_la_SOURCES = roster-sqlite3.c
libmod_roster_sqlite3_la_CPPFLAGS = -I ../src
libmod_socket_tcpip_la_SOURCES = socket-tcpip.c
libmod_socket_tcpip_la_CPPFLAGS = -I ../src

View File

@ -2,9 +2,18 @@
int wxmppd_mod_auth_gsasl_load(funcptr *);
char *wxmppd_mod_auth_gsasl_runtime_conflicts = {
"auth-cyrus-sasl",
NULL,
};
const wxmppd_module_data_t module_data = {
"auth-gsasl",
"GNU SASL authentication extension",
NULL,
NULL,
NULL,
&wxmppd_mod_auth_gsasl_runtime_conflicts,
(funcptr)wxmppd_mod_auth_gsasl_load,
};

View File

@ -2,9 +2,17 @@
int wxmppd_mod_layer_gnutls_load(funcptr *);
char *wxmppd_mod_layer_gnutls_runtime_conflicts[] = {
"layer-openssl",
};
const wxmppd_module_data_t module_data = {
"layer-gnutls",
"GnuTLS interface extension",
NULL,
NULL,
NULL,
&wxmppd_mod_layer_gnutls_runtime_conflicts,
(funcptr)wxmppd_mod_layer_gnutls_load,
};

View File

@ -5,6 +5,10 @@ int wxmppd_mod_roster_sqlite3_load(funcptr *);
const wxmppd_module_data_t module_data = {
"roster-sqlite3",
"SQLite3 storage module for roster data storage",
NULL,
NULL,
NULL,
NULL,
(funcptr)wxmppd_mod_roster_sqlite3_load,
};

View File

@ -5,6 +5,10 @@ int wxmppd_mod_users_sqlite3_load(funcptr *);
const wxmppd_module_data_t module_data = {
"users-sqlite3",
"SQLite3 storage module for user data storage",
NULL,
NULL,
NULL,
NULL,
(funcptr)wxmppd_mod_users_sqlite3_load,
};

View File

@ -6,6 +6,10 @@ typedef int * (*funcptr) ();
typedef struct _wxmppd_module_data_t {
char *name;
char *description;
char **load_deps;
char **runtime_deps;
char **load_conflicts;
char **runtime_conflicts;
funcptr *load_func;
} wxmppd_module_data_t;