Bug#491101: (no subject)
severity 491101 grave thanks The command is completely non-functional. -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#459813: heisenbug, maybe?
The ignored DHCPACK packets look very much like a defect I have been looking at recently. I have seen multiple DHCPREQUEST packets coming from dhclient 3.1.1-3, (and other versions). They keep repeating from the RENEW timeout until the REBIND timeout. I tracked down the cause in one system running dhclient 3.1.1-3. The problem occured when DHCPACK packets are consumed by a second dhclient process that is supposed to be handling a different NIC. All of the dhclient processes are reading from sockets that are bound to UDP port 68 and address 0.0.0.0. The sockets have no association with a particular NIC or IP. There is a race to determine which process will read each DHCPACK packet. And it is very common for one of the other dhclient processes to read and discard every DHCPACK intended for a particular dhclient handling a particular NIC. This problem could be avoided by having a single dhclient handling all of the NICs. But the trend has been toward having one dhclient per NIC for flexible handling of NICs that are enabled after dhclient is started. If there will be multiple dhclient processes then they will need to start sharing the data that they read from their port 68 sockets. -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#418638: libpoppler0c2: crash in JPXStream::readCodeBlockData on 64-bit system
) { + if (coeff[-((int)tileComp-cbW)].flags jpxCoeffSignificant) { ++vert; - vertSign += (coeff[-tileComp-cbW].flags jpxCoeffSign) + vertSign += (coeff[-((int)tileComp-cbW)].flags jpxCoeffSign) ? -1 : 1; } } -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-3-amd64 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages libpoppler0c2 depends on: ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries ii libfontconfig1 2.4.2-1.2generic font configuration library ii libfreetype62.2.1-5 FreeType 2 font engine, shared lib ii libgcc1 1:4.1.1-21 GCC support library ii libjpeg62 6b-13The Independent JPEG Group's JPEG ii libstdc++6 4.1.1-21 The GNU Standard C++ Library v3 ii zlib1g 1:1.2.3-13 compression library - runtime libpoppler0c2 recommends no packages. -- no debconf information -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#386595: cscope segfaults when using the -q option
The problem here seems to have crept in when trying to remove magic numbers related to the size of a long. One expression that used to be 3 was rewritten to use (sizeof(long) - 1). But the correct value in that line really is 3 even when sizeof(long) is not 4. Here is a patch. *** src/invlib.c2006-04-21 04:43:42.0 -0600 --- old_src/invlib.c2006-09-27 17:50:54.0 -0600 *** *** 415,421 while (--maxback 0) { howfar++; iteminfo.packword[0] = ! logicalblk.invblk[--holditems * 2 + (sizeof(long) - 1)]; if ((i = iteminfo.e.size / 10) maxback) { maxback = i; backupflag = howfar; --- 415,421 while (--maxback 0) { howfar++; iteminfo.packword[0] = ! logicalblk.invblk[--holditems * 2 + 3]; if ((i = iteminfo.e.size / 10) maxback) { maxback = i; backupflag = howfar; -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#362633: installation-report: fails to detect hard drive
This is a problem with recent kernels not supporting multiple PCI domains in ACPI. It is discussed in http://lkml.org/lkml/2005/12/2/131 http://lkml.org/lkml/2005/12/2/192 and http://lkml.org/lkml/2006/5/15/161 The problem can be avoided by booting with pci=noacpi or by changing BIOS settings. (I did this using BIOS version 786B9 v1.29) Use the BIOS menus to disable bus segmentation- Advanced Chipset/Memory ACPI Bus Segmentation Disable -- - [HP is committed to respecting your privacy.] For more information, visit http://welcome.hp.com/country/us/en/privacy/worldwide_privacy.html - or contact me at: [EMAIL PROTECTED] or HP Privacy Mailbox , 20555 SH 249, MS 040307 , Houston, Texas 77070] Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#340239: acknowledged by developer (Bug#340239: fixed in strace 4.5.14-1)
The new code in strace 4.5.14-1 fixes most of the ipc trace problems. Thank you for those changes. But strace still has trouble with semtimedop. The sense of the indirect_ipccall test in sys_semtimedop is backwards. And the values for semtimedop in linux/hppa/syscallent.h are initialized incorrectly. The following changes correct the values reported when running strace on the ipc_test.c program. diff -ur strace-4.5.14/ipc.c strace-4.5.14.1/ipc.c --- strace-4.5.14/ipc.c 2005-12-02 04:34:09.0 + +++ strace-4.5.14.1/ipc.c 2006-04-24 23:01:15.79000 + @@ -293,7 +293,7 @@ { if (entering(tcp)) { tprintf(%lu, tcp-u_arg[0]); - if (!indirect_ipccall(tcp)) { + if (indirect_ipccall(tcp)) { tprintf(, %#lx, tcp-u_arg[3]); tprintf(, %lu, , tcp-u_arg[1]); printtv(tcp, tcp-u_arg[5]); diff -ur strace-4.5.14/linux/hppa/syscallent.h strace-4.5.14.1/linux/hppa/syscallent.h --- strace-4.5.14/linux/hppa/syscallent.h 2006-01-12 22:34:50.0 + +++ strace-4.5.14.1/linux/hppa/syscallent.h 2006-04-24 23:19:56.32000 + @@ -233,7 +233,7 @@ { 4,TD, sys_epoll_ctl, epoll_ctl }, /* 225 */ { 4,TD, sys_epoll_wait, epoll_wait}, /* 226 */ { 5,0, printargs, remap_file_pages }, /* 227 */ - { 5,0, printargs, semtimedop}, /* 228 */ + { 5,TI, sys_semtimedop, semtimedop}, /* 228 */ { 5,0, printargs, mq_open }, /* 229 */ { 5,0, printargs, mq_unlink }, /* 230 */ { 5,0, printargs, mq_timedsend }, /* 231 */ -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#297330: bash3: Esc-/ garbages colored prompt
This defect is now fixed in bash 3.1-4 by the inclusion of bash 3.1 official patch 14. -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#356308: bash-default-editor.dpatch has extra ')' in VI_EDIT_COMMAND.
Package: bash Version: 3.1-2 Severity: normal Tags: patch The bash-default-editor.dpatch that fixed #296603 has a typo that breaks the default editor for edit-and-execute-command when in non-posix vi mode. If EDITOR is not set then trying to edit a command line with escv just executes the current line without starting an editor. The fix is to just drop an extra ')' character from the define of VI_EDIT_COMMAND. --- bash-3.1/debian/patches/bash-default-editor.dpatch 2006-03-09 13:31:52.0 -0700 +++ bash-3.1-fix/debian/patches/bash-default-editor.dpatch 2006-03-10 17:13:34.0 -0700 @@ -41,7 +41,7 @@ -#define VI_EDIT_COMMAND fc -e \${VISUAL:-${EDITOR:-vi}}\ -#define EMACS_EDIT_COMMANDfc -e \${VISUAL:-${EDITOR:-emacs}}\ -+#define VI_EDIT_COMMAND fc -e \${VISUAL:-${EDITOR:-$(command -v editor || echo vi))}}\ ++#define VI_EDIT_COMMAND fc -e \${VISUAL:-${EDITOR:-$(command -v editor || echo vi)}}\ +#define EMACS_EDIT_COMMANDfc -e \${VISUAL:-${EDITOR:-$(command -v editor || echo emacs)}}\ #define POSIX_VI_EDIT_COMMAND fc -e vi -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15-1-amd64-k8-smp Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages bash depends on: ii base-files3.1.10 Debian base system miscellaneous f ii debianutils 2.15.2 Miscellaneous utilities specific t ii libc6 2.3.5-13 GNU C Library: Shared libraries an ii libncurses5 5.5-1 Shared libraries for terminal hand bash recommends no packages. -- no debconf information -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#342868: The sed error message in command completion is still not fixed.
found 343312 3.1-2 stop The parse.y patch in bash 3.1-2 does not fix the sed error from _known_hosts during command completion. It does fix the problem with eval x=($(echo 1; echo 2)) that was noted as a second problem in defect 342868. The parse.y patch that I included earlier in additional comments to defect 342868 will fix the quoting problem that causes the sed error. -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#342868: A fix for the actual bash defect
The difference in known_hosts() function actually comes from a side effect of an intentional change to bash. A quoting change that first appeared in bash-3.1-beta1 has caused a new problem with quoting. The description for the change was- t. Fixed a bug that caused the expanded value of a $'...' string to be incorrectly re-quoted if it occurred within a double-quoted ${...} parameter expansion. The 'fix' in bash-3.1/bash/parse.y checks for double quoting and suppresses requoting of $'' single quotes. if ((rflags P_DQUOTE) == 0) { nestret = sh_single_quote (ttrans); free (ttrans); nestlen = strlen (nestret); } else { nestret = ttrans; nestlen = ttranslen; } But that test is fooled when double quoting is used around command substitution. The single quotes are dropped even though the string will be evaluated first by the command substitution inside of the double quotes. That breaks the _known_hosts() function for command completion code in debian's /etc/bash_completion. The loss of quoting breaks up input to sed that was intended to be a single argument. Here is an example showing first the intended change and then the unintended change. $ cat quote_bugs function args for a in $@;do echo '$a';done unset mytab echo ${mytab:-$'\t'} | od -c echo $( args $'A\tB' ) $ bash_source/bash-3.0/build-bash/bash -v quote_bugs function args for a in $@;do echo '$a';done unset mytab echo ${mytab:-$'\t'} | od -c 000 ' \t ' \n 004 echo $( args $'A\tB' ) args 'AB' 'A B' $ bash_source/bash-3.1/build-bash/bash -v quote_bugs function args for a in $@;do echo '$a';done unset mytab echo ${mytab:-$'\t'} | od -c 000 \t \n 002 echo $( args $'A\tB' ) args A B 'A' 'B' $ The problem can be avoided by removing the P_DQUOTE bit from rflags when calling parse_matched_pair for $() expansion. Here is a patch. --- bash/parse.y~ 2006-01-07 16:11:12.0 -0700 +++ bash/parse.y2006-01-07 16:12:40.0 -0700 @@ -2906,8 +2906,8 @@ { if (open == ch) /* undo previous increment */ count--; - if (ch == '(')/* ) */ - nestret = parse_matched_pair (0, '(', ')', nestlen, rflags); + if (ch == '(')/* ) */ /* disable P_DQUOTE for $() */ + nestret = parse_matched_pair (0, '(', ')', nestlen, rflags ~P_DQUOTE); else if (ch == '{') /* } */ nestret = parse_matched_pair (0, '{', '}', nestlen, P_FIRSTCLOSE|rflags); else if (ch == '[') /* ] */ Unfortunately, the debian/rules file has a problem with patching parse.y. The newer date on the patched parse.y causes the make in each of the build-* directories to create a new y.tab.c and y.tab.h. A later install operation tries to install *.h from multiple directories. Install then finds a y.tab.h file in two different source directories. That causes debuild to fail. Changing the debian/rules file to install from one directory at a time avoids the error. Here is a patch for that. With this patch the newer build-bash/y.tab.h is installed over the top of the older bash/y.tab.h. --- bash-3.1/debian/rules 2006-01-08 17:53:26.0 -0700 +++ bash-3.1-fix/debian/rules 2006-01-08 17:56:48.0 -0700 @@ -272,8 +272,9 @@ scripts/bcsh.sh scripts/krand.bash : # files for the bash-builtins package - $(ID) bash/include/*.h bash/*.h build-bash/*.h \ - $(d_bins)/usr/include/bash/ + $(ID) bash/include/*.h $(d_bins)/usr/include/bash/ + $(ID) bash/*.h $(d_bins)/usr/include/bash/ + $(ID) build-bash/*.h $(d_bins)/usr/include/bash/ $(ID) bash/builtins/*.h $(d_bins)/usr/include/bash/builtins/ $(ID) bash/lib/glob/*.h $(d_bins)/usr/include/bash/lib/glob/ $(ID) bash/lib/tilde/*.h $(d_bins)/usr/include/bash/lib/tilde/ -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#297330: bash3: Esc-/ garbages colored prompt
The 3.1-1 version did not correct this problem. The vi history operation still produces garbage characters when the prompt uses non-printing characters between \[ and \] delimiters. The vi-search-prompt.dpatch patch can still be applied to the 3.1-1 version to correct this problem. -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#340239: strace 4.5.12-1 ipc syscalls defect
Package: strace Version: 4.5.12-1 strace does not correctly report the parameters for ipc syscalls on architectures other than i386. It shuffles the order of parameters on several calls. That should only be done on i386 systems. The use of incorrect parameters also results in bad addresses and errors such as- ptrace: umoven: Input/output error umovestr: Input/output error I have created a patch for this. It is attached as strace.patch. I tested it on x86_64, ia64, and hppa systems with the attached ipc_test.c program. It can be run with trace -f -e trace=ipc -o ipc_test.strace ./ipc_test cat ipc_test.strace to show the interesting msg*, sem*, and shm* parameters. There may be more changes appropriate for the syscallent.h files for other non-i386 architectures. They may need changes to use sys_* functions and get the right number of parameters. I don't have those at hand to test. -- Mike Stroyan, [EMAIL PROTECTED] diff -u -r strace-4.5.12/debian/changelog strace-4.5.12.1/debian/changelog --- strace-4.5.12/debian/changelog 2005-11-21 15:25:13.0 -0700 +++ strace-4.5.12.1/debian/changelog2005-11-21 15:26:10.0 -0700 @@ -1,3 +1,9 @@ +strace (4.5.12-1.1) unstable; urgency=low + * Handle non-i386 architectures in ipc.c, no parameter shuffling + * Fix number of arguments to msgrcv on hppa and x86_64 + + -- Mike Stroyan [EMAIL PROTECTED] Mon, 21 Nov 2005 14:38:39 -0700 + strace (4.5.12-1) unstable; urgency=low * New upstream version. diff -u -r strace-4.5.12/ipc.c strace-4.5.12.1/ipc.c --- strace-4.5.12/ipc.c 2005-11-21 15:25:13.0 -0700 +++ strace-4.5.12.1/ipc.c 2005-11-21 15:25:10.0 -0700 @@ -183,11 +183,11 @@ if (entering(tcp)) { tprintf(%lu, , tcp-u_arg[0]); PRINTCTL(msgctl_flags, tcp-u_arg[1], MSG_???); -#ifdef LINUX +#if defined LINUX defined I386 tprintf(, %#lx, tcp-u_arg[3]); -#else /* !LINUX */ +#else /* !(LINUX I386)*/ tprintf(, %#lx, tcp-u_arg[2]); -#endif /* !LINUX */ +#endif /* !(LINUX I386)*/ } return 0; } @@ -199,7 +199,7 @@ if (entering(tcp)) { tprintf(%lu, tcp-u_arg[0]); -#ifdef LINUX +#if defined LINUX defined I386 umove(tcp, tcp-u_arg[3], mtype); tprintf(, {%lu, , mtype); printstr(tcp, tcp-u_arg[3] + sizeof(long), @@ -207,7 +207,7 @@ tprintf(}, %lu, tcp-u_arg[1]); tprintf(, ); printflags(msg_flags, tcp-u_arg[2], MSG_???); -#else /* !LINUX */ +#else /* !(LINUX I386)*/ umove(tcp, tcp-u_arg[1], mtype); tprintf(, {%lu, , mtype); printstr(tcp, tcp-u_arg[1] + sizeof(long), @@ -215,7 +215,7 @@ tprintf(}, %lu, tcp-u_arg[2]); tprintf(, ); printflags(msg_flags, tcp-u_arg[3], MSG_???); -#endif /* !LINUX */ +#endif /* !(LINUX I386)*/ } return 0; } @@ -224,7 +224,7 @@ struct tcb *tcp; { long mtype; -#ifdef LINUX +#if defined LINUX defined I386 struct ipc_wrapper { struct msgbuf *msgp; long msgtyp; @@ -234,7 +234,7 @@ if (exiting(tcp)) { tprintf(%lu, tcp-u_arg[0]); -#ifdef LINUX +#if defined LINUX defined I386 umove(tcp, tcp-u_arg[3], tmp); umove(tcp, (long) tmp.msgp, mtype); tprintf(, {%lu, , mtype); @@ -244,7 +244,7 @@ tprintf(, %ld, tmp.msgtyp); tprintf(, ); printflags(msg_flags, tcp-u_arg[2], MSG_???); -#else /* !LINUX */ +#else /* !(LINUX I386)*/ umove(tcp, tcp-u_arg[1], mtype); tprintf(, {%lu, , mtype); printstr(tcp, tcp-u_arg[1] + sizeof(long), @@ -253,7 +253,7 @@ tprintf(, %ld, tcp-u_arg[3]); tprintf(, ); printflags(msg_flags, tcp-u_arg[4], MSG_???); -#endif /* !LINUX */ +#endif /* !(LINUX I386)*/ } return 0; } @@ -263,13 +263,13 @@ { if (entering(tcp)) { tprintf(%lu, tcp-u_arg[0]); -#ifdef LINUX +#if defined LINUX defined I386 tprintf(, %#lx, tcp-u_arg[3]); tprintf(, %lu, tcp-u_arg[1]); -#else /* !LINUX */ +#else /* !(LINUX I386)*/ tprintf(, %#lx, tcp-u_arg[1]); tprintf(, %lu, tcp-u_arg[2]); -#endif /* !LINUX */ +#endif /* !(LINUX I386)*/ } return 0; } @@ -279,10 +279,17 @@ struct tcb *tcp; { if (entering(tcp)) { +#if defined I386 tprintf(%lu, tcp-u_arg[0]); tprintf(, %#lx, tcp-u_arg[3]); tprintf(, %lu, , tcp-u_arg[1]); printtv(tcp, tcp-u_arg[5]); +#else + tprintf(%lu, tcp-u_arg[0]); + tprintf(, %#lx, tcp-u_arg[1]); + tprintf(, %lu, , tcp-u_arg[2]); + printtv(tcp, tcp-u_arg[3
Bug#333606: gnome-swallow-applet crashes on amd64
Package: gnome-swallow-applet Version: 1.2-1.1.1 The gnome-swallow-applet crashes with a SEGV on arch amd64. The problem is caused by two calls to gettimeofday() that don't pass in a timezone parameter. The attached patch corrects it. -- Mike Stroyan, [EMAIL PROTECTED] --- gnome-swallow-1.2/gnome-swallow.c 2003-09-11 22:21:55.0 -0600 +++ gnome-swallow-1.2-1.1.1/gnome-swallow.c 2005-10-12 15:25:54.0 -0600 @@ -2,6 +2,7 @@ #include stdio.h #include signal.h #include sys/wait.h +#include sys/time.h #include gtk/gtklabel.h #include gtk/gtkfilesel.h @@ -49,13 +50,14 @@ int x, y, junk; double start, now; struct timeval tv; +struct timezone tz; char ret; if(! display) return; /* WTF? */ XSync (display, FALSE); -gettimeofday(tv); +gettimeofday(tv, tz); now = start = (double)tv.tv_sec + ((double)tv.tv_usec / 100.0); while (ready == FALSE now (start + 10.0)) @@ -131,7 +133,7 @@ fprintf(stderr,Loop); gtk_main_iteration_do(FALSE); -gettimeofday(tv); +gettimeofday(tv, tz); now = (double)tv.tv_sec + ((double)tv.tv_usec / 100.0); }
Bug#297330: bash3: Esc-/ garbages colored prompt
I don't know how much longer it will be before 3.1 will be available with the fix for this. I tracked down the problem in the current version. This patch can fix it in the current bash 3.00.16. -- Mike Stroyan, [EMAIL PROTECTED] #! /bin/sh -e if [ $# -eq 3 -a $2 = '-d' ]; then pdir=-d $3 elif [ $# -ne 1 ]; then echo 2 `basename $0`: script expects -patch|-unpatch as argument exit 1 fi case $1 in -patch) patch $pdir -f --no-backup-if-mismatch -p1 $0;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 $0;; *) echo 2 `basename $0`: script expects -patch|-unpatch as argument exit 1 esac exit 0 # fix display of history search prompt with non-printing chars in vi edit mode --- bash/lib/readline/display.c.orig2005-09-20 10:18:27.0 -0600 +++ bash/lib/readline/display.c 2005-09-20 10:20:24.0 -0600 @@ -1950,27 +1950,12 @@ rl_save_prompt (); - if (saved_local_prompt == 0) -{ - len = (rl_prompt *rl_prompt) ? strlen (rl_prompt) : 0; - pmt = (char *)xmalloc (len + 2); - if (len) - strcpy (pmt, rl_prompt); - pmt[len] = pchar; - pmt[len+1] = '\0'; -} - else -{ - len = *saved_local_prompt ? strlen (saved_local_prompt) : 0; - pmt = (char *)xmalloc (len + 2); - if (len) - strcpy (pmt, saved_local_prompt); - pmt[len] = pchar; - pmt[len+1] = '\0'; - local_prompt = savestring (pmt); - prompt_last_invisible = saved_last_invisible; - prompt_visible_length = saved_visible_length + 1; -} + len = (rl_prompt *rl_prompt) ? strlen (rl_prompt) : 0; + pmt = (char *)xmalloc (len + 2); + if (len) +strcpy (pmt, rl_prompt); + pmt[len] = pchar; + pmt[len+1] = '\0'; return pmt; }
Bug#310489: [installer@ftp-master.debian.org: openssh_3.8.1p1-8.sarge.5_ia64.changes REJECTED]
On Tue, May 24, 2005 at 05:43:41PM -0600, dann frazier wrote: On Wed, 2005-05-25 at 00:01 +0100, Colin Watson wrote: (Please set Maintainer: correctly in your binNMUs, so that you get archive mails.) ok - thanks. My first binNMU :) A rejection for you. Looks like this might not be so simple. How bad would backing out the OpenSSL change be (i.e. has stuff already been built to expect the new ABI?)? Backing out the ABI change shouldn't be a big deal - Mike Stroyan says this was an ia64-specific performance improvement. My concern was that any package that was rebuilt against this new, unintentional ABI change would be broken if we revert. I'll put an audit on my todo list, though backing out the openssl change should probably be done ASAP. Mike: can you provide a patch for this, or point me to the offending patch so that I can? Dan, Here are the necessary changes to openssl. Looking at the /usr/lib/libcrypto.so.0.9.7 delivered in libssl0.9.7 version 0.9.7g-1, I see that while the RC4 struct was made larger for the sake of openssl-0.9.7g/crypto/rc4/asm/rc4-ia64.S, the debian build wasn't actually configured to use that assembly language version of RC4. There will be no performance difference from backing out this change. Going back to the old unpadded header and taking out the alignment code in rc4_enc.c and rc4_skey.c should be completely compatible with code built with either version of rc4.h. diff -ur openssl-0.9.7g/crypto/rc4/rc4_enc.c openssl-0.9.7g-fix/crypto/rc4/rc4_enc.c --- openssl-0.9.7g/crypto/rc4/rc4_enc.c 2004-12-02 03:54:36.0 -0700 +++ openssl-0.9.7g-fix/crypto/rc4/rc4_enc.c 2005-05-25 10:57:21.425267141 -0600 @@ -77,10 +77,6 @@ x=key-x; y=key-y; d=key-data; -#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64) - /* see crypto/rc4/asm/rc4-ia64.S for further details... */ - d=(RC4_INT *)(((size_t)(d+255))~(sizeof(key-data)-1)); -#endif #if defined(RC4_CHUNK) /* diff -ur openssl-0.9.7g/crypto/rc4/rc4.h openssl-0.9.7g-fix/crypto/rc4/rc4.h --- openssl-0.9.7g/crypto/rc4/rc4.h 2005-01-26 13:00:35.0 -0700 +++ openssl-0.9.7g-fix/crypto/rc4/rc4.h 2005-05-25 10:32:36.303215021 -0600 @@ -73,10 +73,6 @@ { RC4_INT x,y; RC4_INT data[256]; -#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64) - /* see crypto/rc4/asm/rc4-ia64.S for further details... */ - RC4_INT pad[512-256-2]; -#endif } RC4_KEY; diff -ur openssl-0.9.7g/crypto/rc4/rc4_skey.c openssl-0.9.7g-fix/crypto/rc4/rc4_skey.c --- openssl-0.9.7g/crypto/rc4/rc4_skey.c2005-01-26 13:00:35.0 -0700 +++ openssl-0.9.7g-fix/crypto/rc4/rc4_skey.c2005-05-25 10:57:46.598118395 -0600 @@ -94,11 +94,6 @@ unsigned int i; d= (key-data[0]); -#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64) - /* see crypto/rc4/asm/rc4-ia64.S for further details... */ - d=(RC4_INT *)(((size_t)(d+255))~(sizeof(key-data)-1)); -#endif - for (i=0; i256; i++) d[i]=i; key-x = 0; diff -ur openssl-0.9.7g/include/openssl/rc4.h openssl-0.9.7g-fix/include/openssl/rc4.h --- openssl-0.9.7g/include/openssl/rc4.h2005-01-26 13:00:35.0 -0700 +++ openssl-0.9.7g-fix/include/openssl/rc4.h2005-05-25 10:32:36.303215021 -0600 @@ -73,10 +73,6 @@ { RC4_INT x,y; RC4_INT data[256]; -#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64) - /* see crypto/rc4/asm/rc4-ia64.S for further details... */ - RC4_INT pad[512-256-2]; -#endif } RC4_KEY; -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#309274: libssl change that broke ssh on IA64
The problem with libssl0.9.7 version 0.9.7g-1 that broke ssh on IA64 is a change to the size of RC4_KEY in /usr/include/openssl/rc4.h that accomodated new code in crypto/rc4/asm/rc4-ia64.S . The RC4_KEY type changed from 1032 bytes to 2048 bytes for IA64. The ssh executable contains a global variable of type RC4_KEY. When ssh calls RC4_set_key innocent global variables get clobbered, including the struct sockaddr that is passed into the failing getnameinfo call. Either the library version should be incremented or that change in ABI should be backed out to maintain binary compatibility. -- Mike Stroyan, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]