Date: Tue, 11 Jan 2005 19:18:11 +0100 From: Radim Kolar <hsn@netmag.cz> To: FreeBSD-gnats-submit@FreeBSD.org Cc: hsn@netmag.cz Subject: ports/76239: [NEW PORT] net/brutecopy: Transferring files over Internet via UDP Message-ID: <E1CoQap-000Fej-14@sanatana.dharma> Resent-Message-ID: <200501140830.j0E8UWkY046652@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 76239 >Category: ports >Synopsis: [NEW PORT] net/brutecopy: Transferring files over Internet via UDP >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jan 14 08:30:31 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Radim Kolar >Release: FreeBSD 5.3-STABLE i386 >Organization: >Environment: System: FreeBSD sanatana.dharma 5.3-STABLE FreeBSD 5.3-STABLE #0: Fri Dec 31 17:42:48 CET 2004 >Description: It's an application that pushes data using UDP protocol through rotten, overloaded and otherwise disgusting lines. It should work well even on lines on which TCP completely chokes. The transmission is performed at user-preprogrammed fixed data rate with no flow control, only with lost-packet retransmits. Brutalcopy always transfers the file without error, even on erroneous lines. It uses a CRC-32 checksum algorithm together with the checksum in the UDP packets. Warning: using this utility can cause total line congestion. Don't use it on with high transfer rates unless you know what you do. On some routers, the UDP is artificially throttled in order to prevent such practices. Use FSP for more user and bandwidth friendly file transfers. WWW: http://atrey.karlin.mff.cuni.cz/~clock/twibright/bcp/ Generated with FreeBSD Port Tools 0.63 >How-To-Repeat: >Fix: --- brutecopy-20011229.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # brutecopy # brutecopy/Makefile # brutecopy/distinfo # brutecopy/files # brutecopy/files/patch-server # brutecopy/files/patch-client # brutecopy/files/patch-makefile # brutecopy/pkg-descr # echo c - brutecopy mkdir -p brutecopy > /dev/null 2>&1 echo x - brutecopy/Makefile sed 's/^X//' >brutecopy/Makefile << 'END-of-brutecopy/Makefile' X# New ports collection makefile for: brutecopy X# Date created: 11 Jan 2005 X# Whom: x X# X# $FreeBSD$ X# X XPORTNAME= brutecopy XPORTVERSION= 20011229 XCATEGORIES= net XMASTER_SITES= ftp://atrey.karlin.mff.cuni.cz/pub/local/clock/bcp/ XDISTNAME= bcp-${PORTVERSION} XEXTRACT_SUFX= .tgz X XMAINTAINER= ports@FreeBSD.org XCOMMENT= Transferring files over Internet via UDP X XPLIST_FILES= bin/bcpc bin/bcps XMAN1= bcp.1 XMANCOMPRESSED= yes X X.if defined(WITH_OPTIMIZED_CFLAGS) XCFLAGS+= -O3 -Wall -fomit-frame-pointer -falign-functions=0 X.endif X Xdo-install: X ${MKDIR} ${PREFIX}/bin X ${INSTALL_PROGRAM} ${WRKSRC}/bcps ${PREFIX}/bin X ${INSTALL_PROGRAM} ${WRKSRC}/bcpc ${PREFIX}/bin X ${MKDIR} ${MAN1PREFIX}/man/man1 X ${INSTALL_MAN} ${WRKSRC}/bcp.1.gz ${MAN1PREFIX}/man/man1 X Xpre-everything:: X.ifndef WITH_OPTIMIZED_CFLAGS X @${ECHO} "Define WITH_OPTIMIZED_CFLAGS for compiling with -O3" X.endif X X.include <bsd.port.mk> END-of-brutecopy/Makefile echo x - brutecopy/distinfo sed 's/^X//' >brutecopy/distinfo << 'END-of-brutecopy/distinfo' XMD5 (bcp-20011229.tgz) = 2ecd273d34455d43d23cdd03db40b9ab XSIZE (bcp-20011229.tgz) = 21711 END-of-brutecopy/distinfo echo c - brutecopy/files mkdir -p brutecopy/files > /dev/null 2>&1 echo x - brutecopy/files/patch-server sed 's/^X//' >brutecopy/files/patch-server << 'END-of-brutecopy/files/patch-server' X--- bcps.c.orig Sat Dec 29 15:03:13 2001 X+++ bcps.c Tue Jan 11 18:44:43 2005 X@@ -99,28 +99,28 @@ X void X print_help(void) X { X- fprintf(stderr,"bcps -- a Brutalcopy server half X-Brutalcopy (c) 2000 Karel Kulhavy, Clocksoft X- X-Brutalcopy is a program for transferring rather large files by means of UDP X-protocol in order to bypass TCP tendency to screw up on bad lines. Brutalcopy X-is based on manual flow control. X- X-Usage: bcps -p <number_of_port_to_listen on> [-h] [-o X-<filename>] [-s] [-e <number_of_eots>] [-r <eot_period>] [-1] [-2] X-[-q <info_retransmit_timeout>] X- X--p <port> Port must be some high number. Default is 1235. X--h Prints out help and ends. X--o <filename> File to dump the received data to. Default is bcp.dat. X--s Print tickers X--e <n_eots> Number of EOT packets sent at the end. Default is 3. X--r <eot_p> Time distance between consecutive EOT packets in microseconds. X- Default is 100,000. X--q Info packet retransmit timeout in usec. X--1 Do not print tickers X--2 Print nothing X-"); X+ fprintf(stderr,"bcps -- a Brutalcopy server half\n" X+"Brutalcopy (c) 2000 Karel Kulhavy, Clocksoft\n" X+"\n" X+"Brutalcopy is a program for transferring rather large files by means of UDP\n" X+"protocol in order to bypass TCP tendency to screw up on bad lines. Brutalcopy\n" X+"is based on manual flow control.\n" X+"\n" X+"Usage: bcps -p <number_of_port_to_listen on> [-h] [-o\n" X+"<filename>] [-s] [-e <number_of_eots>] [-r <eot_period>] [-1] [-2]\n" X+"[-q <info_retransmit_timeout>]\n" X+"\n" X+"-p <port> Port must be some high number. Default is 1235.\n" X+"-h Prints out help and ends.\n" X+"-o <filename> File to dump the received data to. Default is bcp.dat.\n" X+"-s Print tickers\n" X+"-e <n_eots> Number of EOT packets sent at the end. Default is 3.\n" X+"-r <eot_p> Time distance between consecutive EOT packets in microseconds.\n" X+" Default is 100,000.\n" X+"-q Info packet retransmit timeout in usec.\n" X+"-1 Do not print tickers\n" X+"-2 Print nothing\n" X+"\n"); X } X X void END-of-brutecopy/files/patch-server echo x - brutecopy/files/patch-client sed 's/^X//' >brutecopy/files/patch-client << 'END-of-brutecopy/files/patch-client' X--- bcpc.c.orig Sat Dec 29 15:03:13 2001 X+++ bcpc.c Tue Jan 11 18:49:25 2005 X@@ -80,24 +80,23 @@ X void X print_help(void) X { X- fprintf(stderr,"bcpc -- a Brutalcopy client half X-Brutalcopy (c) 2000 Karel Kulhavy, Clocksoft X- X-Brutalcopy is a program for transferring rather large files by means of UDP X-protocol in order to bypass TCP tendency to screw up on bad lines. Brutalcopy is X-based on manual flow control. X- X-Usage: bcpc -l <server hostname> -p <server port> [-h] [-i X-<filename>] [-s <payload_size>] [-r <sot_retransmit_time>] [-b <bytes_per_sec>] X- X--l <server> DNS name or IP address (in dot notation) of the server. X--p <dist_port> Port must be some high number (>=1024). Default is 1235. X--h Prints out help and ends. X--i <filename> File to dump the received data from. Default is bcp.dat. X--s <payload> Number of bytes as a data payload in a single packet. X--r <srt> Number of microsecond after which is SOT retransmitted. X--b <Bps> Bytes of payload per second X-"); X+ fprintf(stderr,"bcpc -- a Brutalcopy client half\n" X+"Brutalcopy (c) 2000 Karel Kulhavy, Clocksoft\n" X+"\n" X+"Brutalcopy is a program for transferring rather large files by means of UDP\n" X+"protocol in order to bypass TCP tendency to screw up on bad lines. Brutalcopy is\n" X+"based on manual flow control.\n" X+"\n" X+"Usage: bcpc -l <server hostname> -p <server port> [-h] [-i\n" X+"<filename>] [-s <payload_size>] [-r <sot_retransmit_time>] [-b <bytes_per_sec>]\n" X+"-l <server> DNS name or IP address (in dot notation) of the server.\n" X+"-p <dist_port> Port must be some high number (>=1024). Default is 1235.\n" X+"-h Prints out help and ends.\n" X+"-i <filename> File to dump the received data from. Default is bcp.dat.\n" X+"-s <payload> Number of bytes as a data payload in a single packet.\n" X+"-r <srt> Number of microsecond after which is SOT retransmitted.\n" X+"-b <Bps> Bytes of payload per second\n" X+"\n"); X } X X void X@@ -289,8 +288,7 @@ X X if (n>=n_packets) X { X- fprintf(stderr,"Invalid packet seq# of %u from %lu came! It means data are X-corrupted. Quitting immediately.\n",n,n_packets); X+ fprintf(stderr,"Invalid packet seq# of %u from %lu came! It means data are\ncorrupted. Quitting immediately.\n",n,n_packets); X die(); X } X if ((bitmap[byte]>>bit)&1) return; END-of-brutecopy/files/patch-client echo x - brutecopy/files/patch-makefile sed 's/^X//' >brutecopy/files/patch-makefile << 'END-of-brutecopy/files/patch-makefile' X--- Makefile.orig Sat Dec 29 15:03:13 2001 X+++ Makefile Tue Jan 11 18:55:19 2005 X@@ -1,5 +1,4 @@ X-CFLAGS= -O3 -Wall -fomit-frame-pointer -malign-functions=0 X-LDFLAGS= -s X+CFLAGS?=-O3 -Wall -fomit-frame-pointer -falign-functions=0 X X all: bcps bcpc X X@@ -7,18 +6,18 @@ X rm -f *.o bcps bcpc X X bcps.o: bcps.c def.h crc32.c X- gcc -c $(CFLAGS) bcps.c -o bcps.o X+ $(CC) -c $(CFLAGS) bcps.c -o bcps.o X X bcpc.o: bcpc.c def.h crc32.c X- gcc -c $(CFLAGS) bcpc.c -o bcpc.o X+ $(CC) -c $(CFLAGS) bcpc.c -o bcpc.o X X crc32.o: crc32.c X X bcps: bcps.o crc32.o X- gcc $(LDFLAGS) bcps.o crc32.o -o bcps X+ $(CC) $(LDFLAGS) bcps.o crc32.o -o bcps X X bcpc: bcpc.o crc32.o X- gcc $(LDFLAGS) bcpc.o crc32.o -o bcpc X+ $(CC) $(LDFLAGS) bcpc.o crc32.o -o bcpc X X install: all X install -o root -g root -m 755 bcpc $(DESTDIR)/usr/bin END-of-brutecopy/files/patch-makefile echo x - brutecopy/pkg-descr sed 's/^X//' >brutecopy/pkg-descr << 'END-of-brutecopy/pkg-descr' XIt's an application that pushes data using UDP protocol through rotten, Xoverloaded and otherwise disgusting lines. It should work well even on lines Xon which TCP completely chokes. The transmission is performed at Xuser-preprogrammed fixed data rate with no flow control, only with lost-packet Xretransmits. Brutalcopy always transfers the file without error, even on Xerroneous lines. It uses a CRC-32 checksum algorithm together with the checksum Xin the UDP packets. X XWarning: using this utility can cause total line congestion. Don't use it on Xwith high transfer rates unless you know what you do. On some routers, the XUDP is artificially throttled in order to prevent such practices. Use XFSP for more user and bandwidth friendly file transfers. X XWWW: http://atrey.karlin.mff.cuni.cz/~clock/twibright/bcp/ END-of-brutecopy/pkg-descr exit --- brutecopy-20011229.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1CoQap-000Fej-14>