Re: Application reseaux

Page principale

Répondre à ce message
Auteur: yannick excoffon
Date:  
À: guilde
Sujet: Re: Application reseaux
Edgar Bonet Orozco wrote:

> C'est uniquement quand tu reçois la connexion d'un client que tu peux
> savoir quelle est, parmi tes adresses, celle sur laquelle il s'est
> connecté :
>
>         listen(s, backlog);
>         t = accept(s, (struct sockaddr *) &his_addr, &addr_size);
>         getsockname(t, &recv_addr, &addr_size);
>         printf("Le client m'a contacté sur %s:%d\n",
>                 inet_ntoa(recv_addr.sin_addr), ntohs(recv_addr.sin_port));

>


    C'etait malheureusement une des "sales" solutions que j'utilisais mais cela
reste genant de squatter un port pour ce renseignement.    Quand a uname (mail de
FX Kowalski) il permet de recuperer un nom de domaine au mieux.


> Si tu veux que ton programme fasse de l'authentification (demande un
> login et un mot de passe pour laisser le client se connecter pour le
> compte d'un utilisateur), la façon propre de le faire est de passer par
> PAM. PAM est une bibliothèque qui s'occupe de l'autherntification et qui
> permet d'en centraliser la configuration. La documentation de PAM se
> trouve probablement dans /usr/local/doc (je la'i en HTML chez moi).
>
> Si tu utilises une liste d'utilisateurs différente de celle du système
> (/etc/passwd), tu ne passeras probablement pas par PAM. Regarde le
> manuel de Apache pour voir comment il fait.
>
> C'était bien ça la question ? Précise un peu plus.


    En fait l'appli en GTK gere les transferts de donnees (donc de fichiers
puisque tout est fichier sous Linux) entre deux machines sans utiliser le
protocole FTP, pour plus de liberte dans les commandes. Donc lorsque je me
connecte sur une machine distante le


connect(fd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr))

ne suffit pas a authentifier l'utilisateur, il faut encore passer au serveur un
login et un password lorsque l'utilisateur possede un compte ou anonymous
lorsqu'on accede a un site ftp.
C'est cette etape que je n'arrive pas a coder en C. (Etapes qui doivent rester
invisibles pour l'utilisateur qui rentre ses coord dans un fichier de config et
ne fait que cliquer ensuite).