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
This commit is contained in:
Jan Engelhardt 2013-08-06 19:28:59 +00:00 committed by Git OBS Bridge
parent 291f17e6e3
commit c578bd29bd
9 changed files with 165 additions and 390 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9a34b007a67e9d863736ea11f10fbb6aa9fe9904d027605275ba22e61a4b5a33
size 1378776

3
putty-0.63.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:81e8eaaf31be7d9a46b4f3fb80d1d9540776f142cd89d0a11f2f8082dc68f8b5
size 1887913

View File

@ -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

View File

@ -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 <utmp.h>])
# 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"

View File

@ -7,13 +7,13 @@
--- ---
settings.c | 51 ++++++++++++++++++++++++++++++++++----------------- settings.c | 51 ++++++++++++++++++++++++++++++++++-----------------
unix/gtkwin.c | 2 +- unix/gtkwin.c | 2 +-
windows/windefs.c | 4 ++-- windows/windefs.c | 2 +-
3 files changed, 37 insertions(+), 20 deletions(-) 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.63.orig/settings.c 2013-08-02 23:33:40.000000000 +0100
+++ putty-0.62/settings.c +++ putty-0.63/settings.c 2013-08-06 19:22:06.000000000 +0100
@@ -12,8 +12,8 @@ @@ -12,8 +12,8 @@
static const struct keyvalwhere ciphernames[] = { static const struct keyvalwhere ciphernames[] = {
{ "aes", CIPHER_AES, -1, -1 }, { "aes", CIPHER_AES, -1, -1 },
@ -24,70 +24,70 @@ Index: putty-0.62/settings.c
{ "arcfour", CIPHER_ARCFOUR, -1, -1 }, { "arcfour", CIPHER_ARCFOUR, -1, -1 },
{ "des", CIPHER_DES, -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, "TCPNoDelay", 1, conf, CONF_tcp_nodelay);
gppi(sesskey, "TCPKeepalives", 0, &cfg->tcp_keepalives); gppi(sesskey, "TCPKeepalives", 0, conf, CONF_tcp_keepalives);
- gpps(sesskey, "TerminalType", "xterm", cfg->termtype, - gpps(sesskey, "TerminalType", "xterm", conf, CONF_termtype);
+ gpps(sesskey, "TerminalType", "linux", cfg->termtype, + gpps(sesskey, "TerminalType", "linux", conf, CONF_termtype);
sizeof(cfg->termtype)); gpps(sesskey, "TerminalSpeed", "38400,38400", conf, CONF_termspeed);
gpps(sesskey, "TerminalSpeed", "38400,38400", cfg->termspeed, if (!gppmap(sesskey, "TerminalModes", conf, CONF_ttymodes)) {
sizeof(cfg->termspeed)); /* This hardcodes a big set of defaults in any new saved
@@ -716,10 +716,10 @@ void load_open_settings(void *sesskey, C @@ -783,10 +783,10 @@ void load_open_settings(void *sesskey, C
gppi(sesskey, "PassiveTelnet", 0, &cfg->passive_telnet); gppi(sesskey, "PassiveTelnet", 0, conf, CONF_passive_telnet);
gppi(sesskey, "BackspaceIsDelete", 1, &cfg->bksp_is_delete); gppi(sesskey, "BackspaceIsDelete", 1, conf, CONF_bksp_is_delete);
gppi(sesskey, "RXVTHomeEnd", 0, &cfg->rxvt_homeend); gppi(sesskey, "RXVTHomeEnd", 0, conf, CONF_rxvt_homeend);
- gppi(sesskey, "LinuxFunctionKeys", 0, &cfg->funky_type); - gppi(sesskey, "LinuxFunctionKeys", 0, conf, CONF_funky_type);
+ gppi(sesskey, "LinuxFunctionKeys", 1, &cfg->funky_type); + gppi(sesskey, "LinuxFunctionKeys", 1, conf, CONF_funky_type);
gppi(sesskey, "NoApplicationKeys", 0, &cfg->no_applic_k); gppi(sesskey, "NoApplicationKeys", 0, conf, CONF_no_applic_k);
gppi(sesskey, "NoApplicationCursors", 0, &cfg->no_applic_c); gppi(sesskey, "NoApplicationCursors", 0, conf, CONF_no_applic_c);
- gppi(sesskey, "NoMouseReporting", 0, &cfg->no_mouse_rep); - gppi(sesskey, "NoMouseReporting", 0, conf, CONF_no_mouse_rep);
+ gppi(sesskey, "NoMouseReporting", 1, &cfg->no_mouse_rep); + gppi(sesskey, "NoMouseReporting", 1, conf, CONF_no_mouse_rep);
gppi(sesskey, "NoRemoteResize", 0, &cfg->no_remote_resize); gppi(sesskey, "NoRemoteResize", 0, conf, CONF_no_remote_resize);
gppi(sesskey, "NoAltScreen", 0, &cfg->no_alt_screen); gppi(sesskey, "NoAltScreen", 0, conf, CONF_no_alt_screen);
gppi(sesskey, "NoRemoteWinTitle", 0, &cfg->no_remote_wintitle); gppi(sesskey, "NoRemoteWinTitle", 0, conf, CONF_no_remote_wintitle);
@@ -740,9 +740,9 @@ void load_open_settings(void *sesskey, C @@ -806,9 +806,9 @@ void load_open_settings(void *sesskey, C
gppi(sesskey, "ApplicationKeypad", 0, &cfg->app_keypad); gppi(sesskey, "ApplicationKeypad", 0, conf, CONF_app_keypad);
gppi(sesskey, "NetHackKeypad", 0, &cfg->nethack_keypad); gppi(sesskey, "NetHackKeypad", 0, conf, CONF_nethack_keypad);
gppi(sesskey, "AltF4", 1, &cfg->alt_f4); gppi(sesskey, "AltF4", 1, conf, CONF_alt_f4);
- gppi(sesskey, "AltSpace", 0, &cfg->alt_space); - gppi(sesskey, "AltSpace", 0, conf, CONF_alt_space);
+ gppi(sesskey, "AltSpace", 1, &cfg->alt_space); + gppi(sesskey, "AltSpace", 1, conf, CONF_alt_space);
gppi(sesskey, "AltOnly", 0, &cfg->alt_only); gppi(sesskey, "AltOnly", 0, conf, CONF_alt_only);
- gppi(sesskey, "ComposeKey", 0, &cfg->compose_key); - gppi(sesskey, "ComposeKey", 0, conf, CONF_compose_key);
+ gppi(sesskey, "ComposeKey", 1, &cfg->compose_key); + gppi(sesskey, "ComposeKey", 1, conf, CONF_compose_key);
gppi(sesskey, "CtrlAltKeys", 1, &cfg->ctrlaltkeys); gppi(sesskey, "CtrlAltKeys", 1, conf, CONF_ctrlaltkeys);
gppi(sesskey, "TelnetKey", 0, &cfg->telnet_keyboard); gppi(sesskey, "TelnetKey", 0, conf, CONF_telnet_keyboard);
gppi(sesskey, "TelnetRet", 1, &cfg->telnet_newline); gppi(sesskey, "TelnetRet", 1, conf, CONF_telnet_newline);
@@ -751,12 +751,12 @@ void load_open_settings(void *sesskey, C @@ -816,12 +816,12 @@ void load_open_settings(void *sesskey, C
gpps(sesskey, "Answerback", "PuTTY", cfg->answerback, gppi(sesskey, "LocalEdit", AUTO, conf, CONF_localedit);
sizeof(cfg->answerback)); gpps(sesskey, "Answerback", "PuTTY", conf, CONF_answerback);
gppi(sesskey, "AlwaysOnTop", 0, &cfg->alwaysontop); gppi(sesskey, "AlwaysOnTop", 0, conf, CONF_alwaysontop);
- gppi(sesskey, "FullScreenOnAltEnter", 0, &cfg->fullscreenonaltenter); - gppi(sesskey, "FullScreenOnAltEnter", 0, conf, CONF_fullscreenonaltenter);
+ gppi(sesskey, "FullScreenOnAltEnter", 1, &cfg->fullscreenonaltenter); + gppi(sesskey, "FullScreenOnAltEnter", 1, conf, CONF_fullscreenonaltenter);
gppi(sesskey, "HideMousePtr", 0, &cfg->hide_mouseptr); gppi(sesskey, "HideMousePtr", 0, conf, CONF_hide_mouseptr);
gppi(sesskey, "SunkenEdge", 0, &cfg->sunken_edge); gppi(sesskey, "SunkenEdge", 0, conf, CONF_sunken_edge);
gppi(sesskey, "WindowBorder", 1, &cfg->window_border); gppi(sesskey, "WindowBorder", 1, conf, CONF_window_border);
- gppi(sesskey, "CurType", 0, &cfg->cursor_type); - gppi(sesskey, "CurType", 0, conf, CONF_cursor_type);
- gppi(sesskey, "BlinkCur", 0, &cfg->blink_cur); - gppi(sesskey, "BlinkCur", 0, conf, CONF_blink_cur);
+ gppi(sesskey, "CurType", 1, &cfg->cursor_type); + gppi(sesskey, "CurType", 1, conf, CONF_cursor_type);
+ gppi(sesskey, "BlinkCur", 1, &cfg->blink_cur); + gppi(sesskey, "BlinkCur", 1, conf, CONF_blink_cur);
/* pedantic compiler tells me I can't use &cfg->beep as an int * :-) */ /* pedantic compiler tells me I can't use conf, CONF_beep as an int * :-) */
gppi(sesskey, "Beep", 1, &cfg->beep); gppi(sesskey, "Beep", 1, conf, CONF_beep);
gppi(sesskey, "BeepInd", 0, &cfg->beep_ind); gppi(sesskey, "BeepInd", 0, conf, CONF_beep_ind);
@@ -790,10 +790,10 @@ void load_open_settings(void *sesskey, C @@ -855,10 +855,10 @@ void load_open_settings(void *sesskey, C
gppi(sesskey, "CRImpliesLF", 0, &cfg->crhaslf); gppi(sesskey, "CRImpliesLF", 0, conf, CONF_crhaslf);
gppi(sesskey, "DisableArabicShaping", 0, &cfg->arabicshaping); gppi(sesskey, "DisableArabicShaping", 0, conf, CONF_arabicshaping);
gppi(sesskey, "DisableBidi", 0, &cfg->bidi); gppi(sesskey, "DisableBidi", 0, conf, CONF_bidi);
- gppi(sesskey, "WinNameAlways", 1, &cfg->win_name_always); - gppi(sesskey, "WinNameAlways", 1, conf, CONF_win_name_always);
+ gppi(sesskey, "WinNameAlways", 0, &cfg->win_name_always); + gppi(sesskey, "WinNameAlways", 0, conf, CONF_win_name_always);
gpps(sesskey, "WinTitle", "", cfg->wintitle, sizeof(cfg->wintitle)); gpps(sesskey, "WinTitle", "", conf, CONF_wintitle);
gppi(sesskey, "TermWidth", 80, &cfg->width); gppi(sesskey, "TermWidth", 80, conf, CONF_width);
- gppi(sesskey, "TermHeight", 24, &cfg->height); - gppi(sesskey, "TermHeight", 24, conf, CONF_height);
+ gppi(sesskey, "TermHeight", 25, &cfg->height); + gppi(sesskey, "TermHeight", 25, conf, CONF_height);
gppfont(sesskey, "Font", &cfg->font); gppfont(sesskey, "Font", conf, CONF_font);
gppi(sesskey, "FontQuality", FQ_DEFAULT, &cfg->font_quality); gppi(sesskey, "FontQuality", FQ_DEFAULT, conf, CONF_font_quality);
gppi(sesskey, "FontVTMode", VT_UNICODE, (int *) &cfg->vtmode); gppi(sesskey, "FontVTMode", VT_UNICODE, conf, CONF_vtmode);
@@ -805,11 +805,28 @@ void load_open_settings(void *sesskey, C @@ -870,11 +870,28 @@ void load_open_settings(void *sesskey, C
for (i = 0; i < 22; i++) { for (i = 0; i < 22; i++) {
static const char *const defaults[] = { static const char *const defaults[] = {
@ -119,44 +119,40 @@ Index: putty-0.62/settings.c
+ "170,170,170", /* white */ + "170,170,170", /* white */
+ "255,255,255", /* white bold */ + "255,255,255", /* white bold */
}; };
char buf[20], buf2[30]; char buf[20], *buf2;
int c0, c1, c2; 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 * The empty default for LineCodePage will be converted later
* into a plausible default for the locale. * into a plausible default for the locale.
*/ */
- gpps(sesskey, "LineCodePage", "", cfg->line_codepage, - gpps(sesskey, "LineCodePage", "", conf, CONF_line_codepage);
+ gpps(sesskey, "LineCodePage", "UTF-8", cfg->line_codepage, + gpps(sesskey, "LineCodePage", "UTF-8", conf, CONF_line_codepage);
sizeof(cfg->line_codepage)); gppi(sesskey, "CJKAmbigWide", 0, conf, CONF_cjk_ambig_wide);
gppi(sesskey, "CJKAmbigWide", 0, &cfg->cjk_ambig_wide); gppi(sesskey, "UTF8Override", 1, conf, CONF_utf8_override);
gppi(sesskey, "UTF8Override", 1, &cfg->utf8_override); gpps(sesskey, "Printer", "", conf, CONF_printer);
Index: putty-0.62/unix/gtkwin.c Index: putty-0.63/unix/gtkwin.c
=================================================================== ===================================================================
--- putty-0.62.orig/unix/gtkwin.c --- putty-0.63.orig/unix/gtkwin.c 2013-07-20 14:15:10.000000000 +0100
+++ putty-0.62/unix/gtkwin.c +++ putty-0.63/unix/gtkwin.c 2013-08-06 19:22:45.000000000 +0100
@@ -145,7 +145,7 @@ FontSpec platform_default_fontspec(const @@ -164,7 +164,7 @@ void connection_fatal(void *frontend, ch
FontSpec *platform_default_fontspec(const char *name)
{ {
FontSpec ret;
if (!strcmp(name, "Font")) if (!strcmp(name, "Font"))
- strcpy(ret.name, "server:fixed"); - return fontspec_new("server:fixed");
+ strcpy(ret.name, "client:Monospace 14"); + return fontspec_new("client:Monospace 14");
else else
*ret.name = '\0'; return fontspec_new("");
return ret; }
Index: putty-0.62/windows/windefs.c Index: putty-0.63/windows/windefs.c
=================================================================== ===================================================================
--- putty-0.62.orig/windows/windefs.c --- putty-0.63.orig/windows/windefs.c 2011-10-02 12:01:57.000000000 +0100
+++ putty-0.62/windows/windefs.c +++ putty-0.63/windows/windefs.c 2013-08-06 19:23:22.000000000 +0100
@@ -10,10 +10,10 @@ FontSpec platform_default_fontspec(const @@ -9,7 +9,7 @@
{ FontSpec *platform_default_fontspec(const char *name)
FontSpec ret; {
if (!strcmp(name, "Font")) { if (!strcmp(name, "Font"))
- strcpy(ret.name, "Courier New"); - return fontspec_new("Courier New", 0, 10, ANSI_CHARSET);
+ strcpy(ret.name, "Lucida Console"); + return fontspec_new("Ludica Console", 0, 14, ANSI_CHARSET);
ret.isbold = 0; else
ret.charset = ANSI_CHARSET; return fontspec_new("", 0, 0, 0);
- ret.height = 10;
+ ret.height = 14;
} else {
ret.name[0] = '\0';
} }

View File

@ -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 <assert.h>
+#include <errno.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
@@ -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)

View File

@ -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 <gdk/gdk.h>
-#include <gtk/gtkcontainer.h>
+#include <gtk/gtk.h>
#ifdef __cplusplus
extern "C" {

View File

@ -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 n1 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 Sun Dec 11 14:04:30 UTC 2011 - andreas.stieger@gmx.de

View File

@ -1,7 +1,7 @@
# #
# spec file for package putty # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,23 +17,16 @@
Name: putty Name: putty
Version: 0.62 Version: 0.63
Release: 0 Release: 0
Summary: GTK-based terminal emulator program Summary: GTK-based terminal emulator program
License: MIT License: MIT
Group: System/X11/Utilities Group: System/X11/Utilities
Url: http://www.chiark.greenend.org.uk/~sgtatham/putty/ Url: http://www.chiark.greenend.org.uk/~sgtatham/putty/
Source: http://the.earth.li/~sgtatham/putty/latest/%{name}-%{version}.tar.gz
Source: %name-%version.tar.bz2
Patch1: putty-01-werror.diff
Patch2: putty-02-remove-gtk1.diff
Patch3: putty-03-config.diff Patch3: putty-03-config.diff
Patch4: putty-04-nodate.diff Patch4: putty-04-nodate.diff
Patch5: putty-05-glib-deprecated.diff
Patch6: putty-06-gtk2-indivhdr.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gtk2-devel BuildRequires: gtk2-devel
BuildRequires: krb5-devel BuildRequires: krb5-devel
@ -44,23 +37,24 @@ serial console client.
%prep %prep
%setup -q %setup -q
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -P 6 -p1 %patch3 -p1
%patch4 -p1
%build %build
pushd unix/;
autoreconf -fi;
%configure %configure
make %{?_smp_mflags}; make %{?_smp_mflags};
popd;
%install %install
pushd unix/;
make install DESTDIR="%buildroot"; make install DESTDIR="%buildroot";
popd;
%check
make check
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc LICENCE
%_bindir/* %_bindir/*
%doc %_mandir/man*/* %doc %_mandir/man*/*
%doc doc/*.html
%changelog %changelog