Fix hfs_receiver_check() on a relative path.
[rsync-patches.git] / openssl-support.diff
index 099a6b8b198f9b62dcdd91ad0a68e95f1da406ac..d3818868dc2632c2e83cdcf9d1aab23f9f98861f 100644 (file)
@@ -35,7 +35,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 3bd9f51917ed5718275c6132006be155239a0550
+based-on: a59a7b242393699fedeb4f66911e3fc9b4fadd73
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -164,7 +164,7 @@ diff --git a/clientserver.c b/clientserver.c
                        return -1;
                }
  
-@@ -693,6 +740,10 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
+@@ -716,6 +763,10 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
                                set_env_num("RSYNC_PID", (long)pid);
                                if (wait_process(pid, &status, 0) < 0)
                                        status = -1;
@@ -175,7 +175,7 @@ diff --git a/clientserver.c b/clientserver.c
                                set_env_num("RSYNC_RAW_STATUS", status);
                                if (WIFEXITED(status))
                                        status = WEXITSTATUS(status);
-@@ -1034,6 +1085,9 @@ int start_daemon(int f_in, int f_out)
+@@ -1071,6 +1122,9 @@ int start_daemon(int f_in, int f_out)
        if (exchange_protocols(f_in, f_out, line, sizeof line, 0) < 0)
                return -1;
  
@@ -185,7 +185,7 @@ diff --git a/clientserver.c b/clientserver.c
        line[0] = 0;
        if (!read_line_old(f_in, line, sizeof line, 0))
                return -1;
-@@ -1045,6 +1099,20 @@ int start_daemon(int f_in, int f_out)
+@@ -1082,6 +1136,20 @@ int start_daemon(int f_in, int f_out)
                return -1;
        }
  
@@ -209,7 +209,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -318,6 +318,25 @@ if test x"$enable_locale" != x"no"; then
+@@ -320,6 +320,25 @@ if test x"$enable_locale" != x"no"; then
        AC_DEFINE(CONFIG_LOCALE)
  fi
  
@@ -238,7 +238,7 @@ diff --git a/configure.ac b/configure.ac
 diff --git a/main.c b/main.c
 --- a/main.c
 +++ b/main.c
-@@ -91,6 +91,9 @@ extern char backup_dir_buf[MAXPATHLEN];
+@@ -92,6 +92,9 @@ extern char backup_dir_buf[MAXPATHLEN];
  extern char *basis_dir[MAX_BASIS_DIRS+1];
  extern struct file_list *first_flist;
  extern filter_rule_list daemon_filter_list;
@@ -248,7 +248,7 @@ diff --git a/main.c b/main.c
  
  uid_t our_uid;
  gid_t our_gid;
-@@ -151,6 +154,52 @@ pid_t wait_process(pid_t pid, int *status_ptr, int flags)
+@@ -152,6 +155,52 @@ pid_t wait_process(pid_t pid, int *status_ptr, int flags)
        return waited_pid;
  }
  
@@ -301,7 +301,7 @@ diff --git a/main.c b/main.c
  /* Wait for a process to exit, calling io_flush while waiting. */
  static void wait_process_with_flush(pid_t pid, int *exit_code_ptr)
  {
-@@ -806,6 +855,11 @@ static void do_server_sender(int f_in, int f_out, int argc, char *argv[])
+@@ -808,6 +857,11 @@ static void do_server_sender(int f_in, int f_out, int argc, char *argv[])
                argv[0] = ".";
        }
  
@@ -313,7 +313,7 @@ diff --git a/main.c b/main.c
        flist = send_file_list(f_out,argc,argv);
        if (!flist || flist->used == 0)
                exit_cleanup(0);
-@@ -926,6 +980,10 @@ static int do_recv(int f_in, int f_out, char *local_name)
+@@ -928,6 +982,10 @@ static int do_recv(int f_in, int f_out, char *local_name)
  
        io_start_buffering_out(f_out);
        io_start_multiplex_in(f_in);
@@ -324,7 +324,7 @@ diff --git a/main.c b/main.c
  
  #ifdef SUPPORT_HARD_LINKS
        if (preserve_hard_links && inc_recurse) {
-@@ -1130,6 +1188,10 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
+@@ -1132,6 +1190,10 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
                        io_start_multiplex_in(f_in);
                else
                        io_start_buffering_in(f_in);
@@ -338,7 +338,7 @@ diff --git a/main.c b/main.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -191,6 +191,14 @@ int logfile_format_has_o_or_i = 0;
+@@ -192,6 +192,14 @@ int logfile_format_has_o_or_i = 0;
  int always_checksum = 0;
  int list_only = 0;
  
@@ -353,7 +353,7 @@ diff --git a/options.c b/options.c
  #define MAX_BATCH_NAME_LEN 256        /* Must be less than MAXPATHLEN-13 */
  char *batch_name = NULL;
  
-@@ -568,6 +576,7 @@ static void print_rsync_version(enum logcode f)
+@@ -570,6 +578,7 @@ static void print_rsync_version(enum logcode f)
        char const *links = "no ";
        char const *iconv = "no ";
        char const *ipv6 = "no ";
@@ -361,7 +361,7 @@ diff --git a/options.c b/options.c
        STRUCT_STAT *dumstat;
  
  #if SUBPROTOCOL_VERSION != 0
-@@ -601,6 +610,9 @@ static void print_rsync_version(enum logcode f)
+@@ -606,6 +615,9 @@ static void print_rsync_version(enum logcode f)
  #ifdef CAN_SET_SYMLINK_TIMES
        symtimes = "";
  #endif
@@ -371,18 +371,18 @@ diff --git a/options.c b/options.c
  
        rprintf(f, "%s  version %s  protocol version %d%s\n",
                RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -614,8 +626,8 @@ static void print_rsync_version(enum logcode f)
+@@ -619,8 +631,8 @@ static void print_rsync_version(enum logcode f)
                (int)(sizeof (int64) * 8));
        rprintf(f, "    %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
                got_socketpair, hardlinks, links, ipv6, have_inplace);
--      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes\n",
--              have_inplace, acls, xattrs, iconv, symtimes);
-+      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes, %sSSL\n",
-+              have_inplace, acls, xattrs, iconv, symtimes, ssl);
+-      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes, %sprealloc\n",
+-              have_inplace, acls, xattrs, iconv, symtimes, prealloc);
++      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes, %sprealloc, %sSSL\n",
++              have_inplace, acls, xattrs, iconv, symtimes, prealloc, ssl);
  
  #ifdef MAINTAINER_MODE
        rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -787,6 +799,13 @@ void usage(enum logcode F)
+@@ -797,6 +809,13 @@ void usage(enum logcode F)
  #endif
    rprintf(F," -4, --ipv4                  prefer IPv4\n");
    rprintf(F," -6, --ipv6                  prefer IPv6\n");
@@ -396,7 +396,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --version               print version number\n");
    rprintf(F,"(-h) --help                  show this help (-h works with no other options)\n");
  
-@@ -800,7 +819,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -810,7 +829,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
        OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
        OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
        OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
@@ -405,7 +405,7 @@ diff --git a/options.c b/options.c
        OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT,
        OPT_SERVER, OPT_REFUSED_BASE = 9000};
  
-@@ -1018,6 +1037,13 @@ static struct poptOption long_options[] = {
+@@ -1029,6 +1048,13 @@ static struct poptOption long_options[] = {
    {"checksum-seed",    0,  POPT_ARG_INT,    &checksum_seed, 0, 0, 0 },
    {"server",           0,  POPT_ARG_NONE,   0, OPT_SERVER, 0, 0 },
    {"sender",           0,  POPT_ARG_NONE,   0, OPT_SENDER, 0, 0 },
@@ -419,7 +419,7 @@ diff --git a/options.c b/options.c
    /* All the following options switch us into daemon-mode option-parsing. */
    {"config",           0,  POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
    {"daemon",           0,  POPT_ARG_NONE,   0, OPT_DAEMON, 0, 0 },
-@@ -1045,6 +1071,13 @@ static void daemon_usage(enum logcode F)
+@@ -1056,6 +1082,13 @@ static void daemon_usage(enum logcode F)
    rprintf(F," -v, --verbose               increase verbosity\n");
    rprintf(F," -4, --ipv4                  prefer IPv4\n");
    rprintf(F," -6, --ipv6                  prefer IPv6\n");
@@ -433,7 +433,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --help                  show this help screen\n");
  
    rprintf(F,"\n");
-@@ -1070,6 +1103,13 @@ static struct poptOption long_daemon_options[] = {
+@@ -1081,6 +1114,13 @@ static struct poptOption long_daemon_options[] = {
    {"protocol",         0,  POPT_ARG_INT,    &protocol_version, 0, 0, 0 },
    {"server",           0,  POPT_ARG_NONE,   &am_server, 0, 0, 0 },
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
@@ -447,7 +447,7 @@ diff --git a/options.c b/options.c
    {"verbose",         'v', POPT_ARG_NONE,   0, 'v', 0, 0 },
    {"no-verbose",       0,  POPT_ARG_VAL,    &verbose, 0, 0, 0 },
    {"no-v",             0,  POPT_ARG_VAL,    &verbose, 0, 0, 0 },
-@@ -1365,6 +1405,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1376,6 +1416,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                                        verbose++;
                                        break;
  
@@ -460,7 +460,7 @@ diff --git a/options.c b/options.c
                                default:
                                        rprintf(FERROR,
                                            "rsync: %s: %s (in daemon mode)\n",
-@@ -1391,6 +1437,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1402,6 +1448,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                                exit_cleanup(RERR_SYNTAX);
                        }
  
@@ -478,7 +478,7 @@ diff --git a/options.c b/options.c
                        *argv_p = argv = poptGetArgs(pc);
                        *argc_p = argc = count_args(argv);
                        am_starting_up = 0;
-@@ -1769,6 +1826,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1780,6 +1837,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        return 0;
  #endif
  
@@ -491,7 +491,7 @@ diff --git a/options.c b/options.c
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off. */
-@@ -2173,6 +2236,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2184,6 +2247,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
        if (delay_updates && !partial_dir)
                partial_dir = tmp_partialdir;
  
@@ -509,7 +509,7 @@ diff --git a/options.c b/options.c
        if (inplace) {
  #ifdef HAVE_FTRUNCATE
                if (partial_dir) {
-@@ -2765,9 +2839,18 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
+@@ -2779,9 +2853,18 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
  {
        char *path;
  
@@ -542,7 +542,7 @@ diff --git a/rsync.h b/rsync.h
  
  #define SYMLINK_PREFIX "/rsyncd-munged/"  /* This MUST have a trailing slash! */
  #define SYMLINK_PREFIX_LEN ((int)sizeof SYMLINK_PREFIX - 1)
-@@ -600,6 +601,11 @@ typedef unsigned int size_t;
+@@ -608,6 +609,11 @@ typedef unsigned int size_t;
  # define SIZEOF_INT64 SIZEOF_OFF_T
  #endif