cryptbreaker/cryptbreaker.patch

Fri, 03 Aug 2012 20:11:53 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 03 Aug 2012 20:11:53 +0200
changeset 470
f8813e60f168
permissions
-rw-r--r--

Neutralize buggy code causing OpenPKG to have 'fatal problems' in
spite of correct installation, configuration, and operation. An
administrator suffering from this failure is even unable to
uninstall the flawed software.

michael@61 1 Index: terminal.c
michael@61 2 --- terminal.c.orig 1988-11-26 01:40:43.000000000 +0100
michael@61 3 +++ terminal.c 2009-01-09 18:15:47.583499911 +0100
michael@61 4 @@ -6,11 +6,11 @@
michael@61 5 /*
michael@61 6 * Routines in terminal abstraction:
michael@61 7 *
michael@61 8 - * set_term()
michael@61 9 + * set_cb_term()
michael@61 10 * Initialize terminal, clear the screen.
michael@61 11 *
michael@61 12 - * unset_term()
michael@61 13 - * Return terminal to state before set_term().
michael@61 14 + * unset_cb_term()
michael@61 15 + * Return terminal to state before set_cb_term().
michael@61 16 *
michael@61 17 * char2sym(char)
michael@61 18 * Return the symbol used to display the given char in the
michael@61 19 @@ -97,6 +97,14 @@
michael@61 20 */
michael@61 21
michael@61 22
michael@61 23 +#include <stdio.h>
michael@61 24 +#include <stdlib.h>
michael@61 25 +#include <termios.h>
michael@61 26 +#if (defined(sun) && defined(__svr4__))
michael@61 27 +#include <sys/ttold.h>
michael@61 28 +#else
michael@61 29 +#include <sys/ioctl.h>
michael@61 30 +#endif
michael@61 31 #include <curses.h>
michael@61 32 #include <sgtty.h>
michael@61 33 #include <strings.h>
michael@61 34 @@ -216,7 +224,7 @@
michael@61 35 * and termcap subroutine packages, although the old code is used
michael@61 36 * for screen refresh.
michael@61 37 */
michael@61 38 -set_term()
michael@61 39 +set_cb_term()
michael@61 40 {
michael@61 41 printf("\n\nInitializing terminal ...");
michael@61 42 fflush(stdout);
michael@61 43 @@ -609,7 +617,7 @@
michael@61 44
michael@61 45 /* Restore the terminal to its original mode.
michael@61 46 */
michael@61 47 -unset_term()
michael@61 48 +unset_cb_term()
michael@61 49 {
michael@61 50 enter_mode(SMNORMAL);
michael@61 51 Puts(end_kp); /* Can't tell if this is original. */
michael@61 52 Index: tritab.c
michael@61 53 --- tritab.c.orig 1988-11-26 01:39:37.000000000 +0100
michael@61 54 +++ tritab.c 2009-01-09 17:44:48.411457903 +0100
michael@61 55 @@ -4,6 +4,7 @@
michael@61 56
michael@61 57 #include <math.h>
michael@61 58 #include <stdio.h>
michael@61 59 +#include <stdlib.h>
michael@61 60 #include "window.h"
michael@61 61 #include "specs.h"
michael@61 62 #include "cipher.h"
michael@61 63 Index: cipher.c
michael@61 64 --- cipher.c.orig 1988-11-26 01:40:22.000000000 +0100
michael@61 65 +++ cipher.c 2009-01-09 17:54:12.811182642 +0100
michael@61 66 @@ -6,6 +6,7 @@
michael@61 67
michael@61 68
michael@61 69 #include <stdio.h>
michael@61 70 +#include <stdlib.h>
michael@61 71 #include <math.h>
michael@61 72 #include "window.h"
michael@61 73 #include "specs.h"
michael@61 74 Index: start.c
michael@61 75 --- start.c.orig 1988-11-26 01:39:45.000000000 +0100
michael@61 76 +++ start.c 2009-01-09 18:05:43.601774154 +0100
michael@61 77 @@ -11,6 +11,7 @@
michael@61 78
michael@61 79
michael@61 80 #include <stdio.h>
michael@61 81 +#include <stdlib.h>
michael@61 82 #include <signal.h>
michael@61 83 #include <setjmp.h>
michael@61 84 #include "window.h"
michael@61 85 @@ -109,13 +110,13 @@
michael@61 86 {
michael@61 87 setcursor(MAXHEIGHT, 1);
michael@61 88 fflush(stdout);
michael@61 89 - unset_term();
michael@61 90 + unset_cb_term();
michael@61 91
michael@61 92 kill(getpid(), SIGSTOP);
michael@61 93
michael@61 94 /* Return here when/if program restarted. */
michael@61 95 /* Note that the signal mask is restored by longjmp. */
michael@61 96 - set_term();
michael@61 97 + set_cb_term();
michael@61 98 longjmp(saved_stack, 0);
michael@61 99 }
michael@61 100
michael@61 101 @@ -128,7 +129,7 @@
michael@61 102 setcursor(MAXHEIGHT, 1);
michael@61 103 printf("\n");
michael@61 104 fflush(stdout);
michael@61 105 - unset_term();
michael@61 106 + unset_cb_term();
michael@61 107
michael@61 108 kill(getpid(), SIGKILL);
michael@61 109 }
michael@61 110 @@ -192,7 +193,7 @@
michael@61 111 done(status)
michael@61 112 int status;
michael@61 113 {
michael@61 114 - unset_term();
michael@61 115 + unset_cb_term();
michael@61 116 printf("\n");
michael@61 117 exit(status);
michael@61 118 }
michael@61 119 Index: stats.c
michael@61 120 --- stats.c.orig 1988-11-26 01:40:42.000000000 +0100
michael@61 121 +++ stats.c 2009-01-09 17:54:22.235822458 +0100
michael@61 122 @@ -7,6 +7,7 @@
michael@61 123
michael@61 124
michael@61 125 #include <stdio.h>
michael@61 126 +#include <stdlib.h>
michael@61 127 #include <math.h>
michael@61 128 #include "window.h"
michael@61 129 #include "specs.h"
michael@61 130 Index: cdblocks.c
michael@61 131 --- cblocks.c.orig 1988-11-26 01:39:27.000000000 +0100
michael@61 132 +++ cblocks.c 2009-01-09 17:58:13.630695396 +0100
michael@61 133 @@ -10,6 +10,7 @@
michael@61 134
michael@61 135
michael@61 136 #include <stdio.h>
michael@61 137 +#include <stdlib.h>
michael@61 138 #include "window.h"
michael@61 139 #include "layout.h"
michael@61 140 #include "specs.h"
michael@61 141 Index: perm.c
michael@61 142 --- perm.c.orig 1988-11-26 01:39:44.000000000 +0100
michael@61 143 +++ perm.c 2009-01-09 17:58:19.870669485 +0100
michael@61 144 @@ -7,6 +7,7 @@
michael@61 145
michael@61 146
michael@61 147 #include <stdio.h>
michael@61 148 +#include <stdlib.h>
michael@61 149 #include "window.h"
michael@61 150 #include "specs.h"
michael@61 151

mercurial