This commit changes patch-aa so that the patched version
of pty.c contains:
... other OS-specific code
... NetBSD-specific openpty() code (from patch-aa)
... generic openpty() code
... last resort code
instead of the previous:
... other OS-specific code
... generic openpty() code
... NetBSD-specific openpty() code (from patch-aa)
... last resort code
History behind this problem:
The NetBSD-specific openpty() code was added in revision 1.1
of misc/screen/patches/patch-aa. (See PR pkg/16901.) At that
time, pkgsrc used screen-3.9.11, and the upstream version of
screen did not use openpty() at all. The patch added an "#if
defined(__NetBSD__)" block as the last OS-specific section in
pty.c, which then had:
... other OS-specific code
... NetBSD-specific openpty() code (from patch-aa)
... last resort code
In screen-3.9.15, upstream added code in pty.c to use openpty().
This was imported to pkgsrc on 2003-03-15. At that time, pkgsrc's
patch-aa accidentally inserted the NetBSD-specific code below
instead of above the new code, so the patched version of pty.c
had:
... other OS-specific code
... generic openpty() code (from upstream)
... NetBSD-specific openpty() code (from patch-aa)
... last resort code
The above is obviously wrong because the generic openpty() code
would be used instead of the NetBSD-specific code, assuming
HAVE_OPENPTY was defined by the configure script.
This problem was reported in PR pkg/25317, but the patch in the PR
was not understood so it was not applied.
This commit changes patch-aa so that the patched version of pty.c
contains:
... other OS-specific code
... NetBSD-specific openpty() code (from patch-aa)
... generic openpty() code (from upstream)
... last resort code
However, it still doesn't work on NetBSD with ptyfs mounted.
NetBSD-current added dwarf.h and that made the code assume that sys/stropts.h
was present without greater need, since configure also checks for
HAVE_SYS_STROPTS_H.
in order to prevent crash on 64-bit architectures. Otherwise the result
of termcap/terminfo detection is wrong, causing the infamous "bad format 'p'"
messages, or "OOPSOOPSOOPS" when SSHing from MacOS.
Fixes PR 33808
Approved-by: joerg
fixes man page to point to them.
Update patch-ap for doc/screen.1 so the location of examples files
is corrected.
Now install both examples. Update PLISTs. Note that the
screenrc example is now called screenrc and etcscreenrc is
etcscreenrc (makes sense).
Mention both examples in MESSAGE.
Bump PKGREVISION.
This will solve problem for PR #32391.
Okayed by maintainer.
parameters instead of the one with two parameters. The setenv() function
has been added to Solaris recently, so this wasn't necessary before.
Should fix PR 32273.
that forces varargs to be used on NetBSD. Some gcc 3.3 instances
(specifically 3.3.3nb1 on NetBSD/alpha) fail one of the configure
tests making it think we don't have sprintf() (and therefore no
varargs) causing unmentionably evil things to be done instead. This
usually leads to core dumps.
Fix a pointer-to-integer cast warning by casting to long in between.
The actual use case is harmless, but the compiler can't tell that.
Bump PKGREVISION to 1 for the gcc workaround (affects at least
NetBSD/alpha which can now build a better screen).
Addresses PR pkg/25937.
svr4 ptys because of /dev/ptmx, but erroneously wants <sys/stropts.h>
because of that define. Fix properly, by detecting the presense of
<sys/stropts.h> before including it.
I am not bumping the nb number because nothing realy changes; you'll
get the same binary if you recompile.
XXX: The utmp stuff is still completely broken, that is why this is still
setuid.
In his own words:
4.0.2 fixes a local privelege escalation problem. See
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0972 for
more information.
There's no ChangeLog available, but other than the fix for this
and regeneration of the configure script, changes are extremely
small.
Also, I've removed the info files from PLIST and PLIST.SunOS. They
are handled automatically as of bsd.pkg.mk 1.1332.
large login and idle times. This was due to a bug in utmp.c:
in os.h
-------
# define utmp utmpx
# define ut_time ut_xtime
in utmp.c::makeuser()
---------------------
struct utmp *u;
(void)time((time_t *)&u->ut_time);
The above works fine on i386 where ut_xtime and time_t are the same size,
but on sparc64 ut_xtime is 8 bytes rather than 4.
This fix was tested on i386 and sparc64.