From ba21b3dad1b02c278bb24ec3ce6edfa7dd692842 Mon Sep 17 00:00:00 2001 From: hsn <> Date: Fri, 14 Jan 2005 08:27:53 +0000 Subject: [PATCH] repo sync --- ChangeLog | 11 ++++++++- MACHINES | 2 +- TODO | 17 +++++++------ clients/fhost.c | 2 +- clients/fhostcmd.c | 2 ++ clients/fsetupcmd.c | 8 +++--- clients/fspsites.l | 4 +-- clients/merge.c | 1 + configure.ac | 3 +-- fspd.conf | 2 +- man/Makefile.am | 5 ++-- man/fhostcmd.1 | 2 +- man/fmv.1 | 1 + man/fmvcmd.1 | 22 +++++++++++++++++ man/fsetup.1 | 1 + man/fsetupcmd.1 | 60 +++++++++++++++++++++++++++++++++++++++++++++ man/fstat.1 | 1 + setup.sh | 2 +- 18 files changed, 122 insertions(+), 24 deletions(-) create mode 100644 man/fmv.1 create mode 100644 man/fmvcmd.1 create mode 100644 man/fsetup.1 create mode 100644 man/fsetupcmd.1 create mode 100644 man/fstat.1 diff --git a/ChangeLog b/ChangeLog index ae34031..6e20bc6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Version NEXT +Version 2.8.1b23 - 14 Jan 2005 use srandomdev for seeding of client seq. number generator make dirlister smarter - save one RTT per each directory listings Locking uses unsigned int sized key, not unsigned short @@ -56,6 +56,15 @@ Version NEXT fhostcmd: ignore servers without port number set new command fsetup: C rewrite of old Perl script. This command is like fhostcmd but uses standard fspsites file format + man: new manpage for fspsites.5 + merged client: added support for fbye + added man page fstat.1 -> fstatcmd.1 + added man page for fmvcmd.1 + removed -Wconversion GCC compile option + setup.sh give Sven credits for fgetcmd + added man page for fsetup.1 + fhostcmd, fsetupcmd - report error on non numeric on zero port number + fspsites.l - allow multiple aliases per site. Non standard, but nice. Version 2.8.1b22 - 20 Dec 2004 fixed sf bug 1060594: fspd: owner can't rename files diff --git a/MACHINES b/MACHINES index 2f22906..7418664 100644 --- a/MACHINES +++ b/MACHINES @@ -15,4 +15,4 @@ FSP Version CPU OS Compiler C library 2.8.1 Beta 14 i386 RedHat 7.3 2.8.1 Beta 14 i386 Conectiva Linux 9 2.8.1 Beta 19 i386 FreeBSD 5.2 gcc-3.3 -2.8.1 Beta 20 i386 FreeBSD 5.3 gcc-3.4 +2.8.1 Beta 23 i386 FreeBSD 5.3 gcc-3.4 diff --git a/TODO b/TODO index 7ff5aac..a840b92 100644 --- a/TODO +++ b/TODO @@ -47,7 +47,7 @@ FUTURE FEATURES FOR SERVER: :high: required for 2.8.2 final report number of clients connected, size of hostable in new command CC_INFO command -special defence against rapid/double fire clients (burst command in fspclient) +possible? special defence against rapid/double fire clients (burst command in fspclient) Native Supports for symbolic links (needed for mirroring Debian) new LSTAT COMMAND, new MAKELINK command @@ -69,9 +69,6 @@ use ntons a podobne funkce v iprange.c ipv6 socket support privileged Hosts, excluded from Byte transfer Limit (hard to do) -new toy -FSP Proxy repeater - take a look at old code, but we have NAT and fspproxy - today. PERFORMANCE: do host hashtable shrinking/clearing sometimes @@ -82,10 +79,14 @@ Current performance 1925648B/s MAN: separate manpage for 7 fsp (protocol definition) == write FSP RFC -Register udp/21 for FSP in iana. FSP RFC needed! -manual page for fmvcmd.1 +Register udp/21 for FSP in http://www.iana.org/ FSP RFC needed! manual page for fsetup.1 +POSSIBLE NEW PROJECTS +FSP Proxy repeater - take a look at old code, but we have NAT and fspproxy + today. +Experimental transfer HTTP over fsp transport + libraries and support for FSP protocol ====================================== @@ -94,10 +95,10 @@ DONE: FSP over HTTP DONE: new small,light fsplib for C. FSP plugin for Netscape/MSIE. - Not possible to write protocol plugins with Netscape 3 SDK + Not possible to write protocol plugins with Netscape 3 SDK, + not sure about MSIE or Mozilla we have fsproxy now. FSP backend for APT -Experimental transfer HTTP over fsp transport FSP support in major ftp programs: lftp,wget,curl AVFS plugin http://sourceforge.net/projects/avf diff --git a/clients/fhost.c b/clients/fhost.c index 54bf193..fb01e7d 100644 --- a/clients/fhost.c +++ b/clients/fhost.c @@ -170,7 +170,7 @@ int print_host_setup(struct fsp_host *setup,int csh,int lhost) lhost=NAME; else if (lhost==NAME && !setup->hostname) - host=NUMBER; + lhost=NUMBER; } printf("%s", (lhost==NAME)? setup->hostname : setup->hostaddr); if (csh) printf(";\n"); diff --git a/clients/fhostcmd.c b/clients/fhostcmd.c index 5efe7d7..8b53950 100644 --- a/clients/fhostcmd.c +++ b/clients/fhostcmd.c @@ -154,6 +154,8 @@ int main (int argc, char ** argv) if (!isdigit(*p) && *p!='.') setup->hostname=argv[optind]; if (!setup->hostname) setup->hostaddr=argv[optind]; setup->port=atol(argv[optind+1]); + if(setup->port==0) + setup=init_host(); if (argc > optind + 1) setup->dir=argv[optind+2]; /* directory given, too */ } else if (argc > optind) { /* abbreviation given */ parse_prof_file_new(filename); diff --git a/clients/fsetupcmd.c b/clients/fsetupcmd.c index 246a2f2..9116d1f 100644 --- a/clients/fsetupcmd.c +++ b/clients/fsetupcmd.c @@ -119,16 +119,16 @@ int main (int argc, char ** argv) if (!isdigit(*p) && *p!='.') setup->hostname=argv[optind]; if (!setup->hostname) setup->hostaddr=argv[optind]; setup->port=atol(argv[optind+1]); + if(setup->port==0) + setup=init_host(); if (argc > optind + 1) setup->dir=argv[optind+2]; /* directory given, too */ } else if (argc > optind) { /* abbreviation given */ parse_prof_file_new(filename); setup=find_host(argv[optind]); if(!setup) setup=init_host(); } else { /* list or set command-line options */ - if (filename || argc==1) { /* list only */ - parse_prof_file_new(filename); - list_prof_file(); - exit(EX_OK); + if (filename || argc==1) { /* no arguments */ + setup_usage(); } } if(setup->hostname==NULL && setup->hostaddr==NULL) diff --git a/clients/fspsites.l b/clients/fspsites.l index 2b6dc8c..ba2c903 100644 --- a/clients/fspsites.l +++ b/clients/fspsites.l @@ -41,7 +41,7 @@ HOSTNAME [[:alpha:]][\-._[:alnum:]]+ BEGIN(sport); } {NUMBER} host->port=atoi(yytext);BEGIN(salias); -{HOSTNAME} add_host_alias(host,yytext);BEGIN(sdir); -\/[[:graph:]]* host->dir=strdup(yytext);BEGIN(INITIAL); +{HOSTNAME} add_host_alias(host,yytext); +\/[[:graph:]]* host->dir=strdup(yytext);BEGIN(INITIAL); {EOL} add_host(host);host=NULL;BEGIN(INITIAL); <> add_host(host);host=NULL;BEGIN(INITIAL);yyterminate(); diff --git a/clients/merge.c b/clients/merge.c index 1e235c7..1b22fde 100644 --- a/clients/merge.c +++ b/clients/merge.c @@ -40,6 +40,7 @@ int main (int argc, char ** argv) else if(!strcmp(q,"ffindcmd")) ffindcmd_main(argc,argv); else if(!strcmp(q,"fstatcmd")) fstatcmd_main(argc,argv); else if(!strcmp(q,"fmvcmd")) fmvcmd_main(argc,argv); + else if(!strcmp(q,"fbye")) fbye_main(argc,argv); else { fprintf(stderr,"Unknown FSP client command: %s\n",q); exit(EX_USAGE); diff --git a/configure.ac b/configure.ac index f503943..f18f6e3 100644 --- a/configure.ac +++ b/configure.ac @@ -72,8 +72,7 @@ then -Wno-system-headers -Wredundant-decls \ -Wmissing-noreturn -pedantic \ -Wlong-long -Wundef -Winline \ - -Wno-unused-parameter \ - -Wconversion# -Wunreachable-code + -Wno-unused-parameter # -Wconversion -Wunreachable-code do if $CC $i $ac_cv_prog_gcc_flags -c configure-dummy.c >/dev/null 2>&1 then ac_cv_prog_gcc_flags="$ac_cv_prog_gcc_flags $i" diff --git a/fspd.conf b/fspd.conf index ab7f0eb..5b2df60 100644 --- a/fspd.conf +++ b/fspd.conf @@ -75,7 +75,7 @@ pidlogname /var/run/fspd.pid grabcommand on # The 'vercommand' can turn fver command on or off. All known FSP scanners -# are using this command as detection of FSP presence. +# are using this command for detection of FSP server presence. # vercommand must be disabled for stealth operation. Yes, lamers sucks. vercommand on diff --git a/man/Makefile.am b/man/Makefile.am index 5510690..308623a 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -2,7 +2,8 @@ man_MANS= fcat.1 fcatcmd.1 fcd.1 fcdcmd.1 fdu.1 fducmd.1 ffind.1 ffindcmd.1 \ fget.1 fgetcmd.1 fgrab.1 fgrabcmd.1 fhost.1 fhostcmd.1 fls.1 \ flscmd.1 fmkdir.1 fpro.1 fprocmd.1 fput.1 frm.1 frmcmd.1 frmdir.1 \ - frmdircmd.1 fsp_prof.5 fspd.1 fver.1 fstatcmd.1 fspscan.1 \ - fsp_env.7 fbye.1 fspsites.5 + frmdircmd.1 fsp_prof.5 fspd.1 fver.1 fstatcmd.1 fstat.1 \ + fspscan.1 fsp_env.7 fbye.1 fspsites.5 fmv.1 fmvcmd.1 \ + fsetup.1 fsetupcmd.1 EXTRA_DIST=$(man_MANS) diff --git a/man/fhostcmd.1 b/man/fhostcmd.1 index 41e3aa6..a019ade 100644 --- a/man/fhostcmd.1 +++ b/man/fhostcmd.1 @@ -123,4 +123,4 @@ set (resp. unset) if needed. See fsp_env(7) for list. .PD fcatcmd(1), fcdcmd(1), fgetcmd(1), fgrabcmd(1), flscmd(1), fmkdir(1), fprocmd(1), fput(1), frmcmd(1), frmdircmd(1), fver(1), fducmd(1), -fhostcmd(1), fspd(1), fsp_prof(5), ffindcmd(1), fsp_env(7) +fhostcmd(1), fspd(1), fsp_prof(5), ffindcmd(1), fsp_env(7), fspsites(5) diff --git a/man/fmv.1 b/man/fmv.1 new file mode 100644 index 0000000..a735e76 --- /dev/null +++ b/man/fmv.1 @@ -0,0 +1 @@ +.so man1/fmvcmd.1 diff --git a/man/fmvcmd.1 b/man/fmvcmd.1 new file mode 100644 index 0000000..464e4a9 --- /dev/null +++ b/man/fmvcmd.1 @@ -0,0 +1,22 @@ +.TH FMVCMD 1 "Jan 2005" FSP +.SH NAME +fmv, fmvcmd \- rename files on the FSP server +.SH SYNOPSIS +.B fmvcmd +.I oldfile newfile +.SH DESCRIPTION +.LP +This command renames file on FSP server. +.LP +You can use wildcard +for matching oldfile name. This wilcard must not be expanded into +more than one file name by FSP server. + +.SH ENVIRONMENT +.LP +See fsp_env(7) for list of used environment variables. +.SH "SEE ALSO" +.PD +fcatcmd(1), fcdcmd(1), fgetcmd(1), fgrabcmd(1), flscmd(1), fmkdir(1), +fprocmd(1), fput(1), frmcmd(1), frmdircmd(1), fver(1), fducmd(1), +fhostcmd(1), fspd(1), fsp_prof(5), ffindcmd(1), fsp_env(7), fbye(1) diff --git a/man/fsetup.1 b/man/fsetup.1 new file mode 100644 index 0000000..b010585 --- /dev/null +++ b/man/fsetup.1 @@ -0,0 +1 @@ +.so man1/fsetupcmd.1 diff --git a/man/fsetupcmd.1 b/man/fsetupcmd.1 new file mode 100644 index 0000000..e35745f --- /dev/null +++ b/man/fsetupcmd.1 @@ -0,0 +1,60 @@ +.TH FSETUP 1 "Jan 2005" FSP +.SH NAME +fsetupcmd, fsetup \- set environment variables +.SH SYNOPSIS +.B fsetup [-c | -b] host port [directory] | abbreviation +.SH DESCRIPTION +.LP +.B fsetup +uses a resources files to set all environmant variables needed to connect to a +given host via FSP. +.B fsetup +loads all available resource files. If server is defined in multiple +files, first match is returned. Load order is +.I .fspsites +in the current working directory and in the user's home +directory. Then a system wide default file is used. +If +.B fsetup +is invoked with an abbreviation given, the resource files are searched for the +first host to match this abbreviation. The values given for this host will +be set. +.LP +If +.B fsetup +is invoked with a given host and port number, this host will be used and no +searching in the resource file will be done. +.LP +Since programs cannot change environment variables of their parent shell in +a simple way, it is recommended that the user defines a shell alias or +function to make it possible. +.B csh +example: +.LP +.nf +alias fsetup 'eval `fsetupcmd \!*`' +.fi +.SH FILES +For more information about the resource file confer +.I fspsites(5). +.SH ARGUMENTS +.LP +.B -b +-- output Bourne shell code +.LP +.B -c +-- output C shell code +.SH ENVIRONMENT +.LP +The environment variables associate this program with a FSP database and are +set (resp. unset) if needed. See fsp_env(7) for list. +.SH HISTORY +.LP +This is rewrite of classic fsetup Perl script which was used in gold +FSP era to parse standard fspsites format used for FSP site list exchange. +.SH "SEE ALSO" +.PD +fcatcmd(1), fcdcmd(1), fgetcmd(1), fgrabcmd(1), flscmd(1), fmkdir(1), +fprocmd(1), fput(1), frmcmd(1), frmdircmd(1), fver(1), fducmd(1), +fhostcmd(1), fspd(1), fsp_prof(5), ffindcmd(1), fsp_env(7), fbye(1), +fspsites(5) diff --git a/man/fstat.1 b/man/fstat.1 new file mode 100644 index 0000000..73fffd0 --- /dev/null +++ b/man/fstat.1 @@ -0,0 +1 @@ +.so man1/fstatcmd.1 diff --git a/setup.sh b/setup.sh index ab073bd..7fc0565 100644 --- a/setup.sh +++ b/setup.sh @@ -7,7 +7,7 @@ # Humberto Massa - basic porting # Hanno Hecker - resolved globing problem # Radim Kolar - zsh setopt -# Sven Hoexter - minor fix +# Sven Hoexter - minor fix, fspget code # # visit our homepage for porting story #