X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=client-src%2Fsendbackup.c;h=506d45babb9e9456fb89bec87cf96177fecea57e;hb=c6f0a88c567f8536c498f554285aed1f8150da18;hp=ffb260c6e6dad338657cc1ca078ce48163f8c008;hpb=fd48f3e498442f0cbff5f3606c7c403d0566150e;p=debian%2Famanda diff --git a/client-src/sendbackup.c b/client-src/sendbackup.c index ffb260c..506d45b 100644 --- a/client-src/sendbackup.c +++ b/client-src/sendbackup.c @@ -39,7 +39,6 @@ #include "getfsent.h" #include "conffile.h" #include "amandates.h" -#include "stream.h" #define sendbackup_debug(i, ...) do { \ if ((i) <= debug_sendbackup) { \ @@ -127,6 +126,11 @@ main( FILE *mesgstream; level_t *alevel; + if (argc > 1 && argv && argv[1] && g_str_equal(argv[1], "--version")) { + printf("sendbackup-%s\n", VERSION); + return (0); + } + /* initialize */ /* * Configure program for internationalization: @@ -468,6 +472,10 @@ main( } } + if (merge_dles_properties(dle, 1) == 0) { + g_debug("merge_dles_properties failed"); + exit(1); + } mesgstream = fdopen(mesgfd,"w"); run_client_scripts(EXECUTE_ON_PRE_DLE_BACKUP, g_options, dle, mesgstream); fflush(mesgstream); @@ -578,49 +586,6 @@ main( switch(application_api_pid=fork()) { case 0: - application_api_info_tapeheader(mesgfd, dle->program, dle); - - /* find directt-tcp address from indirect direct-tcp */ - if (dle->data_path == DATA_PATH_DIRECTTCP && - bsu->data_path_set & DATA_PATH_DIRECTTCP && - strncmp(dle->directtcp_list->data, "255.255.255.255:", 16) == 0) { - char *indirect_tcp; - char *str_port; - in_port_t port; - int fd; - char buffer[32770]; - int size; - char *s, *s1; - - indirect_tcp = stralloc(dle->directtcp_list->data); - g_slist_free(dle->directtcp_list); - dle->directtcp_list = NULL; - str_port = strchr(indirect_tcp, ':'); - str_port++; - port = atoi(str_port); - fd = stream_client("localhost", port, 32768, 32768, NULL, 0); - if (fd <= 0) { - g_debug("Failed to connect to indirect-direct-tcp port: %s", - strerror(errno)); - exit(1); - } - size = full_read(fd, buffer, 32768); - if (size <= 0) { - g_debug("Failed to read from indirect-direct-tcp port: %s", - strerror(errno)); - exit(1); - } - buffer[size++] = ' '; - buffer[size] = '\0'; - s1 = buffer; - while ((s = strchr(s1, ' ')) != NULL) { - *s++ = '\0'; - dle->directtcp_list = g_slist_append(dle->directtcp_list, stralloc(s1)); - s1 = s; - } - amfree(indirect_tcp); - } - argv_ptr = g_ptr_array_new(); cmd = vstralloc(APPLICATION_DIR, "/", dle->program, NULL); g_ptr_array_add(argv_ptr, stralloc(dle->program)); @@ -690,6 +655,7 @@ main( } fcntl(indexfd, F_SETFD, 0); } + application_api_info_tapeheader(mesgfd, dle->program, dle); if (indexfd != 0) { safe_fd(3, 2); } else {