From c578bd29bdd842f8c30bb98b2da35445e06f510441c0642dce6efb6f4472f602 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 6 Aug 2013 19:28:59 +0000 Subject: [PATCH] Accepting request 186142 from home:AndreasStieger:branches:X11:Utilities update to 0.63 [bnc#833567] CVE-2013-4852 OBS-URL: https://build.opensuse.org/request/show/186142 OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/putty?expand=0&rev=8 --- putty-0.62.tar.bz2 | 3 - putty-0.63.tar.gz | 3 + putty-01-werror.diff | 91 ---------------- putty-02-remove-gtk1.diff | 20 ---- putty-03-config.diff | 194 +++++++++++++++++----------------- putty-05-glib-deprecated.diff | 128 ---------------------- putty-06-gtk2-indivhdr.diff | 32 ------ putty.changes | 56 ++++++++++ putty.spec | 28 ++--- 9 files changed, 165 insertions(+), 390 deletions(-) delete mode 100644 putty-0.62.tar.bz2 create mode 100644 putty-0.63.tar.gz delete mode 100644 putty-01-werror.diff delete mode 100644 putty-02-remove-gtk1.diff delete mode 100644 putty-05-glib-deprecated.diff delete mode 100644 putty-06-gtk2-indivhdr.diff diff --git a/putty-0.62.tar.bz2 b/putty-0.62.tar.bz2 deleted file mode 100644 index ca39fb3..0000000 --- a/putty-0.62.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a34b007a67e9d863736ea11f10fbb6aa9fe9904d027605275ba22e61a4b5a33 -size 1378776 diff --git a/putty-0.63.tar.gz b/putty-0.63.tar.gz new file mode 100644 index 0000000..b9c26c1 --- /dev/null +++ b/putty-0.63.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e8eaaf31be7d9a46b4f3fb80d1d9540776f142cd89d0a11f2f8082dc68f8b5 +size 1887913 diff --git a/putty-01-werror.diff b/putty-01-werror.diff deleted file mode 100644 index ce610fd..0000000 --- a/putty-01-werror.diff +++ /dev/null @@ -1,91 +0,0 @@ ---- - macosx/Makefile | 2 +- - mkfiles.pl | 6 +++--- - unix/Makefile.gtk | 2 +- - unix/Makefile.ux | 2 +- - unix/configure.ac | 2 +- - 5 files changed, 7 insertions(+), 7 deletions(-) - -Index: putty-0.62/macosx/Makefile -=================================================================== ---- putty-0.62.orig/macosx/Makefile -+++ putty-0.62/macosx/Makefile -@@ -104,7 +104,7 @@ - # - CC = $(TOOLPATH)gcc - --CFLAGS = -O2 -Wall -Werror -g -I.././ -I../charset/ -I../windows/ -I../unix/ \ -+CFLAGS = -O2 -Wall -g -I.././ -I../charset/ -I../windows/ -I../unix/ \ - -I../macosx/ - MLDFLAGS = -framework Cocoa - ULDFLAGS = -Index: putty-0.62/mkfiles.pl -=================================================================== ---- putty-0.62.orig/mkfiles.pl -+++ putty-0.62/mkfiles.pl -@@ -960,7 +960,7 @@ if (defined $makefiles{'gtk'}) { - "\n". - "unexport CFLAGS # work around a weird issue with krb5-config\n". - "\n". -- &splitline("CFLAGS = -O2 -Wall -Werror -g " . -+ &splitline("CFLAGS = -O2 -Wall -g " . - (join " ", map {"-I$dirpfx$_"} @srcdirs) . - " \$(shell \$(GTK_CONFIG) --cflags)"). - " -D _FILE_OFFSET_BITS=64\n". -@@ -1039,7 +1039,7 @@ if (defined $makefiles{'unix'}) { - "\n". - "unexport CFLAGS # work around a weird issue with krb5-config\n". - "\n". -- &splitline("CFLAGS = -O2 -Wall -Werror -g " . -+ &splitline("CFLAGS = -O2 -Wall -g " . - (join " ", map {"-I$dirpfx$_"} @srcdirs)). - " -D _FILE_OFFSET_BITS=64\n". - "ULDFLAGS = \$(LDFLAGS)\n". -@@ -1236,7 +1236,7 @@ if (defined $makefiles{'osx'}) { - print - "CC = \$(TOOLPATH)gcc\n". - "\n". -- &splitline("CFLAGS = -O2 -Wall -Werror -g " . -+ &splitline("CFLAGS = -O2 -Wall -g " . - (join " ", map {"-I$dirpfx$_"} @srcdirs))."\n". - "MLDFLAGS = -framework Cocoa\n". - "ULDFLAGS =\n". -Index: putty-0.62/unix/Makefile.gtk -=================================================================== ---- putty-0.62.orig/unix/Makefile.gtk -+++ putty-0.62/unix/Makefile.gtk -@@ -119,7 +119,7 @@ GTK_CONFIG = sh -c 'pkg-config gtk+-2.0 - - unexport CFLAGS # work around a weird issue with krb5-config - --CFLAGS = -O2 -Wall -Werror -g -I.././ -I../charset/ -I../windows/ -I../unix/ \ -+CFLAGS = -O2 -Wall -g -I.././ -I../charset/ -I../windows/ -I../unix/ \ - -I../macosx/ $(shell $(GTK_CONFIG) --cflags) -D _FILE_OFFSET_BITS=64 - XLDFLAGS = $(LDFLAGS) $(shell $(GTK_CONFIG) --libs) - ULDFLAGS = $(LDFLAGS) -Index: putty-0.62/unix/Makefile.ux -=================================================================== ---- putty-0.62.orig/unix/Makefile.ux -+++ putty-0.62/unix/Makefile.ux -@@ -111,7 +111,7 @@ CC = $(TOOLPATH)cc - - unexport CFLAGS # work around a weird issue with krb5-config - --CFLAGS = -O2 -Wall -Werror -g -I.././ -I../charset/ -I../windows/ -I../unix/ \ -+CFLAGS = -O2 -Wall -g -I.././ -I../charset/ -I../windows/ -I../unix/ \ - -I../macosx/ -D _FILE_OFFSET_BITS=64 - ULDFLAGS = $(LDFLAGS) - INSTALL=install -Index: putty-0.62/unix/configure.ac -=================================================================== ---- putty-0.62.orig/unix/configure.ac -+++ putty-0.62/unix/configure.ac -@@ -11,7 +11,7 @@ AC_CONFIG_HEADERS([uxconfig.h:uxconfig.i - AC_PROG_INSTALL - AC_PROG_CC - if test "X$GCC" = Xyes; then -- PUTTYCFLAGS="-Wall -Werror" -+ PUTTYCFLAGS="-Wall" - else - PUTTYCFLAGS="" - fi diff --git a/putty-02-remove-gtk1.diff b/putty-02-remove-gtk1.diff deleted file mode 100644 index 85158bf..0000000 --- a/putty-02-remove-gtk1.diff +++ /dev/null @@ -1,20 +0,0 @@ - -Remove GTK1 lines from configure.ac to be able to run autoreconf. - ---- - unix/configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: putty-0.62/unix/configure.ac -=================================================================== ---- putty-0.62.orig/unix/configure.ac -+++ putty-0.62/unix/configure.ac -@@ -32,7 +32,7 @@ AC_CHECK_HEADERS([utmpx.h sys/select.h], - #include ]) - - # Look for both GTK 1 and GTK 2. --AM_PATH_GTK([1.2.0], [gtk=1], [gtk=none]) -+gtk=none - AM_PATH_GTK_2_0([2.0.0], [gtk=2], []) - if test "$gtk" = "none"; then - all_targets="all-cli" diff --git a/putty-03-config.diff b/putty-03-config.diff index cbf4e8b..3d41e4b 100644 --- a/putty-03-config.diff +++ b/putty-03-config.diff @@ -7,13 +7,13 @@ --- settings.c | 51 ++++++++++++++++++++++++++++++++++----------------- unix/gtkwin.c | 2 +- - windows/windefs.c | 4 ++-- - 3 files changed, 37 insertions(+), 20 deletions(-) + windows/windefs.c | 2 +- + 3 files changed, 36 insertions(+), 19 deletions(-) -Index: putty-0.62/settings.c +Index: putty-0.63/settings.c =================================================================== ---- putty-0.62.orig/settings.c -+++ putty-0.62/settings.c +--- putty-0.63.orig/settings.c 2013-08-02 23:33:40.000000000 +0100 ++++ putty-0.63/settings.c 2013-08-06 19:22:06.000000000 +0100 @@ -12,8 +12,8 @@ static const struct keyvalwhere ciphernames[] = { { "aes", CIPHER_AES, -1, -1 }, @@ -24,70 +24,70 @@ Index: putty-0.62/settings.c { "arcfour", CIPHER_ARCFOUR, -1, -1 }, { "des", CIPHER_DES, -1, -1 } }; -@@ -611,7 +611,7 @@ void load_open_settings(void *sesskey, C +@@ -696,7 +696,7 @@ void load_open_settings(void *sesskey, C } - gppi(sesskey, "TCPNoDelay", 1, &cfg->tcp_nodelay); - gppi(sesskey, "TCPKeepalives", 0, &cfg->tcp_keepalives); -- gpps(sesskey, "TerminalType", "xterm", cfg->termtype, -+ gpps(sesskey, "TerminalType", "linux", cfg->termtype, - sizeof(cfg->termtype)); - gpps(sesskey, "TerminalSpeed", "38400,38400", cfg->termspeed, - sizeof(cfg->termspeed)); -@@ -716,10 +716,10 @@ void load_open_settings(void *sesskey, C - gppi(sesskey, "PassiveTelnet", 0, &cfg->passive_telnet); - gppi(sesskey, "BackspaceIsDelete", 1, &cfg->bksp_is_delete); - gppi(sesskey, "RXVTHomeEnd", 0, &cfg->rxvt_homeend); -- gppi(sesskey, "LinuxFunctionKeys", 0, &cfg->funky_type); -+ gppi(sesskey, "LinuxFunctionKeys", 1, &cfg->funky_type); - gppi(sesskey, "NoApplicationKeys", 0, &cfg->no_applic_k); - gppi(sesskey, "NoApplicationCursors", 0, &cfg->no_applic_c); -- gppi(sesskey, "NoMouseReporting", 0, &cfg->no_mouse_rep); -+ gppi(sesskey, "NoMouseReporting", 1, &cfg->no_mouse_rep); - gppi(sesskey, "NoRemoteResize", 0, &cfg->no_remote_resize); - gppi(sesskey, "NoAltScreen", 0, &cfg->no_alt_screen); - gppi(sesskey, "NoRemoteWinTitle", 0, &cfg->no_remote_wintitle); -@@ -740,9 +740,9 @@ void load_open_settings(void *sesskey, C - gppi(sesskey, "ApplicationKeypad", 0, &cfg->app_keypad); - gppi(sesskey, "NetHackKeypad", 0, &cfg->nethack_keypad); - gppi(sesskey, "AltF4", 1, &cfg->alt_f4); -- gppi(sesskey, "AltSpace", 0, &cfg->alt_space); -+ gppi(sesskey, "AltSpace", 1, &cfg->alt_space); - gppi(sesskey, "AltOnly", 0, &cfg->alt_only); -- gppi(sesskey, "ComposeKey", 0, &cfg->compose_key); -+ gppi(sesskey, "ComposeKey", 1, &cfg->compose_key); - gppi(sesskey, "CtrlAltKeys", 1, &cfg->ctrlaltkeys); - gppi(sesskey, "TelnetKey", 0, &cfg->telnet_keyboard); - gppi(sesskey, "TelnetRet", 1, &cfg->telnet_newline); -@@ -751,12 +751,12 @@ void load_open_settings(void *sesskey, C - gpps(sesskey, "Answerback", "PuTTY", cfg->answerback, - sizeof(cfg->answerback)); - gppi(sesskey, "AlwaysOnTop", 0, &cfg->alwaysontop); -- gppi(sesskey, "FullScreenOnAltEnter", 0, &cfg->fullscreenonaltenter); -+ gppi(sesskey, "FullScreenOnAltEnter", 1, &cfg->fullscreenonaltenter); - gppi(sesskey, "HideMousePtr", 0, &cfg->hide_mouseptr); - gppi(sesskey, "SunkenEdge", 0, &cfg->sunken_edge); - gppi(sesskey, "WindowBorder", 1, &cfg->window_border); -- gppi(sesskey, "CurType", 0, &cfg->cursor_type); -- gppi(sesskey, "BlinkCur", 0, &cfg->blink_cur); -+ gppi(sesskey, "CurType", 1, &cfg->cursor_type); -+ gppi(sesskey, "BlinkCur", 1, &cfg->blink_cur); - /* pedantic compiler tells me I can't use &cfg->beep as an int * :-) */ - gppi(sesskey, "Beep", 1, &cfg->beep); - gppi(sesskey, "BeepInd", 0, &cfg->beep_ind); -@@ -790,10 +790,10 @@ void load_open_settings(void *sesskey, C - gppi(sesskey, "CRImpliesLF", 0, &cfg->crhaslf); - gppi(sesskey, "DisableArabicShaping", 0, &cfg->arabicshaping); - gppi(sesskey, "DisableBidi", 0, &cfg->bidi); -- gppi(sesskey, "WinNameAlways", 1, &cfg->win_name_always); -+ gppi(sesskey, "WinNameAlways", 0, &cfg->win_name_always); - gpps(sesskey, "WinTitle", "", cfg->wintitle, sizeof(cfg->wintitle)); - gppi(sesskey, "TermWidth", 80, &cfg->width); -- gppi(sesskey, "TermHeight", 24, &cfg->height); -+ gppi(sesskey, "TermHeight", 25, &cfg->height); - gppfont(sesskey, "Font", &cfg->font); - gppi(sesskey, "FontQuality", FQ_DEFAULT, &cfg->font_quality); - gppi(sesskey, "FontVTMode", VT_UNICODE, (int *) &cfg->vtmode); -@@ -805,11 +805,28 @@ void load_open_settings(void *sesskey, C + gppi(sesskey, "TCPNoDelay", 1, conf, CONF_tcp_nodelay); + gppi(sesskey, "TCPKeepalives", 0, conf, CONF_tcp_keepalives); +- gpps(sesskey, "TerminalType", "xterm", conf, CONF_termtype); ++ gpps(sesskey, "TerminalType", "linux", conf, CONF_termtype); + gpps(sesskey, "TerminalSpeed", "38400,38400", conf, CONF_termspeed); + if (!gppmap(sesskey, "TerminalModes", conf, CONF_ttymodes)) { + /* This hardcodes a big set of defaults in any new saved +@@ -783,10 +783,10 @@ void load_open_settings(void *sesskey, C + gppi(sesskey, "PassiveTelnet", 0, conf, CONF_passive_telnet); + gppi(sesskey, "BackspaceIsDelete", 1, conf, CONF_bksp_is_delete); + gppi(sesskey, "RXVTHomeEnd", 0, conf, CONF_rxvt_homeend); +- gppi(sesskey, "LinuxFunctionKeys", 0, conf, CONF_funky_type); ++ gppi(sesskey, "LinuxFunctionKeys", 1, conf, CONF_funky_type); + gppi(sesskey, "NoApplicationKeys", 0, conf, CONF_no_applic_k); + gppi(sesskey, "NoApplicationCursors", 0, conf, CONF_no_applic_c); +- gppi(sesskey, "NoMouseReporting", 0, conf, CONF_no_mouse_rep); ++ gppi(sesskey, "NoMouseReporting", 1, conf, CONF_no_mouse_rep); + gppi(sesskey, "NoRemoteResize", 0, conf, CONF_no_remote_resize); + gppi(sesskey, "NoAltScreen", 0, conf, CONF_no_alt_screen); + gppi(sesskey, "NoRemoteWinTitle", 0, conf, CONF_no_remote_wintitle); +@@ -806,9 +806,9 @@ void load_open_settings(void *sesskey, C + gppi(sesskey, "ApplicationKeypad", 0, conf, CONF_app_keypad); + gppi(sesskey, "NetHackKeypad", 0, conf, CONF_nethack_keypad); + gppi(sesskey, "AltF4", 1, conf, CONF_alt_f4); +- gppi(sesskey, "AltSpace", 0, conf, CONF_alt_space); ++ gppi(sesskey, "AltSpace", 1, conf, CONF_alt_space); + gppi(sesskey, "AltOnly", 0, conf, CONF_alt_only); +- gppi(sesskey, "ComposeKey", 0, conf, CONF_compose_key); ++ gppi(sesskey, "ComposeKey", 1, conf, CONF_compose_key); + gppi(sesskey, "CtrlAltKeys", 1, conf, CONF_ctrlaltkeys); + gppi(sesskey, "TelnetKey", 0, conf, CONF_telnet_keyboard); + gppi(sesskey, "TelnetRet", 1, conf, CONF_telnet_newline); +@@ -816,12 +816,12 @@ void load_open_settings(void *sesskey, C + gppi(sesskey, "LocalEdit", AUTO, conf, CONF_localedit); + gpps(sesskey, "Answerback", "PuTTY", conf, CONF_answerback); + gppi(sesskey, "AlwaysOnTop", 0, conf, CONF_alwaysontop); +- gppi(sesskey, "FullScreenOnAltEnter", 0, conf, CONF_fullscreenonaltenter); ++ gppi(sesskey, "FullScreenOnAltEnter", 1, conf, CONF_fullscreenonaltenter); + gppi(sesskey, "HideMousePtr", 0, conf, CONF_hide_mouseptr); + gppi(sesskey, "SunkenEdge", 0, conf, CONF_sunken_edge); + gppi(sesskey, "WindowBorder", 1, conf, CONF_window_border); +- gppi(sesskey, "CurType", 0, conf, CONF_cursor_type); +- gppi(sesskey, "BlinkCur", 0, conf, CONF_blink_cur); ++ gppi(sesskey, "CurType", 1, conf, CONF_cursor_type); ++ gppi(sesskey, "BlinkCur", 1, conf, CONF_blink_cur); + /* pedantic compiler tells me I can't use conf, CONF_beep as an int * :-) */ + gppi(sesskey, "Beep", 1, conf, CONF_beep); + gppi(sesskey, "BeepInd", 0, conf, CONF_beep_ind); +@@ -855,10 +855,10 @@ void load_open_settings(void *sesskey, C + gppi(sesskey, "CRImpliesLF", 0, conf, CONF_crhaslf); + gppi(sesskey, "DisableArabicShaping", 0, conf, CONF_arabicshaping); + gppi(sesskey, "DisableBidi", 0, conf, CONF_bidi); +- gppi(sesskey, "WinNameAlways", 1, conf, CONF_win_name_always); ++ gppi(sesskey, "WinNameAlways", 0, conf, CONF_win_name_always); + gpps(sesskey, "WinTitle", "", conf, CONF_wintitle); + gppi(sesskey, "TermWidth", 80, conf, CONF_width); +- gppi(sesskey, "TermHeight", 24, conf, CONF_height); ++ gppi(sesskey, "TermHeight", 25, conf, CONF_height); + gppfont(sesskey, "Font", conf, CONF_font); + gppi(sesskey, "FontQuality", FQ_DEFAULT, conf, CONF_font_quality); + gppi(sesskey, "FontVTMode", VT_UNICODE, conf, CONF_vtmode); +@@ -870,11 +870,28 @@ void load_open_settings(void *sesskey, C for (i = 0; i < 22; i++) { static const char *const defaults[] = { @@ -119,44 +119,40 @@ Index: putty-0.62/settings.c + "170,170,170", /* white */ + "255,255,255", /* white bold */ }; - char buf[20], buf2[30]; + char buf[20], *buf2; int c0, c1, c2; -@@ -855,7 +872,7 @@ void load_open_settings(void *sesskey, C +@@ -922,7 +939,7 @@ void load_open_settings(void *sesskey, C * The empty default for LineCodePage will be converted later * into a plausible default for the locale. */ -- gpps(sesskey, "LineCodePage", "", cfg->line_codepage, -+ gpps(sesskey, "LineCodePage", "UTF-8", cfg->line_codepage, - sizeof(cfg->line_codepage)); - gppi(sesskey, "CJKAmbigWide", 0, &cfg->cjk_ambig_wide); - gppi(sesskey, "UTF8Override", 1, &cfg->utf8_override); -Index: putty-0.62/unix/gtkwin.c +- gpps(sesskey, "LineCodePage", "", conf, CONF_line_codepage); ++ gpps(sesskey, "LineCodePage", "UTF-8", conf, CONF_line_codepage); + gppi(sesskey, "CJKAmbigWide", 0, conf, CONF_cjk_ambig_wide); + gppi(sesskey, "UTF8Override", 1, conf, CONF_utf8_override); + gpps(sesskey, "Printer", "", conf, CONF_printer); +Index: putty-0.63/unix/gtkwin.c =================================================================== ---- putty-0.62.orig/unix/gtkwin.c -+++ putty-0.62/unix/gtkwin.c -@@ -145,7 +145,7 @@ FontSpec platform_default_fontspec(const +--- putty-0.63.orig/unix/gtkwin.c 2013-07-20 14:15:10.000000000 +0100 ++++ putty-0.63/unix/gtkwin.c 2013-08-06 19:22:45.000000000 +0100 +@@ -164,7 +164,7 @@ void connection_fatal(void *frontend, ch + FontSpec *platform_default_fontspec(const char *name) { - FontSpec ret; if (!strcmp(name, "Font")) -- strcpy(ret.name, "server:fixed"); -+ strcpy(ret.name, "client:Monospace 14"); +- return fontspec_new("server:fixed"); ++ return fontspec_new("client:Monospace 14"); else - *ret.name = '\0'; - return ret; -Index: putty-0.62/windows/windefs.c + return fontspec_new(""); + } +Index: putty-0.63/windows/windefs.c =================================================================== ---- putty-0.62.orig/windows/windefs.c -+++ putty-0.62/windows/windefs.c -@@ -10,10 +10,10 @@ FontSpec platform_default_fontspec(const +--- putty-0.63.orig/windows/windefs.c 2011-10-02 12:01:57.000000000 +0100 ++++ putty-0.63/windows/windefs.c 2013-08-06 19:23:22.000000000 +0100 +@@ -9,7 +9,7 @@ + FontSpec *platform_default_fontspec(const char *name) { - FontSpec ret; - if (!strcmp(name, "Font")) { -- strcpy(ret.name, "Courier New"); -+ strcpy(ret.name, "Lucida Console"); - ret.isbold = 0; - ret.charset = ANSI_CHARSET; -- ret.height = 10; -+ ret.height = 14; - } else { - ret.name[0] = '\0'; - } + if (!strcmp(name, "Font")) +- return fontspec_new("Courier New", 0, 10, ANSI_CHARSET); ++ return fontspec_new("Ludica Console", 0, 14, ANSI_CHARSET); + else + return fontspec_new("", 0, 0, 0); + } diff --git a/putty-05-glib-deprecated.diff b/putty-05-glib-deprecated.diff deleted file mode 100644 index 4594495..0000000 --- a/putty-05-glib-deprecated.diff +++ /dev/null @@ -1,128 +0,0 @@ - -g_strcasecmp and g_strncasecmp are deprecated in glib-2.32. - ---- - unix/gtkfont.c | 57 +++++++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 37 insertions(+), 20 deletions(-) - -Index: putty-0.62/unix/gtkfont.c -=================================================================== ---- putty-0.62.orig/unix/gtkfont.c -+++ putty-0.62/unix/gtkfont.c -@@ -10,6 +10,8 @@ - */ - - #include -+#include -+#include - #include - #include - #include -@@ -524,21 +526,21 @@ static void x11font_enum_fonts(GtkWidget - style = p; - p += sprintf(p, "%s", components[2][0] ? components[2] : - "regular"); -- if (!g_strcasecmp(components[3], "i")) -+ if (!g_ascii_strcasecmp(components[3], "i")) - p += sprintf(p, " italic"); -- else if (!g_strcasecmp(components[3], "o")) -+ else if (!g_ascii_strcasecmp(components[3], "o")) - p += sprintf(p, " oblique"); -- else if (!g_strcasecmp(components[3], "ri")) -+ else if (!g_ascii_strcasecmp(components[3], "ri")) - p += sprintf(p, " reverse italic"); -- else if (!g_strcasecmp(components[3], "ro")) -+ else if (!g_ascii_strcasecmp(components[3], "ro")) - p += sprintf(p, " reverse oblique"); -- else if (!g_strcasecmp(components[3], "ot")) -+ else if (!g_ascii_strcasecmp(components[3], "ot")) - p += sprintf(p, " other-slant"); -- if (components[4][0] && g_strcasecmp(components[4], "normal")) -+ if (components[4][0] && g_ascii_strcasecmp(components[4], "normal")) - p += sprintf(p, " %s", components[4]); -- if (!g_strcasecmp(components[10], "m")) -+ if (!g_ascii_strcasecmp(components[10], "m")) - p += sprintf(p, " [M]"); -- if (!g_strcasecmp(components[10], "c")) -+ if (!g_ascii_strcasecmp(components[10], "c")) - p += sprintf(p, " [C]"); - if (components[5][0]) - p += sprintf(p, " %s", components[5]); -@@ -550,23 +552,23 @@ static void x11font_enum_fonts(GtkWidget - */ - p++; - stylekey = p; -- if (!g_strcasecmp(components[2], "medium") || -- !g_strcasecmp(components[2], "regular") || -- !g_strcasecmp(components[2], "normal") || -- !g_strcasecmp(components[2], "book")) -+ if (!g_ascii_strcasecmp(components[2], "medium") || -+ !g_ascii_strcasecmp(components[2], "regular") || -+ !g_ascii_strcasecmp(components[2], "normal") || -+ !g_ascii_strcasecmp(components[2], "book")) - weightkey = 0; -- else if (!g_strncasecmp(components[2], "demi", 4) || -- !g_strncasecmp(components[2], "semi", 4)) -+ else if (!g_ascii_strncasecmp(components[2], "demi", 4) || -+ !g_ascii_strncasecmp(components[2], "semi", 4)) - weightkey = 1; - else - weightkey = 2; -- if (!g_strcasecmp(components[3], "r")) -+ if (!g_ascii_strcasecmp(components[3], "r")) - slantkey = 0; -- else if (!g_strncasecmp(components[3], "r", 1)) -+ else if (!g_ascii_strncasecmp(components[3], "r", 1)) - slantkey = 2; - else - slantkey = 1; -- if (!g_strcasecmp(components[4], "normal")) -+ if (!g_ascii_strcasecmp(components[4], "normal")) - setwidthkey = 0; - else - setwidthkey = 1; -@@ -774,11 +776,16 @@ static int pangofont_check_desc_makes_se - - matched = FALSE; - for (i = 0; i < nfamilies; i++) { -- if (!g_strcasecmp(pango_font_family_get_name(families[i]), -- pango_font_description_get_family(desc))) { -+ gchar *a = g_utf8_strdown(pango_font_family_get_name(families[i]), -1); -+ gchar *b = g_utf8_strdown(pango_font_description_get_family(desc), -1); -+ if (a != NULL && b != NULL && strcmp(a, b) == 0) { -+ g_free(a); -+ g_free(b); - matched = TRUE; - break; - } -+ g_free(a); -+ g_free(b); - } - g_free(families); - -@@ -1375,6 +1382,7 @@ struct fontinfo_realname_find { - - static int strnullcasecmp(const char *a, const char *b) - { -+ gchar *p, *q; - int i; - - /* -@@ -1393,7 +1401,16 @@ static int strnullcasecmp(const char *a, - /* - * Otherwise, ordinary strcasecmp. - */ -- return g_strcasecmp(a, b); -+ p = g_utf8_strdown(a, -1); -+ q = g_utf8_strdown(b, -1); -+ if (p == NULL || q == NULL) { -+ fprintf(stderr, "%s\n", strerror(errno)); -+ abort(); -+ } -+ i = strcmp(p, q); -+ g_free(p); -+ g_free(q); -+ return i; - } - - static int fontinfo_realname_compare(void *av, void *bv) diff --git a/putty-06-gtk2-indivhdr.diff b/putty-06-gtk2-indivhdr.diff deleted file mode 100644 index fa2412a..0000000 --- a/putty-06-gtk2-indivhdr.diff +++ /dev/null @@ -1,32 +0,0 @@ ---- - unix/Makefile.in | 3 ++- - unix/gtkcols.h | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -Index: putty-0.62/unix/Makefile.in -=================================================================== ---- putty-0.62.orig/unix/Makefile.in -+++ putty-0.62/unix/Makefile.in -@@ -106,7 +106,8 @@ - CC = @CC@ - - CFLAGS = @CFLAGS@ @PUTTYCFLAGS@ @CPPFLAGS@ @DEFS@ @GTK_CFLAGS@ -I.././ \ -- -I../charset/ -I../windows/ -I../unix/ -I../macosx/ -+ -I../charset/ -I../windows/ -I../unix/ -I../macosx/ \ -+ -DGTK_DISABLE_SINGLE_INCLUDES - XLDFLAGS = @LDFLAGS@ @LIBS@ @GTK_LIBS@ - ULDFLAGS = @LDFLAGS@ @LIBS@ - INSTALL=@INSTALL@ -Index: putty-0.62/unix/gtkcols.h -=================================================================== ---- putty-0.62.orig/unix/gtkcols.h -+++ putty-0.62/unix/gtkcols.h -@@ -8,7 +8,7 @@ - #define COLUMNS_H - - #include --#include -+#include - - #ifdef __cplusplus - extern "C" { diff --git a/putty.changes b/putty.changes index 981d43a..6bb61f0 100644 --- a/putty.changes +++ b/putty.changes @@ -1,3 +1,59 @@ +------------------------------------------------------------------- +Tue Aug 6 19:09:06 UTC 2013 - andreas.stieger@gmx.de + +- update to 0.63 + * Security fix: prevent a nefarious SSH server or network attacker + from crashing PuTTY at startup in three different ways by + presenting a maliciously constructed public key and signature. + [bnc#833567] CVE-2013-4852 + * Security fix: PuTTY no longer retains the private half of users' + keys in memory by mistake after authenticating with them. + * Revamped the internal configuration storage system to remove all + fixed arbitrary limits on string lengths. In particular, there + should now no longer be an unreasonably small limit on the number + of port forwardings PuTTY can store. + * Port-forwarded TCP connections which close one direction before the + other should now be reliably supported, with EOF propagated + independently in the two directions. This also fixes some instances + of port-forwarding data corruption (if the corruption consisted of + losing data from the very end of the connection) and some instances + of PuTTY failing to close when the session is over (because it + wrongly thought a forwarding channel was still active when it was + not). + * The terminal emulation now supports xterm's bracketed paste mode + (allowing aware applications to tell the difference between typed + and pasted text, so that e.g. editors need not apply inappropriate + auto-indent). + * You can now choose to display bold text by both brightening the + foreground colour and changing the font, not just one or the other. + * PuTTYgen will now never generate a 2047-bit key when asked for 2048 + (or more generally n−1 bits when asked for n). + * Some updates to default settings: PuTTYgen now generates 2048-bit + keys by default (rather than 1024), and PuTTY defaults to UTF-8 + encoding and 2000 lines of scrollback (rather than ISO 8859-1 and + 200). + * Unix: PSCP and PSFTP now preserve the Unix file permissions, on + copies in both directions. + * Unix: dead keys and compose-character sequences are now supported. + * Unix: PuTTY and pterm now permit font fallback (where glyphs not + present in your selected font are automatically filled in from other + fonts on the system) even if you are using a server-side X11 font + rather than a Pango client-side one. + * Bug fixes too numerous to list, mostly resulting from running the + code through Coverity Scan which spotted an assortment of memory + and resource leaks, logic errors, and crashes in various circumstances. +- packaging changes: + * run make from base directory + * run tests + * remove putty-01-werror.diff + * remove putty-02-remove-gtk1.diff + * refresh putty-03-config.diff + * remove putty-05-glib-deprecated.diff + * remove putty-06-gtk2-indivhdr.diff + * remove autoconf calls and requirements + * package HTML documentation + * package LICENCE file + ------------------------------------------------------------------- Sun Dec 11 14:04:30 UTC 2011 - andreas.stieger@gmx.de diff --git a/putty.spec b/putty.spec index 403808d..c5014db 100644 --- a/putty.spec +++ b/putty.spec @@ -1,7 +1,7 @@ # # spec file for package putty # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,23 +17,16 @@ Name: putty -Version: 0.62 +Version: 0.63 Release: 0 Summary: GTK-based terminal emulator program License: MIT Group: System/X11/Utilities Url: http://www.chiark.greenend.org.uk/~sgtatham/putty/ - -Source: %name-%version.tar.bz2 -Patch1: putty-01-werror.diff -Patch2: putty-02-remove-gtk1.diff +Source: http://the.earth.li/~sgtatham/putty/latest/%{name}-%{version}.tar.gz Patch3: putty-03-config.diff -Patch4: putty-04-nodate.diff -Patch5: putty-05-glib-deprecated.diff -Patch6: putty-06-gtk2-indivhdr.diff +Patch4: putty-04-nodate.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: autoconf -BuildRequires: automake BuildRequires: gtk2-devel BuildRequires: krb5-devel @@ -44,23 +37,24 @@ serial console client. %prep %setup -q -%patch -P 1 -P 2 -P 3 -P 4 -P 5 -P 6 -p1 +%patch3 -p1 +%patch4 -p1 %build -pushd unix/; -autoreconf -fi; %configure make %{?_smp_mflags}; -popd; %install -pushd unix/; make install DESTDIR="%buildroot"; -popd; + +%check +make check %files %defattr(-,root,root) +%doc LICENCE %_bindir/* %doc %_mandir/man*/* +%doc doc/*.html %changelog