commit termcap for openSUSE:Factory

Hello community, here is the log from the commit of package termcap for openSUSE:Factory checked in at Tue Oct 27 16:40:39 CET 2009. -------- --- termcap/termcap.changes 2009-01-07 14:07:24.000000000 +0100 +++ /mounts/work_src_done/STABLE/termcap/termcap.changes 2009-10-26 16:43:32.000000000 +0100 @@ -1,0 +2,6 @@ +Mon Oct 26 16:41:04 CET 2009 - meissner@suse.de + +- fixed implicit setfsuid and setfsgid, check their return values. +- fixed implicit abort() + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ termcap.spec ++++++ --- /var/tmp/diff_new_pack.qN6018/_old 2009-10-27 16:39:45.000000000 +0100 +++ /var/tmp/diff_new_pack.qN6018/_new 2009-10-27 16:39:45.000000000 +0100 @@ -28,7 +28,7 @@ %endif # Version: 2.0.8 -Release: 1014 +Release: 1016 Summary: The Termcap Library Source: termcap-2.0.8.tar.gz Source1: curses-bsd4.4.tar.gz @@ -49,7 +49,7 @@ David J. MacKenzie <djm@gnu.org> %prep -%setup -b 0 -b 1 +%setup -q -b 0 -b 1 %patch -p0 %patch2 -p1 -b .setuid %patch3 -p1 -b .tc @@ -73,11 +73,9 @@ %clean test -z "${RPM_BUILD_ROOT}" || rm -rf "${RPM_BUILD_ROOT}" -%post -%run_ldconfig +%post -p /sbin/ldconfig -%postun -%run_ldconfig +%postun -p /sbin/ldconfig %files %defattr(-,root,root) ++++++ curses-bsd4.4-linux.patch ++++++ --- /var/tmp/diff_new_pack.qN6018/_old 2009-10-27 16:39:45.000000000 +0100 +++ /var/tmp/diff_new_pack.qN6018/_new 2009-10-27 16:39:45.000000000 +0100 @@ -1,5 +1,7 @@ ---- ChangeLog -+++ ChangeLog 2005-12-21 13:38:05.000000000 +0100 +Index: ChangeLog +=================================================================== +--- /dev/null ++++ ChangeLog @@ -0,0 +1,19 @@ +Fri Nov 18 20:11:55 1994 J. Alan Eldridge (alane@wozzle.linet.org) + @@ -20,8 +22,10 @@ + * printw.c (vwprintw): don't use funopen () for Linux. + + * tty.c (__tcaction): set it to 1 only if TCSASOFT != 0. ---- Makefile -+++ Makefile 2005-12-21 13:38:05.000000000 +0100 +Index: Makefile +=================================================================== +--- Makefile.orig ++++ Makefile @@ -1,33 +1,91 @@ -# $OpenBSD: Makefile,v 1.7 1998/12/02 15:45:43 espie Exp $ +# @@ -138,8 +142,10 @@ +ifeq (.depend,$(wildcard .depend)) +include .depend +endif ---- Makefile.bsd-4.4 -+++ Makefile.bsd-4.4 2005-12-21 13:38:05.000000000 +0100 +Index: Makefile.bsd-4.4 +=================================================================== +--- /dev/null ++++ Makefile.bsd-4.4 @@ -0,0 +1,33 @@ +# $OpenBSD: Makefile,v 1.7 1998/12/02 15:45:43 espie Exp $ + @@ -174,9 +180,11 @@ + done + +.include <bsd.lib.mk> ---- clrtobot.c -+++ clrtobot.c 2005-12-21 13:38:05.000000000 +0100 -@@ -46,7 +46,7 @@ +Index: clrtobot.c +=================================================================== +--- clrtobot.c.orig ++++ clrtobot.c +@@ -46,7 +46,7 @@ wclrtobot(win) register WINDOW *win; { register int minx, startx, starty, y; @@ -185,7 +193,7 @@ if (win->lines[win->cury]->flags & __ISPASTEOL) { starty = win->cury + 1; -@@ -66,7 +66,7 @@ +@@ -66,7 +66,7 @@ wclrtobot(win) sp->ch = ' '; sp->attr = 0; } @@ -194,9 +202,11 @@ __touchline(win, y, minx, maxx - win->lines[y]->line, 0); startx = 0; ---- cr_put.c -+++ cr_put.c 2005-12-21 13:38:05.000000000 +0100 -@@ -102,12 +102,12 @@ +Index: cr_put.c +=================================================================== +--- cr_put.c.orig ++++ cr_put.c +@@ -102,12 +102,12 @@ fgoto(in_refresh) while (l > 0) { if (__pfast) { if (CR) @@ -211,7 +221,7 @@ else putchar('\n'); l--; -@@ -148,7 +148,7 @@ +@@ -148,7 +148,7 @@ fgoto(in_refresh) * Eggert's Superbee description which wins better. */ if (NL /* && !XB */ && __pfast) @@ -220,7 +230,7 @@ else putchar('\n'); l--; -@@ -168,7 +168,7 @@ +@@ -168,7 +168,7 @@ fgoto(in_refresh) if (outcol != COLS - 1 && plod(strlen(cgp), in_refresh) > 0) plod(0, in_refresh); else @@ -229,7 +239,7 @@ } else plod(0, in_refresh); outline = destline; -@@ -245,7 +245,7 @@ +@@ -245,7 +245,7 @@ plod(cnt, in_refresh) * Cheaper to home. Do it now and pretend it's a * regular local motion. */ @@ -238,7 +248,7 @@ outcol = outline = 0; } else if (LL) { /* -@@ -254,7 +254,7 @@ +@@ -254,7 +254,7 @@ plod(cnt, in_refresh) */ k = (LINES - 1) - destline; if (i + k + 2 < j && (k <= 0 || UP)) { @@ -247,7 +257,7 @@ outcol = 0; outline = LINES - 1; } -@@ -304,12 +304,12 @@ +@@ -304,12 +304,12 @@ plod(cnt, in_refresh) * into account. */ if (CR) @@ -262,7 +272,7 @@ else plodput('\n'); outline++; -@@ -320,7 +320,7 @@ +@@ -320,7 +320,7 @@ plod(cnt, in_refresh) dontcr: while (outline < destline) { outline++; if (NL) @@ -271,7 +281,7 @@ else plodput('\n'); if (plodcnt < 0) -@@ -335,7 +335,7 @@ +@@ -335,7 +335,7 @@ dontcr: while (outline < destline) { goto out; #ifdef notdef if (BT && outcol - destcol > k + 4) { @@ -280,7 +290,7 @@ outcol--; outcol &= ~7; continue; -@@ -343,13 +343,13 @@ +@@ -343,13 +343,13 @@ dontcr: while (outline < destline) { #endif outcol--; if (BC) @@ -296,7 +306,7 @@ if (plodcnt < 0) goto out; } -@@ -359,21 +359,21 @@ +@@ -359,21 +359,21 @@ dontcr: while (outline < destline) { if (i > destcol) break; if (TA) @@ -321,7 +331,7 @@ else plodput('\b'); } -@@ -398,7 +398,7 @@ +@@ -398,7 +398,7 @@ dontcr: while (outline < destline) { } } else nondes: if (ND) @@ -330,9 +340,11 @@ else plodput(' '); outcol++; ---- curses.c -+++ curses.c 2005-12-21 13:38:05.000000000 +0100 -@@ -39,23 +39,29 @@ +Index: curses.c +=================================================================== +--- curses.c.orig ++++ curses.c +@@ -39,23 +39,29 @@ static char sccsid[] = "@(#)curses.c 8.3 /* Private. */ int __echoit = 1; /* If stty indicates ECHO. */ @@ -373,8 +385,10 @@ /* * Public. * ---- curses.h -+++ curses.h 2005-12-21 13:38:30.000000000 +0100 +Index: curses.h +=================================================================== +--- curses.h.orig ++++ curses.h @@ -36,18 +36,17 @@ #ifndef _OCURSES_H_ #define _OCURSES_H_ @@ -422,7 +436,7 @@ /* Old-style terminal modes access. */ #define baudrate() (cfgetospeed(&__baset)) -@@ -327,14 +336,4 @@ +@@ -327,14 +336,4 @@ extern int __rawmode; extern int __noqch; #endif @@ -437,9 +451,11 @@ -__END_DECLS - #endif /* !_OCURSES_H_ */ ---- erase.c -+++ erase.c 2005-12-21 13:38:05.000000000 +0100 -@@ -47,7 +47,7 @@ +Index: erase.c +=================================================================== +--- erase.c.orig ++++ erase.c +@@ -47,7 +47,7 @@ werase(win) { register int minx, y; @@ -448,7 +464,7 @@ #ifdef DEBUG __CTRACE("werase: (%0.2o)\n", win); -@@ -64,7 +64,7 @@ +@@ -64,7 +64,7 @@ werase(win) sp->ch = ' '; sp->attr = 0; } @@ -457,9 +473,11 @@ __touchline(win, y, minx, maxx - win->lines[y]->line, 0); } ---- insertln.c -+++ insertln.c 2005-12-21 13:38:05.000000000 +0100 -@@ -49,7 +49,7 @@ +Index: insertln.c +=================================================================== +--- insertln.c.orig ++++ insertln.c +@@ -49,7 +49,7 @@ winsertln(win) { register int y, i; @@ -468,7 +486,7 @@ #ifdef DEBUG __CTRACE("insertln: (%0.2o)\n", win); -@@ -67,7 +67,7 @@ +@@ -67,7 +67,7 @@ winsertln(win) win->maxx * __LDATASIZE); __touchline(win, y, 0, win->maxx - 1, 0); } @@ -477,9 +495,11 @@ win->lines[y] = temp; else temp = win->lines[y]; ---- newwin.c -+++ newwin.c 2005-12-21 13:38:05.000000000 +0100 -@@ -134,8 +134,8 @@ +Index: newwin.c +=================================================================== +--- newwin.c.orig ++++ newwin.c +@@ -134,8 +134,8 @@ __set_subwin(orig, win) /* Point line pointers to line space. */ for (lp = win->lspace, i = 0; i < win->maxy; i++, lp++) { win->lines[i] = lp; @@ -490,13 +510,17 @@ lp->firstchp = &olp->firstch; lp->lastchp = &olp->lastch; lp->hash = __hash((char *) lp->line, win->maxx * __LDATASIZE); ---- nowarn.h -+++ nowarn.h 2005-12-21 13:38:05.000000000 +0100 +Index: nowarn.h +=================================================================== +--- /dev/null ++++ nowarn.h @@ -0,0 +1 @@ +static char sccsid[] __attribute__ ((unused)); ---- printw.c -+++ printw.c 2005-12-21 13:38:05.000000000 +0100 -@@ -191,10 +191,18 @@ +Index: printw.c +=================================================================== +--- printw.c.orig ++++ printw.c +@@ -191,10 +191,18 @@ vwprintw(win, fmt, ap) const char *fmt; va_list ap; { @@ -515,9 +539,19 @@ return (fclose(f) ? ERR : OK); +#endif } ---- refresh.c -+++ refresh.c 2005-12-21 13:38:05.000000000 +0100 -@@ -77,7 +77,7 @@ +Index: refresh.c +=================================================================== +--- refresh.c.orig ++++ refresh.c +@@ -36,6 +36,7 @@ static char sccsid[] = "@(#)refresh.c 8. + #endif /* not lint */ + + #include <string.h> ++#include <stdlib.h> + + #include "curses.h" + +@@ -77,7 +78,7 @@ wrefresh(win) if (win->flags & __CLEAROK || curscr->flags & __CLEAROK || curwin) { if ((win->flags & __FULLWIN) || curscr->flags & __CLEAROK) { @@ -526,7 +560,7 @@ ly = 0; lx = 0; if (!curwin) { -@@ -220,7 +220,7 @@ +@@ -220,7 +221,7 @@ makech(win, wy) static __LDATA blank = {' ', 0}; __LDATA *nsp, *csp, *cp, *cep; u_int force; @@ -535,7 +569,7 @@ int lch, wx, y; char *ce; -@@ -264,9 +264,9 @@ +@@ -264,9 +265,9 @@ makech(win, wy) if (force) { if (CM) @@ -547,7 +581,7 @@ __mvcur(0, 0, ly, lx, 1); } } -@@ -313,10 +313,10 @@ +@@ -313,10 +314,10 @@ makech(win, wy) && clsp < win->maxx * __LDATASIZE) || wy == win->maxy - 1) { if (curscr->flags & __WSTANDOUT) { @@ -560,7 +594,7 @@ lx = wx + win->begx; while (wx++ <= clsp) { csp->ch = ' '; -@@ -336,13 +336,13 @@ +@@ -336,13 +337,13 @@ makech(win, wy) if (nsp->attr & __STANDOUT) { if (!(curscr->flags & __WSTANDOUT) && SO != NULL && SE != NULL) { @@ -576,7 +610,7 @@ curscr->flags &= ~__WSTANDOUT; } -@@ -353,7 +353,7 @@ +@@ -353,7 +354,7 @@ makech(win, wy) && win->flags & __ENDLINE) if (!MS) { tputs(SE, 0, @@ -585,7 +619,7 @@ curscr->flags &= ~__WSTANDOUT; } -@@ -387,7 +387,7 @@ +@@ -387,7 +388,7 @@ makech(win, wy) #endif if (UC && (nsp->attr & __STANDOUT)) { putchar('\b'); @@ -594,7 +628,7 @@ } nsp++; #ifdef DEBUG -@@ -411,7 +411,7 @@ +@@ -411,7 +412,7 @@ makech(win, wy) /* Don't leave the screen in standout mode. */ if (curscr->flags & __WSTANDOUT) { @@ -603,7 +637,7 @@ curscr->flags &= ~__WSTANDOUT; } return (OK); -@@ -426,7 +426,7 @@ +@@ -426,7 +427,7 @@ domvcur(oy, ox, ny, nx) int oy, ox, ny, nx; { if (curscr->flags & __WSTANDOUT && !MS) { @@ -612,7 +646,7 @@ curscr->flags &= ~__WSTANDOUT; } -@@ -446,7 +446,7 @@ +@@ -446,7 +447,7 @@ quickch(win) #define THRESH (int) win->maxy / 4 register __LINE *clp, *tmp1, *tmp2; @@ -621,7 +655,7 @@ int n, target, cur_period, bot, top, sc_region; __LDATA buf[1024]; u_int blank_hash; -@@ -679,8 +679,8 @@ +@@ -679,8 +680,8 @@ quickch(win) * Need to repoint any subwindow lines to the rotated * line structured. */ @@ -632,7 +666,7 @@ } } -@@ -724,20 +724,20 @@ +@@ -724,20 +725,20 @@ scrolln(win, starts, startw, curs, bot, */ if (n > 0) { if (CS != NULL && HO != NULL && (SF != NULL || @@ -661,7 +695,7 @@ __mvcur(0, 0, oy, ox, 1); return; } -@@ -745,28 +745,28 @@ +@@ -745,28 +746,28 @@ scrolln(win, starts, startw, curs, bot, /* Scroll up the block. */ if (SF != NULL && top == 0) { __mvcur(oy, ox, bot, 0, 1); @@ -696,7 +730,7 @@ else abort(); __mvcur(bot - n + 1, 0, oy, ox, 1); -@@ -779,21 +779,21 @@ +@@ -779,21 +780,21 @@ scrolln(win, starts, startw, curs, bot, * See the above comments for details. */ if (CS != NULL && HO != NULL && (SR != NULL || @@ -726,7 +760,7 @@ __mvcur(0, 0, oy, ox, 1); return; } -@@ -801,25 +801,25 @@ +@@ -801,25 +802,25 @@ scrolln(win, starts, startw, curs, bot, /* Preserve the bottom lines. */ __mvcur(oy, ox, bot + n + 1, 0, 1); if (SR != NULL && bot == win->maxy) @@ -758,9 +792,11 @@ else abort(); __mvcur(top, 0, oy, ox, 1); ---- setterm.c -+++ setterm.c 2005-12-21 13:38:05.000000000 +0100 -@@ -164,8 +164,8 @@ +Index: setterm.c +=================================================================== +--- setterm.c.orig ++++ setterm.c +@@ -164,8 +164,8 @@ setterm(type) /* If no scrolling commands, no quick change. */ __noqch = (CS == NULL || HO == NULL || @@ -771,9 +807,11 @@ return (unknown ? ERR : OK); } ---- standout.c -+++ standout.c 2005-12-21 13:38:05.000000000 +0100 -@@ -49,7 +49,7 @@ +Index: standout.c +=================================================================== +--- standout.c.orig ++++ standout.c +@@ -49,7 +49,7 @@ wstandout(win) * If standout/standend strings, or can underline, set the * screen standout bit. */ @@ -782,9 +820,11 @@ win->flags |= __WSTANDOUT; return (1); } ---- tty.c -+++ tty.c 2005-12-21 13:38:05.000000000 +0100 -@@ -48,7 +48,7 @@ +Index: tty.c +=================================================================== +--- tty.c.orig ++++ tty.c +@@ -48,7 +48,7 @@ static char sccsid[] = "@(#)tty.c 8.5 (B * those attributes at each change, or at least when stopped and restarted. * See also the comments in getterm(). */ @@ -793,7 +833,7 @@ int __tcaction = 1; /* Ignore hardware settings. */ #else int __tcaction = 0; -@@ -235,8 +235,8 @@ +@@ -235,8 +235,8 @@ __startwin() } (void)setvbuf(stdout, stdbuf, _IOFBF, len); @@ -804,7 +844,7 @@ } int -@@ -246,14 +246,14 @@ +@@ -246,14 +246,14 @@ endwin() if (curscr != NULL) { if (curscr->flags & __WSTANDOUT) { @@ -822,8 +862,10 @@ (void)fflush(stdout); (void)setvbuf(stdout, NULL, _IOLBF, 0); ---- PSD.doc/Makefile -+++ PSD.doc/Makefile 2005-12-21 13:38:05.000000000 +0100 +Index: PSD.doc/Makefile +=================================================================== +--- PSD.doc/Makefile.orig ++++ PSD.doc/Makefile @@ -3,10 +3,6 @@ DIR= psd/19.curses SRCS= Master ++++++ termcap-2.0.8-setuid.patch ++++++ --- /var/tmp/diff_new_pack.qN6018/_old 2009-10-27 16:39:45.000000000 +0100 +++ /var/tmp/diff_new_pack.qN6018/_new 2009-10-27 16:39:45.000000000 +0100 @@ -1,6 +1,16 @@ ---- termcap-2.0.8/termcap.c~ Tue Apr 16 04:23:23 1996 -+++ termcap-2.0.8/termcap.c Tue Jun 30 22:39:56 1998 -@@ -339,13 +339,17 @@ +Index: termcap-2.0.8/termcap.c +=================================================================== +--- termcap-2.0.8.orig/termcap.c ++++ termcap-2.0.8/termcap.c +@@ -21,6 +21,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <malloc.h> ++#include <sys/fsuid.h> + #include <string.h> + #include <sys/ioctl.h> + #include <termios.h> +@@ -342,13 +343,17 @@ static char *tc_read(struct tc_ent **tcp struct tc_ent *l = NULL; int first = 1; int loop = 0; @@ -18,14 +28,21 @@ else { /* check if TERMCAP is term */ if (tc_comp(tc, term)) { -@@ -366,8 +370,21 @@ +@@ -369,8 +374,28 @@ static char *tc_read(struct tc_ent **tcp printf("Using file %s\n", tc_file); #endif + if(tc_set) + { -+ setfsuid(getuid()); -+ setfsgid(getgid()); ++ if (-1 == setfsuid(getuid())) { ++ perror("setfsuid"); ++ return NULL; ++ } ++ if (-1 == setfsgid(getgid())) { ++ setfsuid(geteuid()); ++ perror("setfsgid"); ++ return NULL; ++ } + } /* Now read the termcap file. */ - if ((fp = fopen(tc_file, "r")) == NULL) return(NULL); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de