2010-02-14 Pablo de la Concepción <pablo.concepcion@artica.es>

* bin/tentacle_server: Added first version of POD documentation, there
    are still room for improvement (TODO: add the example section)

    * man/man1/tentacle_server.1: ManPage generated from bin/tentacle_server
    using pod2man.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2358 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
pabloconcepcion 2010-02-14 14:17:35 +00:00
parent d5e037aa97
commit 0ee019294e
3 changed files with 353 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2010-02-14 Pablo de la Concepción <pablo.concepcion@artica.es>
* bin/tentacle_server: Added first version of POD documentation, there
are still room for improvement (TODO: add the example section)
* man/man1/tentacle_server.1: ManPage generated from bin/tentacle_server
using pod2man.
2010-02-10 Pablo de la Concepción <pablo.concepcion@artica.es>
* lib/PandoraFMS/DataServer.pm: Validation of positiona parameters, check

View File

@ -4,7 +4,7 @@
# See http://www.openideas.info/wiki for protocol description.
# Tentacle have IANA assigned port tpc/41121 as official port.
##########################################################################
# Copyright (c) 2005-2009 Artica Soluciones Tecnologicas S.L
# Copyright (c) 2005-2010 Artica Soluciones Tecnologicas S.L
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -17,8 +17,39 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##########################################################################
package tentacle::server;
=head1 NAME
tentacle_server - Tentacle Server
=head1 VERSION
Version 0.2.1
=head1 USAGE
tentacle_server B<< -s F<storage_directory> >> [I<options>]
=head1 DESCRIPTION
B<tentacle_server(1)> is a B<client/server> file transfer protocol that aims to be:
=over
=item * Secure by design.
=item * Easy to use.
=item * Versatile and cross-platform.
=back
Tentacle was created to replace more complex tools like SCP and FTP for simple file transfer/retrieval, and switch from authentication mechanisms like .netrc, interactive logins and SSH keys to X.509 certificates. Simple password authentication over a SSL secured connection is supported too.
The client and server (B<TCP port 41121>) are designed to be run from the command line or called from a shell script, and B<no configuration files are needed>.
=cut
use strict;
use warnings;
@ -940,3 +971,88 @@ while (1) {
accept_connection ();
}
__END__
=head1 REQUIRED ARGUMENTES
=over
=item B<< -s F<storage_directory> >> Root directory to store the files received by the server
=back
=head1 OPTIONS
=over
=item I<-a> ip_address Address to listen on (default 0.0.0.0).
=item I<-c> number Maximum number of simultaneous connections (default 10).
=item I<-d> Run as daemon.
=item I<-e> cert OpenSSL certificate file. Enables SSL.
=item I<-f> ca_cert Verify that the peer certificate is signed by a ca.
=item I<-h> Show help.
=item I<-i> Filters.
=item I<-k> key OpenSSL private key file.
=item I<-m> size Maximum file size in bytes (default 2000000b).
=item I<-o> Enable file overwrite.
=item I<-p> port Port to listen on (default 41121).
=item I<-q> Quiet. Do now print error messages.
=item I<-r> number Number of retries for network opertions (default 3).
=item I<-t> time Time-out for network operations in seconds (default 1s).
=item I<-v> Be verbose.
=item I<-w> Prompt for OpenSSL private key password.
=item I<-x> pwd Server password.
=back
=head1 EXIT STATUS
=over
=item 0 on Success
=item 1 on Error
=back
=head1 CONFIGURATION
Tentacle doesn't use any configurationf files, all the configuration is done by the options passed when it's started.
=head1 DEPENDENCIES
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<Thread::Semaphore>, L<POSIX>
=head1 LICENSE
This is released under the GNU Lesser General Public License.
=head1 SEE ALSO
L<Getopt::Std>, L<IO::Select>, L<IO::Socket::INET>, L<Thread::Semaphore>, L<POSIX>
Protocol description and more info at: L<< http://openideas.info/wiki/index.php?title=Tentacle >>
=head1 COPYRIGHT
Copyright (c) 2005-2010 Artica Soluciones Tecnologicas S.L
=cut

View File

@ -0,0 +1,227 @@
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "TENTACLE_SERVER 1"
.TH TENTACLE_SERVER 1 "2010-02-14" "perl v5.10.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
tentacle_server \- Tentacle Server
.SH "VERSION"
.IX Header "VERSION"
Version 0.2.1
.SH "USAGE"
.IX Header "USAGE"
tentacle_server \fB\-s \f(BIstorage_directory\fB\fR [\fIoptions\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fB\f(BItentacle_server\fB\|(1)\fR is a \fBclient/server\fR file transfer protocol that aims to be:
.IP "\(bu" 4
Secure by design.
.IP "\(bu" 4
Easy to use.
.IP "\(bu" 4
Versatile and cross-platform.
.PP
Tentacle was created to replace more complex tools like \s-1SCP\s0 and \s-1FTP\s0 for simple file transfer/retrieval, and switch from authentication mechanisms like .netrc, interactive logins and \s-1SSH\s0 keys to X.509 certificates. Simple password authentication over a \s-1SSL\s0 secured connection is supported too.
.PP
The client and server (\fB\s-1TCP\s0 port 41121\fR) are designed to be run from the command line or called from a shell script, and \fBno configuration files are needed\fR.
.SH "REQUIRED ARGUMENTES"
.IX Header "REQUIRED ARGUMENTES"
.IP "\fB\-s \f(BIstorage_directory\fB\fR Root directory to store the files received by the server" 4
.IX Item "-s storage_directory Root directory to store the files received by the server"
.SH "OPTIONS"
.IX Header "OPTIONS"
.PD 0
.IP "\fI\-a\fR ip_address Address to listen on (default 0.0.0.0)." 4
.IX Item "-a ip_address Address to listen on (default 0.0.0.0)."
.IP "\fI\-c\fR number Maximum number of simultaneous connections (default 10)." 4
.IX Item "-c number Maximum number of simultaneous connections (default 10)."
.IP "\fI\-d\fR Run as daemon." 4
.IX Item "-d Run as daemon."
.IP "\fI\-e\fR cert OpenSSL certificate file. Enables \s-1SSL\s0." 4
.IX Item "-e cert OpenSSL certificate file. Enables SSL."
.IP "\fI\-f\fR ca_cert Verify that the peer certificate is signed by a ca." 4
.IX Item "-f ca_cert Verify that the peer certificate is signed by a ca."
.IP "\fI\-h\fR Show help." 4
.IX Item "-h Show help."
.IP "\fI\-i\fR Filters." 4
.IX Item "-i Filters."
.IP "\fI\-k\fR key OpenSSL private key file." 4
.IX Item "-k key OpenSSL private key file."
.IP "\fI\-m\fR size Maximum file size in bytes (default 2000000b)." 4
.IX Item "-m size Maximum file size in bytes (default 2000000b)."
.IP "\fI\-o\fR Enable file overwrite." 4
.IX Item "-o Enable file overwrite."
.IP "\fI\-p\fR port Port to listen on (default 41121)." 4
.IX Item "-p port Port to listen on (default 41121)."
.IP "\fI\-q\fR Quiet. Do now print error messages." 4
.IX Item "-q Quiet. Do now print error messages."
.IP "\fI\-r\fR number Number of retries for network opertions (default 3)." 4
.IX Item "-r number Number of retries for network opertions (default 3)."
.IP "\fI\-t\fR time Time-out for network operations in seconds (default 1s)." 4
.IX Item "-t time Time-out for network operations in seconds (default 1s)."
.IP "\fI\-v\fR Be verbose." 4
.IX Item "-v Be verbose."
.IP "\fI\-w\fR Prompt for OpenSSL private key password." 4
.IX Item "-w Prompt for OpenSSL private key password."
.IP "\fI\-x\fR pwd Server password." 4
.IX Item "-x pwd Server password."
.PD
.SH "EXIT STATUS"
.IX Header "EXIT STATUS"
.IP "0 on Success" 4
.IX Item "0 on Success"
.PD 0
.IP "1 on Error" 4
.IX Item "1 on Error"
.PD
.SH "CONFIGURATION"
.IX Header "CONFIGURATION"
Tentacle doesn't use any configurationf files, all the configuration is done by the options passed when it's started.
.SH "DEPENDENCIES"
.IX Header "DEPENDENCIES"
Getopt::Std, IO::Select, IO::Socket::INET, Thread::Semaphore, \s-1POSIX\s0
.SH "LICENSE"
.IX Header "LICENSE"
This is released under the \s-1GNU\s0 Lesser General Public License.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Getopt::Std, IO::Select, IO::Socket::INET, Thread::Semaphore, \s-1POSIX\s0
.PP
Protocol description and more info at: <http://openideas.info/wiki/index.php?title=Tentacle>
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2005\-2010 Artica Soluciones Tecnologicas S.L