[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ossec-dev] Database related patches for ossec 1.4
I've added port and socket options to the database tag for mysql. I don't
have postgresql installed, so I did not change the connect call for it to
use the port number.
port is specified by <port>number</port> in the database tag
socket is specified by <socket>path_to_socket</socket> in the database tag
The socket is used if the database host is not specified.
diff -rpN ossec-hids-1.4.orig/src/config/dbd-config.c ossec-hids-1.4/src/config/dbd-config.c
*** ossec-hids-1.4.orig/src/config/dbd-config.c 2007-08-25 08:24:03.000000000 -0500
--- ossec-hids-1.4/src/config/dbd-config.c 2007-10-31 11:13:24.000000000 -0500
*************** int Read_DB(XML_NODE node, void *config1
*** 28,33 ****
--- 28,35 ----
char *xml_dbuser = "username";
char *xml_dbpass = "password";
char *xml_dbdb = "database";
+ char *xml_dbport = "port";
+ char *xml_dbsock = "socket";
char *xml_dbtype = "type";
*************** int Read_DB(XML_NODE node, void *config1
*** 68,73 ****
--- 70,83 ----
{
os_strdup(node[i]->content, db_config->db);
}
+ else if(strcmp(node[i]->element, xml_dbport) == 0)
+ {
+ db_config->port = atoi(node[i]->content);
+ }
+ else if(strcmp(node[i]->element, xml_dbsock) == 0)
+ {
+ os_strdup(node[i]->content, db_config->sock);
+ }
else if(strcmp(node[i]->element, xml_dbtype) == 0)
{
if(strcmp(node[i]->content, "mysql") == 0)
diff -rpN ossec-hids-1.4.orig/src/config/dbd-config.h ossec-hids-1.4/src/config/dbd-config.h
*** ossec-hids-1.4.orig/src/config/dbd-config.h 2007-08-27 22:08:14.000000000 -0500
--- ossec-hids-1.4/src/config/dbd-config.h 2007-10-31 11:13:24.000000000 -0500
*************** typedef struct _DBConfig
*** 28,34 ****
char *user;
char *pass;
char *db;
!
void *conn;
void *location_hash;
--- 28,36 ----
char *user;
char *pass;
char *db;
! unsigned int port;
! char *sock;
!
void *conn;
void *location_hash;
diff -rpN ossec-hids-1.4.orig/src/os_dbd/alert.c ossec-hids-1.4/src/os_dbd/alert.c
*** ossec-hids-1.4.orig/src/os_dbd/alert.c 2007-09-17 20:20:49.000000000 -0500
--- ossec-hids-1.4/src/os_dbd/alert.c 2007-10-31 11:13:24.000000000 -0500
*************** int OS_Alert_InsertDB(alert_data *al_dat
*** 165,177 ****
/* Inserting data */
! snprintf(sql_query, OS_SIZE_2048,
! "INSERT INTO "
! "data(id, server_id, \"user\",full_log) "
! "VALUES ('%u', '%u', '%s', '%s') ",
! db_config->alert_id, db_config->server_id,
! al_data->user, al_data->log[0]);
/* Inserting into the db */
if(!osdb_query_insert(db_config->conn, sql_query))
{
--- 165,189 ----
/* Inserting data */
! if (db_config->db_type == POSTGDB)
! {
! snprintf(sql_query, OS_SIZE_2048,
! "INSERT INTO "
! "data(id, server_id, \"user\",full_log) "
! "VALUES ('%u', '%u', '%s', '%s') ",
! db_config->alert_id, db_config->server_id,
! al_data->user, al_data->log[0]);
! }
! else
! {
! snprintf(sql_query, OS_SIZE_2048,
! "INSERT INTO "
! "data(id, server_id, user, full_log) "
! "VALUES ('%u', '%u', '%s', '%s') ",
! db_config->alert_id, db_config->server_id,
! al_data->user, al_data->log[0]);
+ }
/* Inserting into the db */
if(!osdb_query_insert(db_config->conn, sql_query))
{
diff -rpN ossec-hids-1.4.orig/src/os_dbd/config.c ossec-hids-1.4/src/os_dbd/config.c
*** ossec-hids-1.4.orig/src/os_dbd/config.c 2007-08-27 22:08:15.000000000 -0500
--- ossec-hids-1.4/src/os_dbd/config.c 2007-10-31 11:51:37.000000000 -0500
*************** int OS_ReadDBConf(int test_config, char
*** 43,48 ****
--- 43,50 ----
db_config->user = NULL;
db_config->pass = NULL;
db_config->db = NULL;
+ db_config->port = 3306;
+ db_config->sock = NULL;
db_config->db_type = 0;
db_config->maxreconnect = 0;
*************** int OS_ReadDBConf(int test_config, char
*** 75,80 ****
--- 77,83 ----
!db_config->user ||
!db_config->pass ||
!db_config->db ||
+ !db_config->sock ||
!db_config->db_type)
{
merror(DB_MISS_CONFIG, ARGV0);
diff -rpN ossec-hids-1.4.orig/src/os_dbd/db_op.c ossec-hids-1.4/src/os_dbd/db_op.c
*** ossec-hids-1.4.orig/src/os_dbd/db_op.c 2007-09-27 16:56:22.000000000 -0500
--- ossec-hids-1.4/src/os_dbd/db_op.c 2007-10-31 11:50:39.000000000 -0500
*************** void osdb_checkerror()
*** 92,98 ****
db_config_pt->conn = osdb_connect(db_config_pt->host,
db_config_pt->user,
db_config_pt->pass,
! db_config_pt->db);
/* If we were able to reconnect, keep going. */
if(db_config_pt->conn)
--- 92,100 ----
db_config_pt->conn = osdb_connect(db_config_pt->host,
db_config_pt->user,
db_config_pt->pass,
! db_config_pt->db,
! db_config_pt->port,
! db_config_pt->sock);
/* If we were able to reconnect, keep going. */
if(db_config_pt->conn)
*************** void osdb_setconfig(DBConfig *db_config)
*** 146,152 ****
/* Create the database connection.
* Returns NULL on error
*/
! void *mysql_osdb_connect(char *host, char *user, char *pass, char *db)
{
MYSQL *conn;
conn = mysql_init(NULL);
--- 148,154 ----
/* Create the database connection.
* Returns NULL on error
*/
! void *mysql_osdb_connect(char *host, char *user, char *pass, char *db,int port, char *sock)
{
MYSQL *conn;
conn = mysql_init(NULL);
*************** void *mysql_osdb_connect(char *host, cha
*** 155,161 ****
merror(DBINIT_ERROR, ARGV0);
return(NULL);
}
! if(mysql_real_connect(conn, host, user, pass, db, 0, NULL, 0) == NULL)
{
merror(DBCONN_ERROR, ARGV0, host, db, mysql_error(conn));
mysql_close(conn);
--- 157,170 ----
merror(DBINIT_ERROR, ARGV0);
return(NULL);
}
!
!
! /** if host is null, use socket **/
! if (host == NULL)
! {
! mysql_options(conn, MYSQL_OPT_NAMED_PIPE, NULL);
! }
! if(mysql_real_connect(conn, host, user, pass, db, port, sock, 0) == NULL)
{
merror(DBCONN_ERROR, ARGV0, host, db, mysql_error(conn));
mysql_close(conn);
*************** int mysql_osdb_query_select(void *db_con
*** 255,261 ****
* Create the PostgreSQL database connection.
* Return NULL on error
*/
! void *postgresql_osdb_connect(char *host, char *user, char *pass, char *db)
{
PGconn *conn;
--- 264,270 ----
* Create the PostgreSQL database connection.
* Return NULL on error
*/
! void *postgresql_osdb_connect(char *host, char *user, char *pass, char *db, int port, char *sock)
{
PGconn *conn;
*************** int postgresql_osdb_query_select(void *d
*** 365,371 ****
! void *none_osdb_connect(char *host, char *user, char *pass, char *db)
{
char *tmp;
--- 374,380 ----
! void *none_osdb_connect(char *host, char *user, char *pass, char *db, int port, char *sock)
{
char *tmp;
diff -rpN ossec-hids-1.4.orig/src/os_dbd/db_op.h ossec-hids-1.4/src/os_dbd/db_op.h
*** ossec-hids-1.4.orig/src/os_dbd/db_op.h 2007-08-25 08:24:04.000000000 -0500
--- ossec-hids-1.4/src/os_dbd/db_op.h 2007-10-31 11:13:24.000000000 -0500
***************
*** 20,28 ****
/* Connects to the database */
! void *(*osdb_connect)(char *host, char *user, char *pass, char *db);
! void *mysql_osdb_connect(char *host, char *user, char *pass, char *db);
! void *postgresql_osdb_connect(char *host, char *user, char *pass, char *db);
/* Sends insert query to the database */
int (* osdb_query_insert)(void *db_conn, char *query);
--- 20,28 ----
/* Connects to the database */
! void *(*osdb_connect)(char *host, char *user, char *pass, char *db, int port, char *sock);
! void *mysql_osdb_connect(char *host, char *user, char *pass, char *db, int port, char *sock);
! void *postgresql_osdb_connect(char *host, char *user, char *pass, char *db, int port, char *sock);
/* Sends insert query to the database */
int (* osdb_query_insert)(void *db_conn, char *query);
diff -rpN ossec-hids-1.4.orig/src/os_dbd/main.c ossec-hids-1.4/src/os_dbd/main.c
*** ossec-hids-1.4.orig/src/os_dbd/main.c 2007-10-11 17:17:58.000000000 -0500
--- ossec-hids-1.4/src/os_dbd/main.c 2007-10-31 11:13:24.000000000 -0500
*************** int main(int argc, char **argv)
*** 156,164 ****
/* Maybe disable this debug? */
! debug1("%s: DEBUG: Connecting to '%s', using '%s', '%s', '%s'.",
ARGV0, db_config.host, db_config.user,
! db_config.pass, db_config.db);
/* Setting config pointer */
--- 156,164 ----
/* Maybe disable this debug? */
! debug1("%s: DEBUG: Connecting to '%s', using '%s', '%s', '%s', %d,'%s'.",
ARGV0, db_config.host, db_config.user,
! db_config.pass, db_config.db,db_config.port,db_config.sock);
/* Setting config pointer */
*************** int main(int argc, char **argv)
*** 175,181 ****
while(c <= db_config.maxreconnect)
{
db_config.conn = osdb_connect(db_config.host, db_config.user,
! db_config.pass, db_config.db);
/* If we are able to reconnect, keep going */
if(db_config.conn)
--- 175,182 ----
while(c <= db_config.maxreconnect)
{
db_config.conn = osdb_connect(db_config.host, db_config.user,
! db_config.pass, db_config.db,
! db_config.port,db_config.sock);
/* If we are able to reconnect, keep going */
if(db_config.conn)
OSSEC home |
Main Index |
Thread Index
OSSEC project: www.ossec.net.
Mailling list information: http://www.ossec.net/en/mailing_lists.html.