Package: vde2
Version: 2.3.2-4
Severity: normal
Tags: patch
User: [email protected]
Usertags: origin-ubuntu quantal ubuntu-patch

Dear Maintainer,

vdeterm has a bug which leaves the terminal in a bad state if it exits
too early in error - in particular if it was unable to open its socket.
Simply typing

vdeterm

is sufficient to reproduce (and then verifying by typing into the 
terminal and seeing no echo).

I've also posted this bug upstream at:

http://sourceforge.net/tracker/?func=detail&aid=3548041&group_id=95403&atid=611248

In Ubuntu, the attached patch was applied to achieve the following:

  * vdeterm: don't improperly reset the terminal when exiting too
    early (LP: #804647)


Thanks for considering the patch.

diff -u vde2-2.3.2/debian/changelog vde2-2.3.2/debian/changelog
diff -u vde2-2.3.2/debian/patches/series vde2-2.3.2/debian/patches/series
--- vde2-2.3.2/debian/patches/series
+++ vde2-2.3.2/debian/patches/series
@@ -4,0 +5 @@
+vdeterm-terminal-reset
only in patch2:
unchanged:
--- vde2-2.3.2.orig/debian/patches/vdeterm-terminal-reset
+++ vde2-2.3.2/debian/patches/vdeterm-terminal-reset
@@ -0,0 +1,31 @@
+Description: don't reset terminal too early
+Author: Serge Hallyn <[email protected]>
+Forwarded: yes
+
+Index: vde2-2.3.2/src/vdeterm.c
+===================================================================
+--- vde2-2.3.2.orig/src/vdeterm.c      2011-11-23 10:41:18.000000000 -0600
++++ vde2-2.3.2/src/vdeterm.c   2012-07-24 17:25:52.293126588 -0500
+@@ -20,11 +20,13 @@
+ 
+ char *prompt;
+ static struct termios tiop;
++int termset = 0;
+ 
+ static void cleanup(void)
+ {
+       fprintf(stderr,"\n");
+-      tcsetattr(STDIN_FILENO,TCSAFLUSH,&tiop);
++      if (termset)
++              tcsetattr(STDIN_FILENO,TCSAFLUSH,&tiop);
+ }
+ 
+ static void sig_handler(int sig)
+@@ -135,6 +137,7 @@
+       newtiop.c_lflag &= ~ICANON;
+       newtiop.c_lflag &= ~ECHO;
+       tcsetattr(STDIN_FILENO,TCSAFLUSH,&newtiop);
++      termset = 1;
+       flags = fcntl(fd, F_GETFL);
+       flags |= O_NONBLOCK;
+       fcntl(fd, F_SETFL, flags);


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to