Le Thu, 24 May 2007 20:08:31 +0200 Yves Rutschle <[EMAIL PROTECTED]> a écrit:
> On Thu, May 24, 2007 at 07:52:24PM +0200, François Boisson wrote: > > > telnetd minimal de ma conception > > comprendre par là qu'il est primaire, il récupère la chaine tapée, l'envoi > > à bash et répercute la sortie... On doit pouvoir largement améliorer les > > choses > > Tu mets un shell bash complet mais pas un telnetd complet? > C'est un choix curieux :) En fait, le systeme fait 70M au total avec bash, quelques utilitaires et busybox pour l'init et le reste. J'ai mis bash car comme c'est mon couteau suisse et que je ne travaille avec qu'en console, je trouvais le confort de bash agréable. Je suis parti de ce truc que j'avais fait il y a qques mois. > > Intuitivement, je te conseillerais de remplacer bash et ton > telnetd par busybox: tu as alors aussi ftpd, vi, et un tas > d'autres trucs. > Ben oui sauf que le telnetd de busybox suppose /bin/login et donc tout un paquet de trucs qu'il n'y a pas. Étant pressé, j'ai donc vite fait sur le gaz fait un smalltelnetd sans identification avec une première boucle qui était (connexion étant la douille (socket)) [...] close(STDOUT_FILENO); dup(connexion); close(STDERR_FILENO); dup(connexion); close(STDIN_FILENO); dup(connexion); system("/bin/sh"); [..] dans le traitement de la connexion. Malheureusement, la dérivation de stdin ne marche pas. Je capture donc la commande tapé et je l'envoie à system en ayant fait aupravant [..] close(STDOUT_FILENO); dup(connexion); close(STDERR_FILENO); dup(connexion); [..] qui fonctionne bien. L'erreur doit être grossière (j'ai essayé avec dup2 sans plus de succès). Le pbm est que les commandes doivent être impérativement sur une ligne... > Bon, tu n'as peut-être pas non plus envie d'y passer ta > vie... Pour le coup, si tu vois l'erreur, je suis preneur mais bon, maintenant le pbm est réglé... François Boisson > > Y. > > > -- > Lisez la FAQ de la liste avant de poser une question : > http://wiki.debian.net/?DebianFrench > Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et > "Reply-To:" > > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]