# [SSH] Afficher un antislash dans /etc/issue.net (résolu)

## Saimoun

Bonjour,

Mon problème est très simple et il est marqué dans le titre : je veux afficher un antislash dans /etc/issue.net, mais quand je me connecte (par ssh), chaque antislash est affiché deux fois.

J'ai déjà essayé de doubler les antislashs, ça n'a pas marché.

Une idée ?

----------

## Saimoun

Personne ?

Peut-être que cela peut aider : j'ai remarqué que sous Windows, quand j'utilise PuttY (pour se connecter en ssh à partir d'une machine windows), les antislashs sont bien affichés (et pas doublés). Donc peut-être que le problème vient de l'affichage des antislashs dans la console Linux...

----------

## Saimoun

Purée c'est quand même un truc de taré ! Y'a donc vraiment aucun moyen de faire ça ?

Pour info c'est pour afficher un logo en ASCII, et évidemment si les \ sont doublés, bah ça ne ressemble plus à rien.

----------

## GentooUser@Clubic

C'est un bug https://bugs.gentoo.org/show_bug.cgi?id=244222 donc au choix : 

- utiliser un client non touché (autre version d'OpenSSH, PuTTY, Dropbear...)

- patcher le client 

- Attendre que le bug soit corrigé

----------

## Saimoun

Merci infiniement pour ta réponse, je n'y croyais plus... En même temps si c'est un bug ça explique pourquoi personne n'avait la réponse  :Wink: 

Par contre, je n'ai jamais utilisé bugzilla, je n'ai aucune idée de comment ça fonctionne...

Si j'ai bien compris le fichier openssh-5.1_p1-banner-display.diff (https://bugs.gentoo.org/attachment.cgi?id=169911) est un patch proposé par quelqu'un pour résoudre le problème... Mais dans cas pourquoi ne pas mettre le patch dans l'e-build officiel de Gentoo ? C'est parce-qu'il faut des tests et tout et tout, c'est ça ? M'enfin pour un truc aussi bête et aussi simple...

Si je veux afficher le patch, il faut que je récupère le fichier j'imagine. Mais après, comment appliquer le patch ? Il faut modifier l'e-build, non ? Bref, quelqu'un peut-il m'expliquer ? Merci.

----------

## GentooUser@Clubic

Tu peux modifier l'ebuild pour qu'il prenne en compte le patch (facile l'ebuild d'openSSH charge déjà des dizaines de patchs, prend exemple) ensuite :

```
ebuild <nom de l'ebuild> digest
```

Si tu place pas ton nouveau ebuild dans un overlay la modification disparaitra au prochain emerge --sync mais tant qu'OpenSSH ne sera pas réinstallé tu aura la version patché. 

Mais déjà regarde si la patch marche car il a été crée pour un ancienne version d'OpenSSH (remarque il ne modifie vraiment pas grand-chose)

----------

## Saimoun

J'ai un peu galéré mais j'ai fini par y arriver.

J'ai rajouté la ligne

```
epatch "${FILESDIR}"/${PN}-5.1_p1-banner-display.diff
```

dans la fonction src_unpack de l'ebuild (il y avait d'autres epatch juste au-dessus), et j'ai rajouté le fichier openssh-5.1_p1-banner-display.diff dans le dossier files.

Mais bon il semble que le patch ne patche pas...

 *Quote:*   

> 
> 
> gentux openssh # ebuild openssh-5.2_p1-r3.ebuild merge 
> 
> Disabling noauto in features... merge disables it. (qmerge doesn't)
> ...

 

et le contenu du fichier  /var/tmp/portage/net-misc/openssh-5.2_p1-r3/temp/openssh-5.1_p1-banner-display.diff-19143.out donne ça :

 *Quote:*   

> 
> 
> ==============================================
> 
> PATCH COMMAND:   patch -p0 -g0 -E --no-backup-if-mismatch < /usr/portage/net-misc/openssh/files/openssh-5.1_p1-banner-display.diff
> ...

 

5 fois, avec à chaque fois le "-p0" qui augmente (qui va donc de "-p0" à "-p4").

Visiblement, le problème, vient du fait qu'il ne trouve pas le fichier sshconnect2.c. Peut-être a-t-il été recommé dans la version 5.2 ?

----------

## GentooUser@Clubic

Faut "refaire" le patch :

diff -ub <fichier original> <fichier modifié>

```
--- openssh-5.2p1.old/sshconnect2.c   2008-11-05 06:20:47.000000000 +0100

+++ openssh-5.2p1/sshconnect2.c   2009-11-30 01:47:25.324009472 +0100

@@ -413,7 +413,7 @@

       if (len > 65536)

          len = 65536;

       msg = xmalloc(len * 4 + 1); /* max expansion from strnvis() */

-      strnvis(msg, raw, len * 4 + 1, VIS_SAFE|VIS_OCTAL);

+      strnvis(msg, raw, len * 4 + 1, VIS_SAFE|VIS_OCTAL|VIS_NOSLASH);

       fprintf(stderr, "%s", msg);

       xfree(msg);

    }

```

Voilà

----------

## Saimoun

Nickel, ça marche nickel  :Very Happy: 

J'ai enfin mon magnifique

```
                     ____                  ____

    

----------

## GentooUser@Clubic

Pour le patch je sait pas, d'habitude portage s'accorde très bien de patch pour de vielle versions.

 *Quote:*   

> Menfin mon problème est résolu, en tout cas (même si y'a que sur mon ordi, que ça s'affiche bien :p ) !

 

Pas que sur ton ordi, j'ai testé avec netBSD pas de problème, sur Debian aussi surement, en fait y'a peu de distribs qui doivent utiliser des versions aussi récente d'OpenSSH.

----------

