Re: rexec : Au secours!

2003-10-15 Par sujet jm
Je te remercie pour ta réponse, mais malheureusement, et ça ne marche 
pas (j'avais déjà apt-geté rsh-server, comme indiqué, mais ça ne change 
rien). Voici un exemple basique pour lequel je me fait refuser la 
connection:



#define HOST"localhost"


int main(int argc, char * argv){
 int numsoc;
 char **host;

 *host=(char *)malloc(sizeof(char)*(strlen(HOST)+1));
 strcpy(*host, HOST); 
 numsoc = rexec(host, ntohs(getservbyname("exec","tcp")->s_port), "jm", 
"", "ls", NULL);

 printf("numsoc: %d\n", numsoc);

 close(numsoc);
 return 0;
}


Un strace permet de vérifier que la fonction effectue sa demande de 
connection à 127.0.0.1. Mais rien à faire, ma connection est refusée... 
Je ne comprends pas.

Comment l'utilisais-tu?
merci,
jm



Re: rexec : Au secours!

2003-10-14 Par sujet Sebastien Bacher
jm <[EMAIL PROTECTED]> writes:

> Comment faire marcher cette commande (et notamment le "serveur" rexecd
> qui n'existe plus aujourd'hui).

$ apt-cache search rexec
rsh-server - rsh servers.

$ apt-cache show rsh-server
Package: rsh-server
...
Description: rsh servers.
 This package contains rexecd, rlogind and rshd.
 

Donc le serveur est dans rsh-server, si ca peut t'aider ...


Salutations,

Sebastien Bacher



Re: rexec : Au secours!

2003-10-14 Par sujet Nicosoft1

> Bonjour,
coucou

>
> Je suis complètement perdu. C'est la première fois que je ne trouve
> aucune doc correspondant à un problème apparemment simple sur internet.
> Voilà, je doit -- pour un tp de réseau -- lancer une commande sur une
> machine distante en C. Les enseignants du module nous ont conseillé
> d'utiliser rexec(...).
> Bien que la doc indique que c'est un truc qu'il vaut mieux ne pas
> utiliser, je cherche quand même à suivre leur demande.

nous à l'IUT on nous a dit d'utiliser (et on l'a fait :)) les RPC en C et ca
marche normalement très bien. C'est tout à fait ce qu'il te faut pour le
problème que tu as à résoudre.

> Mais voilà, impossible de configurer la debian sid pour qu'elle accepte
> ce type de connection. Toutes les autres connections hors C (rsh,
> rlogin) équivalentes fonctionnent, mais un appel à rexec() ne fonctionne
> pas: Connection Refused. Et si je fait un strace, il m'indique qu'il
> tente ~10 connections avant de planter.
> Comment faire marcher cette commande (et notamment le "serveur" rexecd
> qui n'existe plus aujourd'hui).
>
> Merci de votre aide,
de rien :)

> jm

Nico

>
> ps: voici mon appel à la fonction:
> char *host, user, passwd, cmd;
> /*  */
> rexec(&host, ntohs(execinfo->s_port), user, passwd, cmd, NULL)
>
> Le man a disparu, on peut le retrouver ici:
> http://www.hmug.org/man/3/rexec.html



rexec : Au secours!

2003-10-14 Par sujet jm

Bonjour,

Je suis complètement perdu. C'est la première fois que je ne trouve 
aucune doc correspondant à un problème apparemment simple sur internet.
Voilà, je doit -- pour un tp de réseau -- lancer une commande sur une 
machine distante en C. Les enseignants du module nous ont conseillé 
d'utiliser rexec(...).
Bien que la doc indique que c'est un truc qu'il vaut mieux ne pas 
utiliser, je cherche quand même à suivre leur demande.


Mais voilà, impossible de configurer la debian sid pour qu'elle accepte 
ce type de connection. Toutes les autres connections hors C (rsh, 
rlogin) équivalentes fonctionnent, mais un appel à rexec() ne fonctionne 
pas: Connection Refused. Et si je fait un strace, il m'indique qu'il 
tente ~10 connections avant de planter.
Comment faire marcher cette commande (et notamment le "serveur" rexecd 
qui n'existe plus aujourd'hui).


Merci de votre aide,

jm

ps: voici mon appel à la fonction:
char *host, user, passwd, cmd;
/*  */
rexec(&host, ntohs(execinfo->s_port), user, passwd, cmd, NULL)

Le man a disparu, on peut le retrouver ici:
http://www.hmug.org/man/3/rexec.html