int test_ccnet_config(const char *config_dir, int max_users) { g_type_init (); config_dir = ccnet_expand_path (config_dir); if (ccnet_log_init ("-", "debug") < 0) { fprintf (stderr, "ccnet_log_init error: %s\n", strerror(errno)); return -1; } srand (time(NULL)); session = (CcnetSession *)ccnet_server_session_new (); if (!session) { fprintf (stderr, "Error: failed to create ccnet session\n"); return -1; } event_init (); evdns_init (); ccnet_user_manager_set_max_users (((struct CcnetServerSession *)session)->user_mgr, max_users); if (ccnet_session_prepare(session, config_dir, TRUE) < 0) { return -1; } return 0; }
int main (int argc, char **argv) { char *config_dir; char *log_file = 0; const char *debug_str = 0; int relay_mode = 0; g_setenv ("G_SLICE", "always-malloc", 0); config_dir = "../../tests/basic/conf1"; g_type_init (); /* log */ if (!debug_str) debug_str = g_getenv("CCNET_DEBUG"); ccnet_debug_set_flags_string (debug_str); if (!log_file) log_file = "-"; if (ccnet_log_init (log_file, "info") < 0) { fprintf (stderr, "ccnet_log_init error: %s, %s\n", strerror(errno), log_file); exit (1); } srand (time(NULL)); session = (CcnetSession *)ccnet_daemon_session_new (); if (!session) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } event_init (); evdns_init (); if (ccnet_session_prepare(session, config_dir) < 0) { fprintf (stderr, "session prepare error\n"); return -1; } test(); fprintf (stderr, "success\n"); return 0; }
int main (int argc, char **argv) { int c; char *config_dir; char *cluster_config_dir = NULL; char *log_file = 0; const char *debug_str = 0; int daemon_mode = 0; int redirect = 0; const char *log_level_str = "debug"; config_dir = DEFAULT_CONFIG_DIR; #ifdef WIN32 argv = get_argv_utf8 (&argc); #endif while ((c = getopt_long (argc, argv, short_options, long_options, NULL)) != EOF) { switch (c) { case 'h': usage(); exit(0); break; case 'v': exit (1); break; case 'c': config_dir = optarg; break; case 'C': cluster_config_dir = optarg; break; case 'f': log_file = optarg; break; case 'D': debug_str = optarg; break; case 'd': daemon_mode = 1; break; case 'P': pidfile = optarg; break; case 'r': redirect = 1; break; default: fprintf (stderr, "unknown option \"-%c\"\n", (char)c); usage(); exit (1); } } argc -= optind; argv += optind; if (config_dir == NULL) { fprintf (stderr, "Missing config dir\n"); exit (1); } if (cluster_config_dir == NULL) { fprintf (stderr, "Missing cluster config dir\n"); exit (1); } #ifndef WIN32 if (daemon_mode) daemon (1, 0); #endif #if !GLIB_CHECK_VERSION(2, 36, 0) g_type_init (); #endif /* log */ if (!debug_str) debug_str = g_getenv("CCNET_DEBUG"); ccnet_debug_set_flags_string (debug_str); config_dir = ccnet_expand_path (config_dir); if (!log_file) { char *logdir = g_build_filename (cluster_config_dir, "logs", NULL); checkdir_with_mkdir (logdir); g_free (logdir); log_file = g_build_filename (cluster_config_dir, "logs", "ccnet.log", NULL); } if (ccnet_log_init (log_file, log_level_str) < 0) { fprintf (stderr, "ccnet_log_init error: %s, %s\n", strerror(errno), log_file); exit (1); } srand (time(NULL)); session = (CcnetSession *)ccnet_outer_session_new (); if (!session) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } inner_session = (CcnetSession *)ccnet_inner_session_new (); if (!inner_session) { fputs ("Error: failed to start cluster ccnet session, " "see log file for the detail.\n", stderr); return -1; } event_init (); evdns_init (); if (ccnet_session_prepare(session, config_dir) < 0) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } if (ccnet_session_prepare(inner_session, cluster_config_dir) < 0) { fputs ("Error: failed to start cluster ccnet session, " "see log file for the detail.\n", stderr); return -1; } /* write pidfile after session_prepare success, if there is * another instance of ccnet session_prepare will failed. */ if (pidfile) { if (write_pidfile (pidfile) < 0) { ccnet_message ("Failed to write pidfile\n"); return -1; } } atexit (on_ccnet_exit); #ifndef WIN32 setSigHandlers(); #endif ccnet_session_start (session); ccnet_session_start (inner_session); ccnet_start_rpc(session); /* actually enter the event loop */ cluster_mgr = ccnet_cluster_manager_new (); ccnet_cluster_manager_start (cluster_mgr); if (redirect) cluster_mgr->redirect = 1; event_dispatch (); return 0; }
int main (int argc, char **argv) { int c; char *config_dir; char *log_file = 0; const char *debug_str = 0; int daemon_mode = 0; int max_users = 0; const char *log_level_str = "debug"; gboolean test_config = FALSE; config_dir = DEFAULT_CONFIG_DIR; #ifdef WIN32 argv = get_argv_utf8 (&argc); #endif while ((c = getopt_long (argc, argv, short_options, long_options, NULL)) != EOF) { switch (c) { case 'h': usage(); exit(0); break; case 'v': exit (1); break; case 'c': config_dir = optarg; break; case 'f': log_file = optarg; break; case 'D': debug_str = optarg; break; case 'd': daemon_mode = 1; break; case 'P': pidfile = optarg; break; case 'M': max_users = atoi(optarg); break; case 't': test_config = TRUE; break; default: fprintf (stderr, "unknown option \"-%c\"\n", (char)c); usage(); exit (1); } } argc -= optind; argv += optind; if (config_dir == NULL) { fprintf (stderr, "Missing config dir\n"); exit (1); } if (test_config) { /* test ccnet configuration and exit */ return test_ccnet_config (config_dir, max_users); } #ifndef WIN32 #ifndef __APPLE__ if (daemon_mode) daemon (1, 0); #endif #else WSADATA wsadata; WSAStartup(0x0101, &wsadata); #endif g_type_init (); /* log */ if (!debug_str) debug_str = g_getenv("CCNET_DEBUG"); ccnet_debug_set_flags_string (debug_str); config_dir = ccnet_expand_path (config_dir); if (!log_file) { char *logdir = g_build_filename (config_dir, "logs", NULL); checkdir_with_mkdir (logdir); g_free (logdir); log_file = g_build_filename (config_dir, "logs", "ccnet.log", NULL); } if (ccnet_log_init (log_file, log_level_str) < 0) { fprintf (stderr, "ccnet_log_init error: %s, %s\n", strerror(errno), log_file); exit (1); } srand (time(NULL)); session = (CcnetSession *)ccnet_server_session_new (); if (!session) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } event_init (); evdns_init (); ccnet_user_manager_set_max_users (((struct CcnetServerSession *)session)->user_mgr, max_users); if (ccnet_session_prepare(session, config_dir, FALSE) < 0) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } /* write pidfile after session_prepare success, if there is * another instance of ccnet session_prepare will failed. */ if (pidfile) { if (write_pidfile (pidfile) < 0) { ccnet_message ("Failed to write pidfile\n"); return -1; } } atexit (on_ccnet_exit); #ifndef WIN32 setSigHandlers(); #endif ccnet_session_start (session); ccnet_start_rpc(session); /* actually enter the event loop */ event_dispatch (); return 0; }
int main (int argc, char **argv) { int c; char *config_dir; char *log_file = 0; const char *debug_str = 0; int daemon_mode = 0; const char *log_level_str = "debug"; config_dir = DEFAULT_CONFIG_DIR; #ifdef WIN32 argv = get_argv_utf8 (&argc); #endif while ((c = getopt_long (argc, argv, short_options, long_options, NULL)) != EOF) { switch (c) { case 'h': usage(); exit(0); break; case 'v': exit (1); break; case 'c': config_dir = optarg; break; case 'f': log_file = optarg; break; case 'D': debug_str = optarg; break; case 'd': daemon_mode = 1; break; default: usage(); exit (1); } } argc -= optind; argv += optind; if (config_dir == NULL) { fprintf (stderr, "Missing config dir\n"); exit (1); } #ifndef WIN32 #ifndef __APPLE__ if (daemon_mode) daemon (1, 0); #endif #else WSADATA wsadata; WSAStartup(0x0101, &wsadata); #endif g_type_init (); /* log */ if (!debug_str) debug_str = g_getenv("CCNET_DEBUG"); ccnet_debug_set_flags_string (debug_str); config_dir = ccnet_expand_path (config_dir); if (!log_file) { char *logdir = g_build_filename (config_dir, "logs", NULL); checkdir_with_mkdir (logdir); g_free (logdir); log_file = g_build_filename (config_dir, "logs", "ccnet.log", NULL); } if (ccnet_log_init (log_file, log_level_str) < 0) { fprintf (stderr, "ccnet_log_init error: %s, %s\n", strerror(errno), log_file); exit (1); } ccnet_message ("starting ccnet "PACKAGE_VERSION"\n"); srand (time(NULL)); session = (CcnetSession *)ccnet_daemon_session_new (); if (!session) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } event_init (); evdns_init (); if (ccnet_session_prepare(session, config_dir) < 0) { fputs ("Error: failed to start ccnet session, " "see log file for the detail.\n", stderr); return -1; } #ifndef WIN32 setSigHandlers(); #endif ccnet_session_start (session); ccnet_start_rpc(session); /* actually enter the event loop */ /* event_set_log_callback (logFunc); */ event_dispatch (); return 0; }