  Installation de la Bibliotheque Reseau Laurent Constantin (lcrzo)
              -----------------------------------

                    ------------------------
                    |        LIBPCAP       |
                    ------------------------

Les fonctionnalites de sniff reseau etant assez etendues, j'ai decide
d'utiliser la bibliotheque libpcap qui fait reference dans ce domaine.
Si vous desirez pouvoir sniffer le reseau, vous devez donc installer 
cette bibliotheque. Libpcap est disponible :
 - a l'adresse ftp://ftp.ee.lbl.gov/libpcap.tar.Z
 - a l'adresse http://www.tcpdump.org/
 - sous la forme d'un paquetage pret a l'emploi pour votre systeme 
   (cf. votre cdrom d'installation ou le site web de votre distribution)
Sinon, vous n'avez pas besoin d'installer libpcap ; il faut alors 
editer ./config.dat afin de preciser "LCRZODEF_LIBPCAPINSTALLED=0".


                    ------------------------
                    |   VERSIONS TESTEES   |
                    ------------------------

Voici les systemes sur lesquels lcrzo a ete installe avec succes :
  NomDuSysteme      Plateforme    Parametre_a_mettre_dans_config.dat
   Debian 2.1        Intel386      LCRZODEF_SYS=Linux_X_i386
   Mandrake 7.0      Intel386      LCRZODEF_SYS=Linux_X_i386
   RedHat 5.0        Intel386      LCRZODEF_SYS=Linux_X_i386
   RedHat 5.2        Intel386      LCRZODEF_SYS=Linux_X_i386
   RedHat 6.1        Intel386      LCRZODEF_SYS=Linux_X_i386
   Slackware 3.4     Intel386      LCRZODEF_SYS=Linux_X_i386
   SuSE 5.1          Intel386      LCRZODEF_SYS=Linux_X_i386
   SuSE 6.4          Intel386      LCRZODEF_SYS=Linux_X_i386
   FreeBSD 3.1       Intel386      LCRZODEF_SYS=FreeBSD_3_i386
   FreeBSD 4.0       Intel386      LCRZODEF_SYS=FreeBSD_4_i386
   Solaris 2.5       Sparc         LCRZODEF_SYS=Solaris_25_Sparc
   Solaris 2.6       Sparc         LCRZODEF_SYS=Solaris_26_Sparc
   Solaris 2.7       Intel386      LCRZODEF_SYS=Solaris_27_i386

Voici les systemes sur lesquels lcrzo a ete teste de maniere
approfondie (sur les autres systemes, seulement quelques tests simples
ont ete effectues) :
  NomDuSysteme      Plateforme
   RedHat 5.2        Intel386  


            ------------------------------------------
            | PROCEDURE D'INSTALLATION DE LIBLCRZO.A |
            ------------------------------------------

 - "vi ./config.dat" (pour definir les variables :
                       - utilisez "LCRZODEF_LANG=2" pour avoir
			 la bibliotheque en francais
		       - choisissez LCRZODEF_SYS correspondant
		         a votre systeme
 - "./genemake"      (genere les fichiers Makefile et lcrzo_defs.h)
 - "make"            (compile la bibliotheque)
 - "make install"    (installe la bibliotheque. Ce n'est pas obligatoire,
		      mais c'est beaucoup plus pratique pour developper
		      vos propres programmes : les includes et liblcrzo.a
                      sont mis dans les repertoires standard et l'aide est
		      installee)


            ------------------------------------------
            |  PROCEDURE D'INSTALLATION DE LCRZOEX   |
            ------------------------------------------

 - "cd ../lcrzoex"   (pour aller dans le repertoire de l'exemple)
 - "make"            (pour compiler l'exemple)
 - "make install"    (si vous desirez installer l'exemple)


     ----------------------------------------------------------
     |  PROBLEMES QUE VOUS POUVEZ RENCONTRER A L'INSTALLATION |
     ----------------------------------------------------------

 LORS DE L'EXECUTION DE ./genemake :
  + "Erreur: le repertoire '/usr/.../toto' n'existe pas"
    -> Le repertoire "toto" n'existe pas sur votre systeme. 
       Il faut :
         - soit le creer "mkdir toto"
         - soit editer ./genemake pour specifier un nouveau
           repertoire d'installation
       
  + "Warning: vous etes sur une machine avec ether_hostton bogue.
              La bibliotheque lcrzo fonctionnera quand meme, mais"
              lisez ../doc/knownproblems_fr.txt si vous voulez utiliser
              le contenu de /etc/ethers."
    -> Ce warning peut etre ignore si vous le desirez.
    -> Il est conseille d'editer /etc/nsswitch.conf comme indique 
       dans le fichier ../doc/knownproblems_fr.txt.


 LORS DE LA COMPILATION :

  + "File pcap.h not found"
    -> Verifiez que libpcap soit installee sur votre systeme.
       Par exemple, pour Debian, il faut installer libpcapxx.deb
       (pour avoir la bibliotheque dynamique) et
       libpcap-devxx.deb (pour avoir le fichier pcap.h).
    -> Sur RedHat 5.0, 5.2 et 6.1, le paquetage rpm
       "libpcap-0.4....i386.rpm" installe les fichiers sous
       /usr/include/pcap au lieu de /usr/include. Il faut donc
       faire :
           cp -R /usr/include/pcap/* /usr/include/

  + "Warning : integer constant is unsigned in ANSI C, signed
    with -traditional" sous FreeBSD 3.1, FreeBSD 4.0, 
    Solaris 2.7 intel et Solaris 2.5 Sparc
    -> Cette erreur se trouve dans la definition de SIOCGIFCONF
       Il faut editer /usr/include/sys/ioccom.h pour mettre 
       IOC_IN en unsigned (rajouter le 'u') :
           "#define IOC_IN 0x80000000u"

  + "Warning: implicit declaration of function `ether_hostton'"
  + "Warning: implicit declaration of function `ether_ntohost'"
     sous Solaris 2.7 intel et Solaris 2.5 Sparc
    -> Les fonctions "ether_hostton" et "ether_ntohost" ne sont
       definies dans aucun include. Il faut donc editer le fichier
       "netinet/if_ether.h" afin d'y ajouter :
        int ether_hostton(char *hostname, struct ether_addr *e);
        int ether_ntohost(char *hostname, struct ether_addr *e);

  + Avec libnet : "/usr/include/./libnet/libnet-functions.h:
    193: warning: declaration of `sin' shadows global declaration"
    -> Il faut editer la ligne 193 de /usr/include/libnet/libnet-functions.h
       afin de renommer le parametre "sin" en "sin_".


 LORS DE L'EDITION DE LIENS :
  + Rien pour le moment.


 LORS DE L'INSTALLATION :
  + Rien pour le moment.
