From 1ee6c18cfb5eb03f33a5938b37e357dd3fd2c164 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 8 Dec 2005 14:41:53 +0100 Subject: Add abstraction layer for storage --- unix.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'unix.c') diff --git a/unix.c b/unix.c index c4b3975e..6813be31 100644 --- a/unix.c +++ b/unix.c @@ -51,11 +51,12 @@ int main( int argc, char *argv[] ) CONF_FILE = g_strdup( CONF_FILE_DEF ); global.helpfile = g_strdup( HELP_FILE ); - + global.conf = conf_load( argc, argv ); if( global.conf == NULL ) return( 1 ); - + + if( global.conf->runmode == RUNMODE_INETD ) { i = bitlbee_inetd_init(); @@ -69,6 +70,13 @@ int main( int argc, char *argv[] ) } if( i != 0 ) return( i ); + + global.storage = storage_init( global.conf->storage ); + if ( global.storage == NULL) { + log_message( LOGLVL_ERROR, "No such storage backend '%s'", global.conf->storage ); + return( 1 ); + } + /* Catch some signals to tell the user what's happening before quitting */ memset( &sig, 0, sizeof( sig ) ); @@ -86,10 +94,6 @@ int main( int argc, char *argv[] ) if( !getuid() || !geteuid() ) log_message( LOGLVL_WARNING, "BitlBee is running with root privileges. Why?" ); - if( access( global.conf->configdir, F_OK ) != 0 ) - log_message( LOGLVL_WARNING, "The configuration directory %s does not exist. Configuration won't be saved.", CONFIG ); - else if( access( global.conf->configdir, R_OK ) != 0 || access( global.conf->configdir, W_OK ) != 0 ) - log_message( LOGLVL_WARNING, "Permission problem: Can't read/write from/to %s.", global.conf->configdir ); if( help_init( &(global.help) ) == NULL ) log_message( LOGLVL_WARNING, "Error opening helpfile %s.", HELP_FILE ); -- cgit v1.2.3 From b73ac9c35fb53203b8d0668251dfb66096883863 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 14 Dec 2005 00:05:27 +0100 Subject: Add support for 'primary' and 'migrate' account storages. Fix two bugs in the text storage backend that were introduced by my previous changes. --- unix.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'unix.c') diff --git a/unix.c b/unix.c index 6813be31..75f0b11d 100644 --- a/unix.c +++ b/unix.c @@ -71,9 +71,10 @@ int main( int argc, char *argv[] ) if( i != 0 ) return( i ); - global.storage = storage_init( global.conf->storage ); + global.storage = storage_init( global.conf->primary_storage, + global.conf->migrate_storage ); if ( global.storage == NULL) { - log_message( LOGLVL_ERROR, "No such storage backend '%s'", global.conf->storage ); + log_message( LOGLVL_ERROR, "Unable to load storage backend '%s'", global.conf->primary_storage ); return( 1 ); } -- cgit v1.2.3