X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/0f78b81511be65d8fe21af1e6ac674f9e80ac29d..aac5cab80b9d4fc0adff2b72aeba2406176930ae:/compat.c diff --git a/compat.c b/compat.c index c8066bda..b22c983b 100644 --- a/compat.c +++ b/compat.c @@ -15,9 +15,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #include "rsync.h" @@ -26,9 +26,11 @@ int remote_protocol = 0; extern int verbose; extern int am_server; +extern int am_sender; extern int inplace; extern int fuzzy_basis; extern int read_batch; +extern int max_delete; extern int checksum_seed; extern int basis_dir_cnt; extern int prune_empty_dirs; @@ -75,6 +77,16 @@ void setup_protocol(int f_out,int f_in) exit_cleanup(RERR_PROTOCOL); } + if (protocol_version < 30) { + if (max_delete == 0 && am_sender) { + rprintf(FERROR, + "--max-delete=0 requires protocol 30 or higher" + " (negotiated %d).\n", + protocol_version); + exit_cleanup(RERR_PROTOCOL); + } + } + if (protocol_version < 29) { if (fuzzy_basis) { rprintf(FERROR,