Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/verse/dist/vs_main.c')
-rw-r--r--extern/verse/dist/vs_main.c180
1 files changed, 0 insertions, 180 deletions
diff --git a/extern/verse/dist/vs_main.c b/extern/verse/dist/vs_main.c
deleted file mode 100644
index 3b388eecc56..00000000000
--- a/extern/verse/dist/vs_main.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-** A simple Verse server.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-
-#include "v_cmd_gen.h"
-
-#if !defined V_GENERATE_FUNC_MODE
-
-#include "verse.h"
-#include "v_network.h"
-#include "v_util.h"
-#include "vs_server.h"
-
-extern VNodeID vs_node_create(VNodeID owner_id, unsigned int type);
-extern void callback_send_node_destroy(void *user_data, VNodeID node_id);
-extern void vs_reset_owner(VNodeID owner_id);
-
-static void callback_send_connect(void *user, const char *name, const char *pass, const char *address, const uint8 *host_id)
-{
- VNodeID avatar;
- VSession *session;
-
- printf("Connecting '%s'\n", name);
- if(TRUE)
- {
- avatar = vs_node_create(~0, V_NT_OBJECT);
- session = verse_send_connect_accept(avatar, address, NULL);
- vs_add_new_connection(session, name, pass, avatar);
-/* vs_avatar_init(avatar, name);*/
- }
- else
- {
- verse_send_connect_terminate(address, "I'm sorry but you are not welcome here.");
- }
-}
-
-static void callback_send_connect_terminate(void *user, char *address, char *bye)
-{
- printf("callback_send_connect_terminate\n");
- vs_reset_owner(vs_get_avatar());
- callback_send_node_destroy(NULL, vs_get_avatar());
- verse_session_destroy(vs_get_session());
- vs_remove_connection();
-}
-
-static void vs_load_host_id(const char *file_name)
-{
- FILE *f;
- uint8 id[V_HOST_ID_SIZE];
- size_t got;
-
- /* Attempt to read key from given filename. Fails silently. */
- if((f = fopen(file_name, "rb")) != NULL)
- {
- if((got = fread(id, 1, sizeof id, f)) > 0)
- {
- printf("Loaded %u-bit host ID key successfully\n", 8 * (got / 3));
- verse_host_id_set(id);
- }
- fclose(f);
- if(got)
- return;
- }
- /* If file didn't open, or reading failed, generate a new key and write it out. */
- verse_host_id_create(id);
- verse_host_id_set(id);
- if((f = fopen(file_name, "wb")) != NULL)
- {
- if(fwrite(id, sizeof id, 1, f) != 1)
- fprintf(stderr, "Warning: Couldn't write host ID to \"%s\"\n", file_name);
- fclose(f);
- }
- else
- fprintf(stderr, "Warning: Couldn't open \"%s\" for host ID writing\n", file_name);
-}
-
-static void cb_sigint_handler(int sig)
-{
- if(sig == SIGINT)
- {
- printf("Verse server terminating\n");
- exit(EXIT_SUCCESS);
- }
-}
-
-static void callback_send_ping(void *user, const char *address, const char *message)
-{
- if(strncmp(message, "DESCRIBE", 8) == 0 && message[8] == ' ')
- vs_master_handle_describe(address, message + 9);
-}
-
-static void usage(void)
-{
- printf("Verse server usage:\n");
- printf(" -h\t\t\tShow this usage information.\n");
- printf(" -ms\t\t\tRegisters the server with a master server at the address\n");
- printf(" \t\t\tgiven with the -ms:ip= option. Off by default.\n");
- printf(" -ms:ip=IP[:PORT]\tSet master server to register with. Implies -ms.\n");
- printf(" \t\t\tThe default address is <%s>.\n", vs_master_get_address());
- printf(" -ms:de=DESC\t\tSet description, sent to master server.\n");
- printf(" -ms:ta=TAGS\t\tSet tags, sent to master server.\n");
- printf(" -port=PORT\t\tSet port to use for incoming connections.\n");
- printf(" -version\t\tPrint version information and exit.\n");
-}
-
-int main(int argc, char **argv)
-{
- uint32 i, seconds, fractions, port = VERSE_STD_CONNECT_PORT;
-
- signal(SIGINT, cb_sigint_handler);
-
- vs_master_set_address("master.uni-verse.org"); /* The default master address. */
- vs_master_set_enabled(FALSE); /* Make sure master server support is disabled. */
- for(i = 1; i < (uint32) argc; i++)
- {
- if(strcmp(argv[i], "-h") == 0)
- {
- usage();
- return EXIT_SUCCESS;
- }
- else if(strcmp(argv[i], "-ms") == 0)
- vs_master_set_enabled(TRUE);
- else if(strncmp(argv[i], "-ms:ip=", 7) == 0)
- {
- vs_master_set_address(argv[i] + 7);
- vs_master_set_enabled(TRUE);
- }
- else if(strncmp(argv[i], "-ms:de=", 7) == 0)
- vs_master_set_desc(argv[i] + 7);
- else if(strncmp(argv[i], "-ms:ta=", 7) == 0)
- vs_master_set_tags(argv[i] + 7);
- else if(strncmp(argv[i], "-port=", 6) == 0)
- port = strtoul(argv[i] + 6, NULL, 0);
- else if(strcmp(argv[i], "-version") == 0)
- {
- printf("r%up%u%s\n", V_RELEASE_NUMBER, V_RELEASE_PATCH, V_RELEASE_LABEL);
- return EXIT_SUCCESS;
- }
- else
- fprintf(stderr, "Ignoring unknown argument \"%s\", try -h for help\n", argv[i]);
- }
-
- printf("Verse Server r%up%u%s by Eskil Steenberg <http://verse.blender.org/>\n", V_RELEASE_NUMBER, V_RELEASE_PATCH, V_RELEASE_LABEL);
- verse_set_port(port); /* The Verse standard port. */
- printf(" Listening on port %d\n", port);
-
- /* Seed the random number generator. Still rather too weak for crypto, I guess. */
- v_n_get_current_time(&seconds, &fractions);
- srand(seconds ^ fractions);
-
- vs_load_host_id("host_id.rsa");
- vs_init_node_storage();
- vs_o_callback_init();
- vs_g_callback_init();
- vs_m_callback_init();
- vs_b_callback_init();
- vs_t_callback_init();
- vs_c_callback_init();
- vs_a_callback_init();
- vs_h_callback_init();
- init_callback_node_storage();
- verse_callback_set(verse_send_ping, callback_send_ping, NULL);
- verse_callback_set(verse_send_connect, callback_send_connect, NULL);
- verse_callback_set(verse_send_connect_terminate, callback_send_connect_terminate, NULL);
-
- while(TRUE)
- {
- vs_set_next_session();
- verse_callback_update(1000000);
- vs_master_update();
- }
- return EXIT_SUCCESS;
-}
-
-#endif /* V_GENERATE_FUNC_MODE */