=======================================================
myTCPClient
------------
Universal TCP Client
=======================================================

* Get the source package at this url: http://granito.ork.uk 
  or https://savannah.gnu.org/projects/mytcpclient/ 

* Download the file and copy it in /tmp/ or where you want    
  jack0e@jack0e-laptop:/tmp$ ls
  myTCPClient.0.0.5.tar.gz        

* You can to open the package for example using GNU tar and GNU gzip 
  This operazione make a new directory (myTCPClient)
  jack0e@jack0e-laptop:/tmp$ tar xfvz myTCPClient.0.0.5.tar.gz 
  myTCPClient/
  myTCPClient/identity/
  myTCPClient/doc/
  myTCPClient/doc/hacking-note.txt
  myTCPClient/ChangeLog
  myTCPClient/TODO
  myTCPClient/bin/
  myTCPClient/bin/myTCPClient
  myTCPClient/src/
  myTCPClient/src/myTCPClient.c
  myTCPClient/src/conf/
  myTCPClient/src/conf/include/
  myTCPClient/src/conf/include/conf.h
  myTCPClient/src/conf/conf.c
  myTCPClient/src/include/
  myTCPClient/src/include/myTCPClient.h
  myTCPClient/src/Makefile
  myTCPClient/src/tmp/
  myTCPClient/src/tcp/
  myTCPClient/src/tcp/include/
  myTCPClient/src/tcp/include/tcp.h
  myTCPClient/src/tcp/tcp.c
  myTCPClient/src/ssl/
  myTCPClient/src/ssl/include/
  myTCPClient/src/ssl/include/ssl.h
  myTCPClient/src/ssl/ssl.c
  myTCPClient/src/client/
  myTCPClient/src/client/include/
  myTCPClient/src/client/include/client.h
  myTCPClient/src/client/client.c
  myTCPClient/conf/
  myTCPClient/conf/myTCPClient.conf
  myTCPClient/README
  myTCPClient/INSTALL
  myTCPClient/LICENSE

* change directory in myTCPClient/src
  jack0e@jack0e-laptop:/tmp$ cd myTCPClient/src/

* Sorry! This version haven't configure script for
  generate the Makefile. You must change INCLUDE and
  LIB variable for found OpenSSL lib and header. 
  jack0e@jack0e-laptop:/tmp/myTCPClient/src$ vi Makefile 
  [...]
  INCLUDE=-I/home/jack0e/Desktop/stunnelHack/test01/openssl/include
  LIB=-L/home/jack0e/Desktop/stunnelHack/test01/openssl/lib 
  [...]
  if you have installed header and library in openssl directory 
  standard, you can also comment on these lines

* Now, You can build. 
  jack0e@jack0e-laptop:/tmp/myTCPClient/src$ make
  gcc -c conf/conf.c -o conf/conf.o 
  gcc -c tcp/tcp.c -o tcp/tcp.o
  gcc -c ssl/ssl.c -o ssl/ssl.o -L/home/jack0e/Desktop/stunnelHack/test01/openssl/lib \
      -I/home/jack0e/Desktop/stunnelHack/test01/openssl/include -g -Wall     
  gcc -c client/client.c -o client/client.o \
      -L/home/jack0e/Desktop/stunnelHack/test01/openssl/lib   \
      -I/home/jack0e/Desktop/stunnelHack/test01/openssl/include -g -Wall   
  gcc -ldl myTCPClient.c -o ../bin/myTCPClient \
      -L/home/jack0e/Desktop/stunnelHack/test01/openssl/lib   \
      -I/home/jack0e/Desktop/stunnelHack/test01/openssl/include -g -Wall  \
      conf/conf.o tcp/tcp.o ssl/ssl.o client/client.o -lssl -lcrypto 
  rm -f conf/conf.o tcp/tcp.o ssl/ssl.o client/client.o 

* Look the parameter with switch --help
  jack0e@jack0e-laptop:/tmp/myTCPClient/src$ ../bin/myTCPClient --help
  Universal Client TCP version 0.0.4
  Raffaele Granito (c) 2008 Licence GPLv2

  formato: myClientTCP [-c|--connect] protocollo://host:port/directory
                       [-k|--keystore filename] [-p|--password password]
                       [-t|--truststore filename
                       [-C|--ciphersuite {cipher1,cipher2,...cipherN}]
                       [-s|--ssl-version {version1,version2,...,versionN}]
           myClientTCP [-f|--config filename]
           myClientTCP [-h|--help]
           myClientTCP [-v|--version]

  TCP client to measure the degree of security of a connection.
  List of parameters with a small description:

    -c,--connect          Connection string. The protocol are supported: tcp, ssl  and
                          https. Hostname can be set by specifying the IP or the DQFN.
    -k,--keystore [PEM]   PEM file that is contained identity of the client ( private,
                          certificate ).  The  private  key  must  be  encrypted form.
    -p,--password         Used to decrypt the private key in keystore.
    -t,--truststore [PEM] PEM file that contains the trusted CA, the only ones who can
                          vouch for the identity of the server.
    -c,--ciphersuite {cipher1,cipher2,...,cipherN}
                          Ciphersuite  list  of  proposals  to the server, in order of
                          preference.   The  values  are  separated  with  no  spaces.
                          Complete List of supported cipher:NULL-{MD5|SHA},RC2-CBC-MD5
                          RC4-{MD5|SHA}, EXP-RC2-CBC-MD5, EXP-RC4-MD5, EXP-DES-CBC-SHA
                          DES-CBC-{MD5|SHA},DES-CBC3-{MD5|SHA}, AES128-SHA, AES256-SHA
    -s,--ssl-version {version1,version2,...,versionN}
                          Complete List of protocol version supported: sslv2|sslv3
    -f,--config [filename]
                          Configuration file, as an alternative to the  parameters  on
                          the command line. [function not yet implemented]
    --help                Print this help and quit.
    --version             Print the version and quit.

  Exit to 0 if everything is OK, -1 if there is a problem.
  Report bugs to <raffaele.granito@tiscali.it>.


* In the doc/UserManual.txt file are some examples of use. 

__EOF__
 
