summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog2
-rw-r--r--debian/control2
-rw-r--r--debian/patches/00list21
-rwxr-xr-xdebian/patches/01configure_fix_alpha_vsprintf.dpatch19
-rw-r--r--debian/patches/01configure_fix_alpha_vsprintf.patch14
-rw-r--r--[-rwxr-xr-x]debian/patches/02screen-cc.patch (renamed from debian/patches/02screen-cc.dpatch)201
-rw-r--r--[-rwxr-xr-x]debian/patches/03screen-ipv6.patch (renamed from debian/patches/03screen-ipv6.dpatch)140
-rwxr-xr-xdebian/patches/05fix_osdef_include.dpatch18
-rw-r--r--debian/patches/05fix_osdef_include.patch13
-rw-r--r--[-rwxr-xr-x]debian/patches/10norootpassword.patch (renamed from debian/patches/10norootpassword.dpatch)25
-rw-r--r--[-rwxr-xr-x]debian/patches/11replace_doc_paths.patch (renamed from debian/patches/11replace_doc_paths.dpatch)68
-rw-r--r--[-rwxr-xr-x]debian/patches/12kfreebsd_ctty.patch (renamed from debian/patches/12kfreebsd_ctty.dpatch)14
-rwxr-xr-xdebian/patches/13split_info_files.dpatch19
-rw-r--r--debian/patches/13split_info_files.patch14
-rw-r--r--[-rwxr-xr-x]debian/patches/14size_matters.patch (renamed from debian/patches/14size_matters.dpatch)46
-rwxr-xr-xdebian/patches/16fix_gcc_warnings.dpatch54
-rw-r--r--debian/patches/16fix_gcc_warnings.patch46
-rwxr-xr-xdebian/patches/22exchange_file_mode.dpatch38
-rw-r--r--debian/patches/22exchange_file_mode.patch34
-rwxr-xr-xdebian/patches/23exitcode_q_ls.dpatch25
-rw-r--r--debian/patches/23exitcode_q_ls.patch20
-rwxr-xr-xdebian/patches/24option_parser.dpatch19
-rw-r--r--debian/patches/24option_parser.patch14
-rw-r--r--[-rwxr-xr-x]debian/patches/26source_encoding.patch (renamed from debian/patches/26source_encoding.dpatch)15
-rwxr-xr-xdebian/patches/32misc_minor_fixes.dpatch17
-rw-r--r--debian/patches/32misc_minor_fixes.patch13
-rwxr-xr-xdebian/patches/45suppress_remap.dpatch17
-rw-r--r--debian/patches/45suppress_remap.patch13
-rw-r--r--[-rwxr-xr-x]debian/patches/51EXP_session_creation_time.patch (renamed from debian/patches/51EXP_session_creation_time.dpatch)81
-rw-r--r--debian/patches/series17
-rwxr-xr-xdebian/rules8
-rw-r--r--debian/source/format1
32 files changed, 443 insertions, 605 deletions
diff --git a/debian/changelog b/debian/changelog
index b1438f4..91ae3fb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -46,6 +46,8 @@ screen (4.1.0~20110819git450e8f3) UNRELEASED; urgency=low
- 51EXP_session_creation_time
* Use dh_autoreconf
- Build-Depend on dh-autoreconf
+ * Convert to source format "3.0 (quilt)"
+ - Remove build dependency on dpatch
-- Axel Beckert <abe@debian.org> Tue, 04 Oct 2011 23:30:57 +0200
diff --git a/debian/control b/debian/control
index 27c688f..e9504f5 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@ Priority: optional
Maintainer: Jan Christoph Nordholz <hesso@pool.math.tu-berlin.de>
Uploaders: Axel Beckert <abe@debian.org>
Standards-Version: 3.8.2
-Build-Depends: libncursesw5-dev, texinfo, libpam0g-dev, debhelper (>> 7), dpatch, dh-autoreconf
+Build-Depends: libncursesw5-dev, texinfo, libpam0g-dev, debhelper (>> 7), dh-autoreconf
Homepage: http://savannah.gnu.org/projects/screen
Package: screen
diff --git a/debian/patches/00list b/debian/patches/00list
deleted file mode 100644
index bbb53c5..0000000
--- a/debian/patches/00list
+++ /dev/null
@@ -1,21 +0,0 @@
-# 01-08: fixes to configure, altering preprocessor macros etc.
-01configure_fix_alpha_vsprintf
-# Include some redhat fixes.
-02screen-cc
-03screen-ipv6
-05fix_osdef_include
-# 10-49: "regular" code and documentation fixes
-10norootpassword
-11replace_doc_paths
-12kfreebsd_ctty
-13split_info_files
-14size_matters
-16fix_gcc_warnings
-22exchange_file_mode
-23exitcode_q_ls
-24option_parser
-26source_encoding
-32misc_minor_fixes
-45suppress_remap
-# 50-99: experimental patches, new features etc.
-51EXP_session_creation_time
diff --git a/debian/patches/01configure_fix_alpha_vsprintf.dpatch b/debian/patches/01configure_fix_alpha_vsprintf.dpatch
deleted file mode 100755
index ccfe548..0000000
--- a/debian/patches/01configure_fix_alpha_vsprintf.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01configure_fix_alpha_vsprintf.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Enhance the vsprintf() test to also succeed on Alpha.
-## DP: Cf. #213842.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/configure.in screen-4.0.3/configure.in
---- screen-4.0.3.orig/configure.in 2008-06-01 23:39:48.000000000 +0200
-+++ screen-4.0.3/configure.in 2008-06-01 23:39:51.000000000 +0200
-@@ -1210,7 +1210,7 @@
- rm -f /tmp/conftest*
-
- AC_MSG_CHECKING(for vsprintf)
--AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
-+AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
-
- AC_HEADER_DIRENT
-
diff --git a/debian/patches/01configure_fix_alpha_vsprintf.patch b/debian/patches/01configure_fix_alpha_vsprintf.patch
new file mode 100644
index 0000000..4eb34f8
--- /dev/null
+++ b/debian/patches/01configure_fix_alpha_vsprintf.patch
@@ -0,0 +1,14 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Enhance the vsprintf() test to also succeed on Alpha.
+Cf. #213842.
+--- a/configure.in
++++ b/configure.in
+@@ -1211,7 +1211,7 @@
+ AC_SYS_LONG_FILE_NAMES
+
+ AC_MSG_CHECKING(for vsprintf)
+-AC_TRY_LINK(,[vsprintf(0,0,0);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
++AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
+
+ AC_HEADER_DIRENT
+
diff --git a/debian/patches/02screen-cc.dpatch b/debian/patches/02screen-cc.patch
index e05b2f3..0af779c 100755..100644
--- a/debian/patches/02screen-cc.dpatch
+++ b/debian/patches/02screen-cc.patch
@@ -1,14 +1,26 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## screen-cc.dpatch by <bpkroth@gmail.com>
-##
-## DP: Some patches stolen from the fedora package for better error checking and tty security.
-
-@DPATCH@
-diff --git a/utmp.c b/utmp.c
-index aae1948..fa8b87b 100644
+Author: <bpkroth@gmail.com>
+Description: Some patches stolen from the fedora package for better error checking and tty security.
--- a/utmp.c
+++ b/utmp.c
-@@ -575,7 +575,7 @@ struct win *wi;
+@@ -361,7 +361,7 @@
+ char *tty;
+ debug("couln't zap slot -> do mesg n\n");
+ D_loginttymode = 0;
+- if ((tty = ttyname(D_userfd)) && stat(tty, &stb) == 0 && (int)stb.st_uid == real_uid && ((int)stb.st_mode & 0777) != 0666)
++ if ((tty = ttyname(D_userfd)) && stat(tty, &stb) == 0 && (int)stb.st_uid == real_uid && !CheckTtyname(tty) && ((int)stb.st_mode & 0777) != 0666)
+ {
+ D_loginttymode = (int)stb.st_mode & 0777;
+ chmod(D_usertty, stb.st_mode & 0600);
+@@ -387,7 +387,7 @@
+ }
+ UT_CLOSE;
+ D_loginslot = (slot_t)0;
+- if (D_loginttymode && (tty = ttyname(D_userfd)))
++ if (D_loginttymode && (tty = ttyname(D_userfd)) && !CheckTtyname(tty))
+ chmod(tty, D_loginttymode);
+ }
+
+@@ -575,7 +575,7 @@
return ut_delete_user(slot, u.ut_pid, 0, 0) != 0;
#endif
#ifdef HAVE_UTEMPTER
@@ -17,18 +29,18 @@ index aae1948..fa8b87b 100644
{
/* sigh, linux hackers made the helper functions void */
if (SLOT_USED(u))
-
-commit 4ebd6db10c712eb56d4e61f1a8d4a41d0465ed89
-Author: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Thu Jan 13 17:36:06 2011 +0100
-
- Add more tty checks.
-
-diff --git a/extern.h b/extern.h
-index 2b9722e..c787d99 100644
+@@ -853,7 +853,7 @@
+
+ for (fd = 0; fd <= 2 && (tty = ttyname(fd)) == NULL; fd++)
+ ;
+- if ((tty == NULL) || ((fd = open(UTMP_FILE, O_RDONLY)) < 0))
++ if ((tty == NULL) || CheckTtyname(tty) || ((fd = open(UTMP_FILE, O_RDONLY)) < 0))
+ return NULL;
+ tty = stripdev(tty);
+ retbuf[0] = '\0';
--- a/extern.h
+++ b/extern.h
-@@ -110,6 +110,7 @@ extern void brktty __P((int));
+@@ -110,6 +110,7 @@
extern struct baud_values *lookup_baud __P((int bps));
extern int SetBaud __P((struct mode *, int, int));
extern int SttyMode __P((struct mode *, char *));
@@ -36,11 +48,9 @@ index 2b9722e..c787d99 100644
/* mark.c */
-diff --git a/screen.c b/screen.c
-index 3dde3b4..cc8f565 100644
--- a/screen.c
+++ b/screen.c
-@@ -970,8 +970,13 @@ char **av;
+@@ -970,8 +970,13 @@
else \
attach_tty = ""; \
} \
@@ -56,11 +66,9 @@ index 3dde3b4..cc8f565 100644
if (strlen(attach_tty) >= MAXPATHLEN) \
Panic(0, "TtyName too long - sorry."); \
} while (0)
-diff --git a/tty.sh b/tty.sh
-index f2afd54..e264796 100644
--- a/tty.sh
+++ b/tty.sh
-@@ -60,6 +60,7 @@ exit 0
+@@ -60,6 +60,7 @@
#include <sys/types.h>
#include <signal.h>
#include <fcntl.h>
@@ -68,7 +76,7 @@ index f2afd54..e264796 100644
#ifndef sgi
# include <sys/file.h>
#endif
-@@ -1506,6 +1507,19 @@ int ibaud, obaud;
+@@ -1506,6 +1507,19 @@
return 0;
}
@@ -88,49 +96,9 @@ index f2afd54..e264796 100644
/*
* Write out the mode struct in a readable form
*/
-diff --git a/utmp.c b/utmp.c
-index afa0948..aae1948 100644
---- a/utmp.c
-+++ b/utmp.c
-@@ -361,7 +361,7 @@ RemoveLoginSlot()
- char *tty;
- debug("couln't zap slot -> do mesg n\n");
- D_loginttymode = 0;
-- if ((tty = ttyname(D_userfd)) && stat(tty, &stb) == 0 && (int)stb.st_uid == real_uid && ((int)stb.st_mode & 0777) != 0666)
-+ if ((tty = ttyname(D_userfd)) && stat(tty, &stb) == 0 && (int)stb.st_uid == real_uid && !CheckTtyname(tty) && ((int)stb.st_mode & 0777) != 0666)
- {
- D_loginttymode = (int)stb.st_mode & 0777;
- chmod(D_usertty, stb.st_mode & 0600);
-@@ -387,7 +387,7 @@ RestoreLoginSlot()
- }
- UT_CLOSE;
- D_loginslot = (slot_t)0;
-- if (D_loginttymode && (tty = ttyname(D_userfd)))
-+ if (D_loginttymode && (tty = ttyname(D_userfd)) && !CheckTtyname(tty))
- chmod(tty, D_loginttymode);
- }
-
-@@ -853,7 +853,7 @@ getlogin()
-
- for (fd = 0; fd <= 2 && (tty = ttyname(fd)) == NULL; fd++)
- ;
-- if ((tty == NULL) || ((fd = open(UTMP_FILE, O_RDONLY)) < 0))
-+ if ((tty == NULL) || CheckTtyname(tty) || ((fd = open(UTMP_FILE, O_RDONLY)) < 0))
- return NULL;
- tty = stripdev(tty);
- retbuf[0] = '\0';
-
-commit 8e7fcb821dc7204a27d88707284e259444671c12
-Author: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Thu Jan 13 17:31:16 2011 +0100
-
- Don't assign address of auto variable to outer scope symbol.
-
-diff --git a/socket.c b/socket.c
-index 940034d..7507d75 100644
--- a/socket.c
+++ b/socket.c
-@@ -722,6 +722,7 @@ struct msg *mp;
+@@ -722,6 +722,7 @@
char *args[MAXARGS];
register int n;
register char **pp = args, *p = mp->m.create.line;
@@ -138,7 +106,7 @@ index 940034d..7507d75 100644
nwin = nwin_undef;
n = mp->m.create.nargs;
-@@ -731,7 +732,6 @@ struct msg *mp;
+@@ -731,7 +732,6 @@
if (n)
{
int l, num;
@@ -146,18 +114,9 @@ index 940034d..7507d75 100644
l = strlen(p);
if (IsNumColon(p, 10, buf, sizeof(buf)))
-
-commit 2a0e0dc7e05b36f374a074f6627efece3695f8c7
-Author: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Thu Jan 13 17:24:04 2011 +0100
-
- Remove redundant if statements.
-
-diff --git a/braille_tsi.c b/braille_tsi.c
-index 6768291..6f84913 100644
--- a/braille_tsi.c
+++ b/braille_tsi.c
-@@ -127,7 +127,6 @@ display_status_tsi()
+@@ -127,7 +127,6 @@
r = read(bd.bd_fd,ibuf,1);
if (r != 1)
return -1;
@@ -165,11 +124,9 @@ index 6768291..6f84913 100644
if (ibuf[0] == 'V')
r = read(bd.bd_fd, ibuf, 3);
else
-diff --git a/fileio.c b/fileio.c
-index 88fbf64..bd29011 100644
--- a/fileio.c
+++ b/fileio.c
-@@ -80,8 +80,6 @@ register char *str1, *str2;
+@@ -80,8 +80,6 @@
}
else
{
@@ -178,53 +135,9 @@ index 88fbf64..bd29011 100644
if ((cp = malloc((unsigned) len1 + add_colon + 1)) == NULL)
Panic(0, "%s", strnomem);
cp[len1 + add_colon] = '\0';
-
-commit e75e7a0cf5319e10aae0c45e17ce70d86ef2aee8
-Author: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Thu Jan 13 17:18:59 2011 +0100
-
- Set PAM_TTY item.
-
-diff --git a/attacher.c b/attacher.c
-index 1fab5b2..460f1ea 100644
---- a/attacher.c
-+++ b/attacher.c
-@@ -861,6 +861,7 @@ screen_builtin_lck()
- #ifdef USE_PAM
- pam_handle_t *pamh = 0;
- int pam_error;
-+ char *tty_name;
- #else
- char *pass, mypass[16 + 1], salt[3];
- #endif
-@@ -932,6 +933,15 @@ screen_builtin_lck()
- pam_error = pam_start("screen", ppp->pw_name, &PAM_conversation, &pamh);
- if (pam_error != PAM_SUCCESS)
- AttacherFinit(SIGARG); /* goodbye */
-+
-+ if (strncmp(attach_tty, "/dev/", 5) == 0)
-+ tty_name = attach_tty + 5;
-+ else
-+ tty_name = attach_tty;
-+ pam_error = pam_set_item(pamh, PAM_TTY, tty_name);
-+ if (pam_error != PAM_SUCCESS)
-+ AttacherFinit(SIGARG); /* goodbye */
-+
- pam_error = pam_authenticate(pamh, 0);
- pam_end(pamh, pam_error);
- PAM_conversation.appdata_ptr = 0;
-
-commit eb2e13f633f9615e9b60f19e1649f46bd07b2802
-Author: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Thu Jan 13 17:16:59 2011 +0100
-
- Check return code from setgid/setuid.
-
-diff --git a/attacher.c b/attacher.c
-index 370d594..1fab5b2 100644
--- a/attacher.c
+++ b/attacher.c
-@@ -185,8 +185,8 @@ int how;
+@@ -185,8 +185,8 @@
if (ret == SIG_POWER_BYE)
{
int ppid;
@@ -235,7 +148,7 @@ index 370d594..1fab5b2 100644
if ((ppid = getppid()) > 1)
Kill(ppid, SIGHUP);
exit(0);
-@@ -282,7 +282,10 @@ int how;
+@@ -282,7 +282,10 @@
#ifdef MULTIUSER
if (!multiattach)
#endif
@@ -247,7 +160,7 @@ index 370d594..1fab5b2 100644
#if defined(MULTIUSER) && defined(USE_SETEUID)
else
{
-@@ -290,7 +293,8 @@ int how;
+@@ -290,7 +293,8 @@
xseteuid(real_uid); /* multi_uid, allow backend to send signals */
}
#endif
@@ -257,7 +170,7 @@ index 370d594..1fab5b2 100644
eff_uid = real_uid;
eff_gid = real_gid;
-@@ -486,7 +490,8 @@ AttacherFinit SIGDEFARG
+@@ -486,7 +490,8 @@
#ifdef MULTIUSER
if (tty_oldmode >= 0)
{
@@ -267,7 +180,7 @@ index 370d594..1fab5b2 100644
chmod(attach_tty, tty_oldmode);
}
#endif
-@@ -504,11 +509,14 @@ AttacherFinitBye SIGDEFARG
+@@ -504,11 +509,14 @@
if (multiattach)
exit(SIG_POWER_BYE);
#endif
@@ -285,7 +198,7 @@ index 370d594..1fab5b2 100644
#endif
/* we don't want to disturb init (even if we were root), eh? jw */
if ((ppid = getppid()) > 1)
-@@ -679,11 +687,14 @@ static sigret_t
+@@ -679,11 +687,14 @@
LockHup SIGDEFARG
{
int ppid = getppid();
@@ -303,7 +216,7 @@ index 370d594..1fab5b2 100644
#endif
if (ppid > 1)
Kill(ppid, SIGHUP);
-@@ -710,11 +721,14 @@ LockTerminal()
+@@ -710,11 +721,14 @@
if ((pid = fork()) == 0)
{
/* Child */
@@ -321,3 +234,27 @@ index 370d594..1fab5b2 100644
#endif
closeallfiles(0); /* important: /etc/shadow may be open */
execl(prg, "SCREEN-LOCK", NULL);
+@@ -847,6 +861,7 @@
+ #ifdef USE_PAM
+ pam_handle_t *pamh = 0;
+ int pam_error;
++ char *tty_name;
+ #else
+ char *pass, mypass[16 + 1], salt[3];
+ #endif
+@@ -918,6 +933,15 @@
+ pam_error = pam_start("screen", ppp->pw_name, &PAM_conversation, &pamh);
+ if (pam_error != PAM_SUCCESS)
+ AttacherFinit(SIGARG); /* goodbye */
++
++ if (strncmp(attach_tty, "/dev/", 5) == 0)
++ tty_name = attach_tty + 5;
++ else
++ tty_name = attach_tty;
++ pam_error = pam_set_item(pamh, PAM_TTY, tty_name);
++ if (pam_error != PAM_SUCCESS)
++ AttacherFinit(SIGARG); /* goodbye */
++
+ pam_error = pam_authenticate(pamh, 0);
+ pam_end(pamh, pam_error);
+ PAM_conversation.appdata_ptr = 0;
diff --git a/debian/patches/03screen-ipv6.dpatch b/debian/patches/03screen-ipv6.patch
index 3261fa3..b86fe02 100755..100644
--- a/debian/patches/03screen-ipv6.dpatch
+++ b/debian/patches/03screen-ipv6.patch
@@ -1,13 +1,8 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## screen-ipv6.dpatch by <bpkroth@gmail.com>
-##
-## DP: Some patches stolen from the fedora package for better error checking and tty security.
-
-@DPATCH@
-diff -up screen/doc/screen.1.ipv6 screen/doc/screen.1
---- screen/doc/screen.1.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/doc/screen.1 2011-02-03 16:05:35.957087079 +0100
-@@ -398,6 +398,12 @@ Send the specified command to a running
+Author: <bpkroth@gmail.com>
+Description: Some patches stolen from the fedora package for better error checking and tty security.
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -398,6 +398,12 @@
the \fB-d\fP or \fB-r\fP option to tell screen to look only for
attached or detached screen sessions. Note that this command doesn't
work if the session is password protected.
@@ -20,10 +15,9 @@ diff -up screen/doc/screen.1.ipv6 screen/doc/screen.1
.SH "DEFAULT KEY BINDINGS"
.ta 12n 26n
-diff -up screen/extern.h.ipv6 screen/extern.h
---- screen/extern.h.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/extern.h 2011-02-03 16:04:35.995743620 +0100
-@@ -455,8 +455,7 @@ extern void ExitOverlayPage __P((void))
+--- a/extern.h
++++ b/extern.h
+@@ -456,8 +456,7 @@
/* teln.c */
#ifdef BUILTIN_TELNET
@@ -33,10 +27,9 @@ diff -up screen/extern.h.ipv6 screen/extern.h
extern int TelIsline __P((struct win *p));
extern void TelProcessLine __P((char **, int *));
extern int DoTelnet __P((char *, int *, int));
-diff -up screen/help.c.ipv6 screen/help.c
---- screen/help.c.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/help.c 2011-02-03 16:04:35.992744154 +0100
-@@ -66,6 +66,10 @@ char *myname, *message, *arg;
+--- a/help.c
++++ b/help.c
+@@ -66,6 +66,10 @@
{
printf("Use: %s [-opts] [cmd [args]]\n", myname);
printf(" or: %s -r [host.tty]\n\nOptions:\n", myname);
@@ -47,10 +40,9 @@ diff -up screen/help.c.ipv6 screen/help.c
printf("-a Force all capabilities into each window's termcap.\n");
printf("-A -[r|R] Adapt all windows to the new display width & height.\n");
printf("-c file Read configuration file instead of '.screenrc'.\n");
-diff -up screen/screen.c.ipv6 screen/screen.c
---- screen/screen.c.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/screen.c 2011-02-03 16:04:35.994743798 +0100
-@@ -248,8 +248,9 @@ struct layer *flayer;
+--- a/screen.c
++++ b/screen.c
+@@ -248,8 +248,9 @@
struct win *fore;
struct win *windows;
struct win *console_window;
@@ -62,7 +54,7 @@ diff -up screen/screen.c.ipv6 screen/screen.c
/*
* Do this last
-@@ -507,6 +508,9 @@ char **av;
+@@ -507,6 +508,9 @@
nwin = nwin_undef;
nwin_options = nwin_undef;
strcpy(screenterm, "screen");
@@ -72,7 +64,7 @@ diff -up screen/screen.c.ipv6 screen/screen.c
logreopen_register(lf_secreopen);
-@@ -541,6 +545,14 @@ char **av;
+@@ -541,6 +545,14 @@
{
switch (*ap)
{
@@ -87,9 +79,8 @@ diff -up screen/screen.c.ipv6 screen/screen.c
case 'a':
nwin_options.aflag = 1;
break;
-diff -up screen/teln.c.ipv6 screen/teln.c
---- screen/teln.c.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/teln.c 2011-02-03 16:04:35.992744154 +0100
+--- a/teln.c
++++ b/teln.c
@@ -30,6 +30,7 @@
#include <sys/socket.h>
#include <fcntl.h>
@@ -98,7 +89,7 @@ diff -up screen/teln.c.ipv6 screen/teln.c
#include "config.h"
-@@ -42,12 +43,13 @@ extern struct win *fore;
+@@ -42,12 +43,13 @@
extern struct layer *flayer;
extern int visual_bell;
extern char screenterm[];
@@ -114,7 +105,7 @@ diff -up screen/teln.c.ipv6 screen/teln.c
#define TEL_CONNECTING (-2)
#define TC_IAC 255
-@@ -105,86 +107,78 @@ char *data;
+@@ -105,86 +107,78 @@
}
int
@@ -146,7 +137,8 @@ diff -up screen/teln.c.ipv6 screen/teln.c
char buf[256];
- args = p->w_cmdargs + 1;
--
++ struct addrinfo hints, *res0, *res;
+
- if (!*args)
- {
- Msg(0, "Usage: screen //telnet host [port]");
@@ -169,39 +161,6 @@ diff -up screen/teln.c.ipv6 screen/teln.c
- }
- bcopy((char *)hp->h_addr,(char *)&p->w_telsa.sin_addr.s_addr, hp->h_length);
- p->w_telsa.sin_family = hp->h_addrtype;
-- }
-- p->w_telsa.sin_port = htons(port);
-- if (port != TEL_DEFPORT)
-- sprintf(buf, "Trying %s %d...", inet_ntoa(p->w_telsa.sin_addr), port);
-- else
-- sprintf(buf, "Trying %s...", inet_ntoa(p->w_telsa.sin_addr));
-- WriteString(p, buf, strlen(buf));
-- if (connect(p->w_ptyfd, (struct sockaddr *)&p->w_telsa, sizeof(p->w_telsa)))
-- {
-- if (errno == EINPROGRESS)
-- {
-- p->w_telstate = TEL_CONNECTING;
-- p->w_telconnev.fd = p->w_ptyfd;
-- p->w_telconnev.handler = tel_connev_fn;
-- p->w_telconnev.data = (char *)p;
-- p->w_telconnev.type = EV_WRITE;
-- p->w_telconnev.pri = 1;
-- debug("telnet connect in progress...\n");
-- evenq(&p->w_telconnev);
-- }
-- else
-- {
-- Msg(errno, "TelOpen: connect");
-- return -1;
-- }
-- }
-- else
-- WriteString(p, "connected.\r\n", 12);
-- if (port == TEL_DEFPORT)
-- TelReply(p, (char *)tn_init, sizeof(tn_init));
-- return 0;
-+ struct addrinfo hints, *res0, *res;
-+
+ if (!(p->w_cmdargs[1])) {
+ Msg(0, "Usage: screen //telnet host [port]");
+ return -1;
@@ -226,7 +185,31 @@ diff -up screen/teln.c.ipv6 screen/teln.c
+ freeaddrinfo(res0);
+ return -1;
+ }
-+ }
+ }
+- p->w_telsa.sin_port = htons(port);
+- if (port != TEL_DEFPORT)
+- sprintf(buf, "Trying %s %d...", inet_ntoa(p->w_telsa.sin_addr), port);
+- else
+- sprintf(buf, "Trying %s...", inet_ntoa(p->w_telsa.sin_addr));
+- WriteString(p, buf, strlen(buf));
+- if (connect(p->w_ptyfd, (struct sockaddr *)&p->w_telsa, sizeof(p->w_telsa)))
+- {
+- if (errno == EINPROGRESS)
+- {
+- p->w_telstate = TEL_CONNECTING;
+- p->w_telconnev.fd = p->w_ptyfd;
+- p->w_telconnev.handler = tel_connev_fn;
+- p->w_telconnev.data = (char *)p;
+- p->w_telconnev.type = EV_WRITE;
+- p->w_telconnev.pri = 1;
+- debug("telnet connect in progress...\n");
+- evenq(&p->w_telconnev);
+- }
+- else
+- {
+- Msg(errno, "TelOpen: connect");
+- return -1;
+- }
+
+ if (setsockopt(fd, SOL_SOCKET, SO_OOBINLINE, (char *)&on, sizeof(on)))
+ Msg(errno, "TelOpenAndConnect: setsockopt SO_OOBINLINE");
@@ -257,7 +240,12 @@ diff -up screen/teln.c.ipv6 screen/teln.c
+ return -1;
+ }
+ }
-+ }
+ }
+- else
+- WriteString(p, "connected.\r\n", 12);
+- if (port == TEL_DEFPORT)
+- TelReply(p, (char *)tn_init, sizeof(tn_init));
+- return 0;
+ else
+ WriteString(p, "connected.\r\n", 12);
+ if (!(p->w_cmdargs[2] && strcmp(p->w_cmdargs[2], TEL_DEFPORT)))
@@ -271,10 +259,9 @@ diff -up screen/teln.c.ipv6 screen/teln.c
}
int
-diff -up screen/window.c.ipv6 screen/window.c
---- screen/window.c.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/window.c 2011-02-03 16:30:56.900750293 +0100
-@@ -605,6 +605,13 @@ struct NewWindow *newwin;
+--- a/window.c
++++ b/window.c
+@@ -605,6 +605,13 @@
n = pp - wtab;
debug1("Makewin creating %d\n", n);
@@ -288,7 +275,7 @@ diff -up screen/window.c.ipv6 screen/window.c
if ((f = OpenDevice(nwin.args, nwin.lflag, &type, &TtyName)) < 0)
return -1;
if (type == W_TYPE_GROUP)
-@@ -766,7 +773,7 @@ struct NewWindow *newwin;
+@@ -766,7 +773,7 @@
#ifdef BUILTIN_TELNET
if (type == W_TYPE_TELNET)
{
@@ -297,7 +284,7 @@ diff -up screen/window.c.ipv6 screen/window.c
{
FreeWindow(p);
return -1;
-@@ -878,6 +885,13 @@ struct win *p;
+@@ -878,6 +885,13 @@
int lflag, f;
lflag = nwin_default.lflag;
@@ -311,7 +298,7 @@ diff -up screen/window.c.ipv6 screen/window.c
if ((f = OpenDevice(p->w_cmdargs, lflag, &p->w_type, &TtyName)) < 0)
return -1;
-@@ -909,7 +923,7 @@ struct win *p;
+@@ -911,7 +925,7 @@
#ifdef BUILTIN_TELNET
if (p->w_type == W_TYPE_TELNET)
{
@@ -320,7 +307,7 @@ diff -up screen/window.c.ipv6 screen/window.c
return -1;
}
else
-@@ -1068,16 +1082,6 @@ char **namep;
+@@ -1070,16 +1084,6 @@
*namep = "telnet";
return 0;
}
@@ -337,10 +324,9 @@ diff -up screen/window.c.ipv6 screen/window.c
if (strncmp(arg, "//", 2) == 0)
{
Msg(0, "Invalid argument '%s'", arg);
-diff -up screen/window.h.ipv6 screen/window.h
---- screen/window.h.ipv6 2010-11-11 03:47:46.000000000 +0100
-+++ screen/window.h 2011-02-03 16:04:35.989744687 +0100
-@@ -268,7 +268,7 @@ struct win
+--- a/window.h
++++ b/window.h
+@@ -268,7 +268,7 @@
struct display *w_zdisplay;
#endif
#ifdef BUILTIN_TELNET
diff --git a/debian/patches/05fix_osdef_include.dpatch b/debian/patches/05fix_osdef_include.dpatch
deleted file mode 100755
index 5b6d5e3..0000000
--- a/debian/patches/05fix_osdef_include.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 05fix_osdef_include.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Add a missing include to get a few prototypes that caused build
-## DP: issues on kfreebsd-amd64. (See #357232)
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/osdef.h.in screen-4.0.3/osdef.h.in
---- screen-4.0.3.orig/osdef.h.in 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/osdef.h.in 2008-06-01 23:40:11.000000000 +0200
-@@ -106,6 +106,7 @@
- extern char *tgoto __P((char *, int, int));
-
- #ifdef POSIX
-+#include <string.h>
- extern int setsid __P((void));
- extern int setpgid __P((int, int));
- extern int tcsetpgrp __P((int, int));
diff --git a/debian/patches/05fix_osdef_include.patch b/debian/patches/05fix_osdef_include.patch
new file mode 100644
index 0000000..aea320b
--- /dev/null
+++ b/debian/patches/05fix_osdef_include.patch
@@ -0,0 +1,13 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Add a missing include to get a few prototypes that caused build
+issues on kfreebsd-amd64. (See #357232)
+--- a/osdef.h.in
++++ b/osdef.h.in
+@@ -106,6 +106,7 @@
+ extern char *tgoto __P((char *, int, int));
+
+ #ifdef POSIX
++#include <string.h>
+ extern int setsid __P((void));
+ extern int setpgid __P((int, int));
+ extern int tcsetpgrp __P((int, int));
diff --git a/debian/patches/10norootpassword.dpatch b/debian/patches/10norootpassword.patch
index df95341..a754100 100755..100644
--- a/debian/patches/10norootpassword.dpatch
+++ b/debian/patches/10norootpassword.patch
@@ -1,15 +1,10 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10norootpassword.dpatch by Martin Pitt <martin.pitt@ubuntu.com>
-##
-## DP: When locking a root-owned screen, check that root has a
-## DP: password set. If not, ask for an unlocking key.
-## DP: See https://bugs.launchpad.net/bugs/6760
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/attacher.c screen-4.0.3/attacher.c
---- screen-4.0.3.orig/attacher.c 2008-06-01 23:39:48.000000000 +0200
-+++ screen-4.0.3/attacher.c 2008-06-01 23:40:21.000000000 +0200
-@@ -819,11 +819,15 @@
+Author: Martin Pitt <martin.pitt@ubuntu.com>
+Description: When locking a root-owned screen, check that root has a
+password set. If not, ask for an unlocking key.
+See https://bugs.launchpad.net/bugs/6760
+--- a/attacher.c
++++ b/attacher.c
+@@ -862,11 +862,15 @@
pam_handle_t *pamh = 0;
int pam_error;
char *tty_name;
@@ -28,7 +23,7 @@ diff -Naur screen-4.0.3.orig/attacher.c screen-4.0.3/attacher.c
pass = ppp->pw_passwd;
if (pass == 0 || *pass == 0)
{
-@@ -856,6 +860,8 @@
+@@ -899,6 +903,8 @@
pass = crypt(mypass, salt);
pass = ppp->pw_passwd = SaveStr(pass);
}
@@ -37,7 +32,7 @@ diff -Naur screen-4.0.3.orig/attacher.c screen-4.0.3/attacher.c
#endif
debug("screen_builtin_lck looking in gcos field\n");
-@@ -885,6 +891,8 @@
+@@ -928,6 +934,8 @@
AttacherFinit(SIGARG);
/* NOTREACHED */
}
@@ -46,7 +41,7 @@ diff -Naur screen-4.0.3.orig/attacher.c screen-4.0.3/attacher.c
#ifdef USE_PAM
PAM_conversation.appdata_ptr = cp1;
pam_error = pam_start("screen", ppp->pw_name, &PAM_conversation, &pamh);
-@@ -895,10 +903,13 @@
+@@ -947,10 +955,13 @@
PAM_conversation.appdata_ptr = 0;
if (pam_error == PAM_SUCCESS)
break;
diff --git a/debian/patches/11replace_doc_paths.dpatch b/debian/patches/11replace_doc_paths.patch
index d9a97da..2383d3a 100755..100644
--- a/debian/patches/11replace_doc_paths.dpatch
+++ b/debian/patches/11replace_doc_paths.patch
@@ -1,23 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 11replace_doc_paths.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Fix the references to configuration and pipe paths to match the
-## DP: locations Debian uses.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
---- screen-4.0.3.orig/doc/screen.1 2008-06-01 23:39:48.000000000 +0200
-+++ screen-4.0.3/doc/screen.1 2008-06-01 23:40:25.000000000 +0200
-@@ -99,7 +99,7 @@
- The above example would start the emacs editor (editing prog.c) and switch
- to its window.
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Fix the references to configuration and pipe paths to match the
+locations Debian uses.
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -101,7 +101,7 @@
+ the invoking shell to the application (emacs in this case), because it is
+ forked from the parent screen process, not from the invoking shell.
.PP
-If \*Q/etc/utmp\*U is writable by
+If \*Q/var/run/utmp\*U is writable by
.IR screen ,
an appropriate record will be written to this file for each window, and
removed when the window is terminated.
-@@ -228,7 +228,7 @@
+@@ -230,7 +230,7 @@
The use of this option is discouraged.
.TP 5
.BR \-l " and " \-ln
@@ -25,8 +20,8 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
+turns login mode on or off (for /var/run/utmp updating).
This can also be defined through the \*Qdeflogin\*U .screenrc command.
.TP 5
- .BR \-ls " and " \-list
-@@ -588,7 +588,7 @@
+ .BR \-ls " [" \fImatch ]
+@@ -626,7 +626,7 @@
.SH CUSTOMIZATION
The \*Qsocket directory\*U defaults either to $HOME/.screen or simply to
@@ -35,7 +30,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
.I screen
is installed setuid-root, then the administrator
should compile
-@@ -601,7 +601,7 @@
+@@ -639,7 +639,7 @@
When
.I screen
is invoked, it executes initialization commands from the files
@@ -44,7 +39,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
\*Q.screenrc\*U in the user's home directory. These are the \*Qprogrammer's
defaults\*U that can be overridden in the following ways: for the
global screenrc file
-@@ -1676,7 +1676,7 @@
+@@ -1841,7 +1841,7 @@
The echo command may be used to annoy
.I screen
users with a 'message of the
@@ -53,7 +48,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
The option \*Q-n\*U may be used to suppress the line feed.
See also \*Qsleep\*U.
Echo is also useful for online checking of environment variables.
-@@ -4429,14 +4429,14 @@
+@@ -4848,14 +4848,14 @@
.I screen
distribution package for private and global initialization files.
.IP $SYSSCREENRC
@@ -71,7 +66,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
Socket directories (default)
.IP /usr/tmp/screens/S-<login>
Alternate socket directories.
-@@ -4455,7 +4455,7 @@
+@@ -4874,7 +4874,7 @@
or
.IP /etc/termcap
Terminal capability databases
@@ -80,7 +75,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
Login records
.IP $LOCKPRG
Program that locks a terminal.
-@@ -4568,9 +4568,9 @@
+@@ -4996,9 +4996,9 @@
must be installed as set-uid with owner root on most systems in order
to be able to correctly change the owner of the tty device file for
each window.
@@ -92,19 +87,18 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
.I screen
is killed with SIGKILL.
This will cause some programs (like "w" or "rwho")
-diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
---- screen-4.0.3.orig/doc/screen.texinfo 2008-06-01 23:39:48.000000000 +0200
-+++ screen-4.0.3/doc/screen.texinfo 2008-06-01 23:40:25.000000000 +0200
-@@ -176,7 +176,7 @@
- variable) who will use it to create the new window. The above example would
- start the @code{emacs} editor (editing @file{prog.c}) and switch to its window.
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -182,7 +182,7 @@
+ the invoking shell to the application (emacs in this case), because it is
+ forked from the parent screen process, not from the invoking shell.
-If @file{/etc/utmp} is writable by @code{screen}, an appropriate record
+If @file{/var/run/utmp} is writable by @code{screen}, an appropriate record
will be written to this file for each window, and removed when the
window is closed. This is useful for working with @code{talk},
@code{script}, @code{shutdown}, @code{rsend}, @code{sccs} and other
-@@ -305,7 +305,7 @@
+@@ -311,7 +311,7 @@
@item -l
@itemx -ln
@@ -113,7 +107,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
is equivalent to the @code{deflogin} command (@pxref{Login}).
@item -ls [@var{match}]
-@@ -450,7 +450,7 @@
+@@ -485,7 +485,7 @@
@cindex screenrc
When @code{screen} is invoked, it executes initialization commands from
the files @file{.screenrc} in the user's home directory and
@@ -122,7 +116,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
following ways:
For the global screenrc file @code{screen} searches for the environment
variable @code{$SYSSCREENRC} (this override feature may be disabled at
-@@ -1000,7 +1000,7 @@
+@@ -1069,7 +1069,7 @@
@item logfile @var{filename}
Place where to collect logfiles. @xref{Log}.
@item login [@var{state}]
@@ -131,16 +125,16 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
@item logtstamp [@var{state}]
Configure logfile time-stamps. @xref{Log}.
@item mapdefault
-@@ -1903,7 +1903,7 @@
+@@ -2318,7 +2318,7 @@
* Naming Windows:: Control the name of the window
* Console:: See the host's console messages
* Kill:: Destroy an unwanted window
-* Login:: Control @file{/etc/utmp} logging
+* Login:: Control @file{/var/run/utmp} logging
* Mode:: Control the file mode of the pty
- * Monitor:: Watch for activity in a window
+ * Monitor:: Watch for activity or inactivity in a window
* Windows:: List the active windows
-@@ -2112,7 +2112,7 @@
+@@ -2527,7 +2527,7 @@
@kindex L
@deffn Command login [state]
(@kbd{C-a L})@*
@@ -149,7 +143,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
This controls whether or not the window is @dfn{logged in}. In addition
to this toggle, it is convenient to have ``log in'' and ``log out''
keys. For instance, @code{bind I login on} and @code{bind O
-@@ -4970,17 +4970,17 @@
+@@ -5668,17 +5668,17 @@
global initialization files.
@item @code{$SYSSCREENRC}
@@ -170,7 +164,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
Socket directories (default)
@item /usr/tmp/screens/S-@var{login}
-@@ -5003,7 +5003,7 @@
+@@ -5701,7 +5701,7 @@
@itemx /etc/termcap
Terminal capability databases
@@ -179,7 +173,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
Login records
@item @code{$LOCKPRG}
-@@ -5108,10 +5108,10 @@
+@@ -5807,10 +5807,10 @@
in order to be able to
correctly change the owner of the tty device file for each window.
Special permission may also be required to write the file
@@ -192,7 +186,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
with SIGKILL. This will cause some programs (like "w" or "rwho") to
advertise that a user is logged on who really isn't.
-@@ -5192,7 +5192,7 @@
+@@ -5891,7 +5891,7 @@
@cindex socket directory
The socket directory defaults either to @file{$HOME/.screen} or simply to
diff --git a/debian/patches/12kfreebsd_ctty.dpatch b/debian/patches/12kfreebsd_ctty.patch
index 4bc88a2..cb3b8a9 100755..100644
--- a/debian/patches/12kfreebsd_ctty.dpatch
+++ b/debian/patches/12kfreebsd_ctty.patch
@@ -1,12 +1,8 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 12kfreebsd_ctty.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: See inline documentation.
-
-@DPATCH@
---- screen-4.0.3.orig/tty.sh 2009-04-10 18:15:51.923805915 +0200
-+++ screen-4.0.3/tty.sh 2009-04-10 18:17:56.043804602 +0200
-@@ -801,18 +801,11 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: See inline documentation.
+--- a/tty.sh
++++ b/tty.sh
+@@ -809,18 +809,11 @@
mypid = getpid();
diff --git a/debian/patches/13split_info_files.dpatch b/debian/patches/13split_info_files.dpatch
deleted file mode 100755
index 2c288a8..0000000
--- a/debian/patches/13split_info_files.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 13split_info_files.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Split the info files at 50k to match the distribution style
-## DP: of the orig tarball.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/doc/Makefile.in screen-4.0.3/doc/Makefile.in
---- screen-4.0.3.orig/doc/Makefile.in 2006-10-23 15:06:32.000000000 +0200
-+++ screen-4.0.3/doc/Makefile.in 2008-06-01 23:40:33.000000000 +0200
-@@ -27,7 +27,7 @@
-
- info screen.info: screen.texinfo
- @rm -f screen.info*
-- $(MAKEINFO) $(srcdir)/screen.texinfo -o screen.info
-+ $(MAKEINFO) --split 50000 $(srcdir)/screen.texinfo -o screen.info
-
- install: installdirs
- $(INSTALL_DATA) $(srcdir)/screen.1 $(DESTDIR)$(mandir)/man1/screen.1
diff --git a/debian/patches/13split_info_files.patch b/debian/patches/13split_info_files.patch
new file mode 100644
index 0000000..9944796
--- /dev/null
+++ b/debian/patches/13split_info_files.patch
@@ -0,0 +1,14 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Split the info files at 50k to match the distribution style
+of the orig tarball.
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -28,7 +28,7 @@
+
+ info screen.info: screen.texinfo
+ @rm -f screen.info*
+- $(MAKEINFO) $(srcdir)/screen.texinfo -o screen.info
++ $(MAKEINFO) --split 50000 $(srcdir)/screen.texinfo -o screen.info
+
+ install: installdirs
+ $(INSTALL_DATA) $(srcdir)/screen.1 $(DESTDIR)$(mandir)/man1/screen.1
diff --git a/debian/patches/14size_matters.dpatch b/debian/patches/14size_matters.patch
index 3069c81..f0d6628 100755..100644
--- a/debian/patches/14size_matters.dpatch
+++ b/debian/patches/14size_matters.patch
@@ -1,14 +1,9 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 14size_matters.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: * Increase the MAXSTR macro to suit present-day needs.
-## DP: * Increase the maximum length of the input line buffer likewise.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/input.c screen-4.0.3/input.c
---- screen-4.0.3.orig/input.c 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/input.c 2008-06-01 23:40:37.000000000 +0200
-@@ -38,7 +38,7 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: * Increase the MAXSTR macro to suit present-day needs.
+* Increase the maximum length of the input line buffer likewise.
+--- a/input.c
++++ b/input.c
+@@ -43,7 +43,7 @@
struct inpline
{
@@ -16,8 +11,8 @@ diff -Naur screen-4.0.3.orig/input.c screen-4.0.3/input.c
+ char buf[MAXSTR+1]; /* text buffer */
int len; /* length of the editible string */
int pos; /* cursor position in editable string */
- };
-@@ -49,7 +49,7 @@
+ struct inpline *next, *prev;
+@@ -58,7 +58,7 @@
struct inpdata
{
struct inpline inp;
@@ -26,10 +21,10 @@ diff -Naur screen-4.0.3.orig/input.c screen-4.0.3/input.c
char *inpstring; /* the prompt */
int inpstringlen; /* length of the prompt */
int inpmode; /* INP_NOECHO, INP_RAW, INP_EVERY */
-@@ -120,8 +120,8 @@
+@@ -134,8 +134,8 @@
if (!flayer)
return;
-
+
- if (len > 100)
- len = 100;
+ if (len > MAXSTR)
@@ -37,10 +32,9 @@ diff -Naur screen-4.0.3.orig/input.c screen-4.0.3/input.c
if (!(mode & INP_NOECHO))
{
maxlen = flayer->l_width - 1 - strlen(istr);
-diff -Naur screen-4.0.3.orig/process.c screen-4.0.3/process.c
---- screen-4.0.3.orig/process.c 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/process.c 2008-06-01 23:40:37.000000000 +0200
-@@ -1934,7 +1934,7 @@
+--- a/process.c
++++ b/process.c
+@@ -2083,7 +2083,7 @@
ChangeAKA(fore, *args, strlen(*args));
break;
case RC_COLON:
@@ -49,10 +43,9 @@ diff -Naur screen-4.0.3.orig/process.c screen-4.0.3/process.c
if (*args && **args)
{
s = *args;
-diff -Naur screen-4.0.3.orig/screen.h screen-4.0.3/screen.h
---- screen-4.0.3.orig/screen.h 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/screen.h 2008-06-01 23:40:37.000000000 +0200
-@@ -86,7 +86,7 @@
+--- a/screen.h
++++ b/screen.h
+@@ -91,7 +91,7 @@
#define Ctrl(c) ((c)&037)
@@ -61,10 +54,9 @@ diff -Naur screen-4.0.3.orig/screen.h screen-4.0.3/screen.h
#define MAXARGS 64
#define MSGWAIT 5
#define MSGMINWAIT 1
-diff -Naur screen-4.0.3.orig/window.c screen-4.0.3/window.c
---- screen-4.0.3.orig/window.c 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/window.c 2008-06-01 23:40:37.000000000 +0200
-@@ -2171,7 +2171,7 @@
+--- a/window.c
++++ b/window.c
+@@ -2235,7 +2235,7 @@
return;
}
flayer = &p->w_layer;
diff --git a/debian/patches/16fix_gcc_warnings.dpatch b/debian/patches/16fix_gcc_warnings.dpatch
deleted file mode 100755
index c425c5b..0000000
--- a/debian/patches/16fix_gcc_warnings.dpatch
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 16fix_gcc_warnings.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Get rid of several minor gcc warnings.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/attacher.c screen-4.0.3/attacher.c
---- screen-4.0.3.orig/attacher.c 2008-06-01 23:40:23.000000000 +0200
-+++ screen-4.0.3/attacher.c 2008-06-01 23:41:01.000000000 +0200
-@@ -820,7 +820,7 @@
- pam_handle_t *pamh = 0;
- int pam_error;
- #endif
-- char *pass, mypass[16 + 1], salt[3];
-+ char *pass = 0, mypass[16 + 1], salt[3];
- int using_pam = 1;
-
- #ifdef USE_PAM
-diff -Naur screen-4.0.3.orig/layer.c screen-4.0.3/layer.c
---- screen-4.0.3.orig/layer.c 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/layer.c 2008-06-01 23:41:01.000000000 +0200
-@@ -451,7 +451,7 @@
- void
- LClearLine(l, y, xs, xe, bce, ol)
- struct layer *l;
--int xs, xe, bce;
-+int y, xs, xe, bce;
- struct mline *ol;
- {
- struct canvas *cv;
-diff -Naur screen-4.0.3.orig/process.c screen-4.0.3/process.c
---- screen-4.0.3.orig/process.c 2008-06-01 23:40:40.000000000 +0200
-+++ screen-4.0.3/process.c 2008-06-01 23:41:01.000000000 +0200
-@@ -3123,7 +3123,7 @@
- int newnr, fl = 0, kf = 0, af = 0, df = 0, mf = 0;
- struct display *odisp = display;
- int used = 0;
-- struct kmap_ext *kme;
-+ struct kmap_ext *kme = 0;
-
- for (; *args && **args == '-'; args++, argl++)
- {
-diff -Naur screen-4.0.3.orig/screen.c screen-4.0.3/screen.c
---- screen-4.0.3.orig/screen.c 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/screen.c 2008-06-01 23:41:01.000000000 +0200
-@@ -2360,7 +2360,7 @@
- int truncpos = -1;
- int truncper = 0;
- int trunclong = 0;
-- struct backtick *bt;
-+ struct backtick *bt = 0;
-
- if (winmsg_numrend >= 0)
- winmsg_numrend = 0;
diff --git a/debian/patches/16fix_gcc_warnings.patch b/debian/patches/16fix_gcc_warnings.patch
new file mode 100644
index 0000000..726fe2f
--- /dev/null
+++ b/debian/patches/16fix_gcc_warnings.patch
@@ -0,0 +1,46 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Get rid of several minor gcc warnings.
+--- a/attacher.c
++++ b/attacher.c
+@@ -863,7 +863,7 @@
+ int pam_error;
+ char *tty_name;
+ #endif
+- char *pass, mypass[16 + 1], salt[3];
++ char *pass = 0, mypass[16 + 1], salt[3];
+ int using_pam = 1;
+
+ #ifdef USE_PAM
+--- a/layer.c
++++ b/layer.c
+@@ -492,7 +492,7 @@
+ void
+ LClearLine(l, y, xs, xe, bce, ol)
+ struct layer *l;
+-int xs, xe, bce;
++int y, xs, xe, bce;
+ struct mline *ol;
+ {
+ struct canvas *cv;
+--- a/process.c
++++ b/process.c
+@@ -3302,7 +3302,7 @@
+ int newnr, fl = 0, kf = 0, af = 0, df = 0, mf = 0;
+ struct display *odisp = display;
+ int used = 0;
+- struct kmap_ext *kme;
++ struct kmap_ext *kme = 0;
+
+ for (; *args && **args == '-'; args++, argl++)
+ {
+--- a/screen.c
++++ b/screen.c
+@@ -2534,7 +2534,7 @@
+ int truncpos = -1;
+ int truncper = 0;
+ int trunclong = 0;
+- struct backtick *bt;
++ struct backtick *bt = 0;
+
+ if (winmsg_numrend >= 0)
+ winmsg_numrend = 0;
diff --git a/debian/patches/22exchange_file_mode.dpatch b/debian/patches/22exchange_file_mode.dpatch
deleted file mode 100755
index 730bf31..0000000
--- a/debian/patches/22exchange_file_mode.dpatch
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 22exchange_file_mode.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Make it a bit harder to shoot oneself in the foot by
-## DP: keeping the umask tight by default when creating the
-## DP: screen exchange file. Fearless users may still chmod it.
-
-@DPATCH@
---- screen-4.0.3.orig/fileio.c 2009-04-02 02:01:23.530568088 +0200
-+++ screen-4.0.3/fileio.c 2009-04-02 02:02:18.155521670 +0200
-@@ -367,11 +367,6 @@
- char *mode = "w";
- #ifdef COPY_PASTE
- int public = 0;
--# ifdef _MODE_T
-- mode_t old_umask;
--# else
-- int old_umask;
--# endif
- # ifdef HAVE_LSTAT
- struct stat stb, stb2;
- int fd, exists = 0;
-@@ -434,7 +429,6 @@
- #ifdef COPY_PASTE
- if (dump == DUMP_EXCHANGE && public)
- {
-- old_umask = umask(0);
- # ifdef HAVE_LSTAT
- if (exists)
- {
-@@ -455,7 +449,6 @@
- # else
- f = fopen(fn, mode);
- # endif
-- umask(old_umask);
- }
- else
- #endif /* COPY_PASTE */
diff --git a/debian/patches/22exchange_file_mode.patch b/debian/patches/22exchange_file_mode.patch
new file mode 100644
index 0000000..1d88949
--- /dev/null
+++ b/debian/patches/22exchange_file_mode.patch
@@ -0,0 +1,34 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Make it a bit harder to shoot oneself in the foot by
+keeping the umask tight by default when creating the
+screen exchange file. Fearless users may still chmod it.
+--- a/fileio.c
++++ b/fileio.c
+@@ -411,11 +411,6 @@
+ char *mode = "w";
+ #ifdef COPY_PASTE
+ int public = 0;
+-# ifdef _MODE_T
+- mode_t old_umask;
+-# else
+- int old_umask;
+-# endif
+ # ifdef HAVE_LSTAT
+ struct stat stb, stb2;
+ int fd, exists = 0;
+@@ -478,7 +473,6 @@
+ #ifdef COPY_PASTE
+ if (dump == DUMP_EXCHANGE && public)
+ {
+- old_umask = umask(0);
+ # ifdef HAVE_LSTAT
+ if (exists)
+ {
+@@ -499,7 +493,6 @@
+ # else
+ f = fopen(fn, mode);
+ # endif
+- umask(old_umask);
+ }
+ else
+ #endif /* COPY_PASTE */
diff --git a/debian/patches/23exitcode_q_ls.dpatch b/debian/patches/23exitcode_q_ls.dpatch
deleted file mode 100755
index c9f682d..0000000
--- a/debian/patches/23exitcode_q_ls.dpatch
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 23exitcode_q_ls.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Make the exitcode of '-q -ls' and friends ('-qr -ls' and even
-## DP: '-qdr -ls') match the documentation.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/screen.c screen-4.0.3/screen.c
---- screen-4.0.3.orig/screen.c 2008-06-01 23:41:11.000000000 +0200
-+++ screen-4.0.3/screen.c 2008-06-01 23:44:59.000000000 +0200
-@@ -1073,8 +1073,12 @@
- eff_uid = real_uid;
- eff_gid = real_gid;
- i = FindSocket((int *)NULL, &fo, &oth, SockMatch);
-- if (quietflag)
-- exit(8 + (fo ? ((oth || i) ? 2 : 1) : 0) + i);
-+ if (quietflag) {
-+ if (rflag)
-+ exit(10 + i);
-+ else
-+ exit(9 + (fo || oth ? 1 : 0) + fo);
-+ }
- if (fo == 0)
- Panic(0, "No Sockets found in %s.\n", SockPath);
- Panic(0, "%d Socket%s in %s.\n", fo, fo > 1 ? "s" : "", SockPath);
diff --git a/debian/patches/23exitcode_q_ls.patch b/debian/patches/23exitcode_q_ls.patch
new file mode 100644
index 0000000..87177eb
--- /dev/null
+++ b/debian/patches/23exitcode_q_ls.patch
@@ -0,0 +1,20 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Make the exitcode of '-q -ls' and friends ('-qr -ls' and even
+'-qdr -ls') match the documentation.
+--- a/screen.c
++++ b/screen.c
+@@ -1181,8 +1181,12 @@
+ #endif
+ SET_GUID();
+ i = FindSocket((int *)NULL, &fo, &oth, SockMatch);
+- if (quietflag)
+- exit(8 + (fo ? ((oth || i) ? 2 : 1) : 0) + i);
++ if (quietflag) {
++ if (rflag)
++ exit(10 + i);
++ else
++ exit(9 + (fo || oth ? 1 : 0) + fo);
++ }
+ if (fo == 0)
+ Panic(0, "No Sockets found in %s.\n", SockPath);
+ Panic(0, "%d Socket%s in %s.\n", fo, fo > 1 ? "s" : "", SockPath);
diff --git a/debian/patches/24option_parser.dpatch b/debian/patches/24option_parser.dpatch
deleted file mode 100755
index ed478cd..0000000
--- a/debian/patches/24option_parser.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 24option_parser.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: This is not getopt() and we don't have two leading dashes, so
-## DP: parse and match the long options in full.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/screen.c screen-4.0.3/screen.c
---- screen-4.0.3.orig/screen.c 2008-06-01 23:44:59.000000000 +0200
-+++ screen-4.0.3/screen.c 2008-06-01 23:44:59.000000000 +0200
-@@ -621,6 +621,8 @@
- }
- break;
- case 'w':
-+ if (strcmp(ap+1, "ipe"))
-+ exit_with_usage(myname, "Unknown option %s", --ap);
- lsflag = 1;
- wipeflag = 1;
- if (ac > 1 && !SockMatch)
diff --git a/debian/patches/24option_parser.patch b/debian/patches/24option_parser.patch
new file mode 100644
index 0000000..ca13613
--- /dev/null
+++ b/debian/patches/24option_parser.patch
@@ -0,0 +1,14 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: This is not getopt() and we don't have two leading dashes, so
+parse and match the long options in full.
+--- a/screen.c
++++ b/screen.c
+@@ -667,6 +667,8 @@
+ }
+ break;
+ case 'w':
++ if (strcmp(ap+1, "ipe"))
++ exit_with_usage(myname, "Unknown option %s", --ap);
+ lsflag = 1;
+ wipeflag = 1;
+ if (ac > 1 && !SockMatch)
diff --git a/debian/patches/26source_encoding.dpatch b/debian/patches/26source_encoding.patch
index c1f06c9..ded484c 100755..100644
--- a/debian/patches/26source_encoding.dpatch
+++ b/debian/patches/26source_encoding.patch
@@ -1,13 +1,8 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 26source_encoding.dpatch by Ben Finney <ben@benfinney.id.au>
-##
-## DP: Replace the composed characters with their respective description.
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/process.c screen-4.0.3/process.c
---- screen-4.0.3.orig/process.c 2008-06-01 23:44:58.000000000 +0200
-+++ screen-4.0.3/process.c 2008-06-01 23:45:00.000000000 +0200
-@@ -223,177 +223,177 @@
+Author: Ben Finney <ben@benfinney.id.au>
+Description: Replace the composed characters with their respective description.
+--- a/process.c
++++ b/process.c
+@@ -250,177 +250,177 @@
/* digraph table taken from old vim and rfc1345 */
static struct digraph digraphs[MAX_DIGRAPH + 1] = {
diff --git a/debian/patches/32misc_minor_fixes.dpatch b/debian/patches/32misc_minor_fixes.dpatch
deleted file mode 100755
index 330b89e..0000000
--- a/debian/patches/32misc_minor_fixes.dpatch
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 32misc_minor_fixes.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Remove an unconditional nethack message. (# 512299)
-
-@DPATCH@
---- screen-4.0.3.orig/attacher.c 2009-02-26 01:40:12.427283863 +0100
-+++ screen-4.0.3/attacher.c 2009-02-26 01:43:02.258234277 +0100
-@@ -579,7 +579,7 @@
- {
- fcntl(0, F_SETFL, 0);
- SetTTY(0, &attach_Mode);
-- printf("\nSuddenly the Dungeon collapses!! - You die...\n");
-+ printf("\nError: Cannot find master process to attach to!\n");
- eexit(1);
- }
- #endif
diff --git a/debian/patches/32misc_minor_fixes.patch b/debian/patches/32misc_minor_fixes.patch
new file mode 100644
index 0000000..5d1dc1c
--- /dev/null
+++ b/debian/patches/32misc_minor_fixes.patch
@@ -0,0 +1,13 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Remove an unconditional nethack message. (# 512299)
+--- a/attacher.c
++++ b/attacher.c
+@@ -629,7 +629,7 @@
+ {
+ fcntl(0, F_SETFL, 0);
+ SetTTY(0, &attach_Mode);
+- printf("\nSuddenly the Dungeon collapses!! - You die...\n");
++ printf("\nError: Cannot find master process to attach to!\n");
+ eexit(1);
+ }
+ #ifdef BSDJOBS
diff --git a/debian/patches/45suppress_remap.dpatch b/debian/patches/45suppress_remap.dpatch
deleted file mode 100755
index c99405f..0000000
--- a/debian/patches/45suppress_remap.dpatch
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 45suppress_remap.dpatch by Loic Minier <lool@dooz.org>
-##
-## DP: Unbreak several useful keybindings.
-
-@DPATCH@
---- screen-4.0.3.orig/termcap.c 2008-06-05 12:24:28.000000000 +0200
-+++ screen-4.0.3/termcap.c 2008-06-05 12:24:59.000000000 +0200
-@@ -548,8 +548,6 @@
- else
- break;
- }
-- if (n < KMAP_KEYS)
-- domap = 1;
- if (map == 0 && domap)
- return 0;
- if (map && !domap)
diff --git a/debian/patches/45suppress_remap.patch b/debian/patches/45suppress_remap.patch
new file mode 100644
index 0000000..85109a2
--- /dev/null
+++ b/debian/patches/45suppress_remap.patch
@@ -0,0 +1,13 @@
+Author: Loic Minier <lool@dooz.org>
+Description: Unbreak several useful keybindings.
+--- a/termcap.c
++++ b/termcap.c
+@@ -552,8 +552,6 @@
+ else
+ break;
+ }
+- if (n < KMAP_KEYS)
+- domap = 1;
+ if (map == 0 && domap)
+ return 0;
+ if (map && !domap)
diff --git a/debian/patches/51EXP_session_creation_time.dpatch b/debian/patches/51EXP_session_creation_time.patch
index 829ba0f..fd5cd03 100755..100644
--- a/debian/patches/51EXP_session_creation_time.dpatch
+++ b/debian/patches/51EXP_session_creation_time.patch
@@ -1,19 +1,14 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 51EXP_session_creation_time.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Add lookup code for the creation time of each session. Requires
-## DP: digging in /proc/$pid and /proc/uptime, though, so it's definitely
-## DP: no candidate for the Beautiful C contest.
-## DP: Affects screen's behaviour in the following situations:
-## DP: * 'screen -ls' lists available sessions sorted chronologically
-## DP: * 'screen -RR' now picks the youngest session instead of an
-## DP: arbitrary one
-
-@DPATCH@
-diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
---- screen-4.0.3.orig/doc/screen.1 2008-06-01 23:45:00.000000000 +0200
-+++ screen-4.0.3/doc/screen.1 2008-06-01 23:45:02.000000000 +0200
-@@ -238,7 +238,7 @@
+Author: <hesso@pool.math.tu-berlin.de>
+Description: Add lookup code for the creation time of each session. Requires
+digging in /proc/$pid and /proc/uptime, though, so it's definitely
+no candidate for the Beautiful C contest.
+Affects screen's behaviour in the following situations:
+* 'screen -ls' lists available sessions sorted chronologically
+* 'screen -RR' now picks the youngest session instead of an
+arbitrary one
+--- a/doc/screen.1
++++ b/doc/screen.1
+@@ -242,7 +242,7 @@
.IR screen ,
but prints a list of
.I pid.tty.host
@@ -22,7 +17,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
.I screen
sessions.
Sessions marked `detached' can be resumed with \*Qscreen -r\*U. Those marked
-@@ -317,7 +317,7 @@
+@@ -340,7 +340,7 @@
sessions in another user's directory. This requires setuid-root.
.TP 5
.B \-R
@@ -31,19 +26,18 @@ diff -Naur screen-4.0.3.orig/doc/screen.1 screen-4.0.3/doc/screen.1
.I screen
session it finds. If successful, all other command-line options are ignored.
If no detached session exists, starts a new session using the specified
-@@ -327,6 +327,8 @@
+@@ -350,6 +350,8 @@
.I screen
is run as a login-shell (actually screen uses \*Q-xRR\*U in that case).
For combinations with the \fB\-d\fP/\fB\-D\fP option see there.
+.B Note:
+Time-based session selection is a Debian addition.
.TP 5
- .B \-s
+ .BI "\-s " program
sets the default shell to the program specified, instead of the value
-diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
---- screen-4.0.3.orig/doc/screen.texinfo 2008-06-01 23:45:00.000000000 +0200
-+++ screen-4.0.3/doc/screen.texinfo 2008-06-01 23:45:02.000000000 +0200
-@@ -315,7 +315,8 @@
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -318,7 +318,8 @@
@itemx -list [@var{match}]
Do not start @code{screen}, but instead print a list of session
identification strings (usually of the form @var{pid.tty.host};
@@ -53,7 +47,7 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
with @code{screen -r}. Those marked @samp{attached} are running and
have a controlling terminal. If the session runs in multiuser mode,
it is marked @samp{multi}. Sessions marked as @samp{unreachable} either
-@@ -376,14 +377,15 @@
+@@ -404,14 +405,15 @@
sessions in another user's directory. This requires setuid-root.
@item -R
@@ -71,10 +65,9 @@ diff -Naur screen-4.0.3.orig/doc/screen.texinfo screen-4.0.3/doc/screen.texinfo
@item -s @var{program}
Set the default shell to be @var{program}. By default, @code{screen}
-diff -Naur screen-4.0.3.orig/extern.h screen-4.0.3/extern.h
---- screen-4.0.3.orig/extern.h 2008-06-01 23:45:02.000000000 +0200
-+++ screen-4.0.3/extern.h 2008-06-01 23:45:02.000000000 +0200
-@@ -391,6 +391,8 @@
+--- a/extern.h
++++ b/extern.h
+@@ -389,6 +389,8 @@
#else
extern int xsnprintf __P(());
#endif
@@ -83,10 +76,9 @@ diff -Naur screen-4.0.3.orig/extern.h screen-4.0.3/extern.h
/* acl.c */
-diff -Naur screen-4.0.3.orig/misc.c screen-4.0.3/misc.c
---- screen-4.0.3.orig/misc.c 2008-06-01 23:39:49.000000000 +0200
-+++ screen-4.0.3/misc.c 2008-06-01 23:45:02.000000000 +0200
-@@ -24,6 +24,7 @@
+--- a/misc.c
++++ b/misc.c
+@@ -29,6 +29,7 @@
#include <sys/types.h>
#include <sys/stat.h> /* mkdir() declaration */
#include <signal.h>
@@ -94,7 +86,7 @@ diff -Naur screen-4.0.3.orig/misc.c screen-4.0.3/misc.c
#include "config.h"
#include "screen.h"
-@@ -796,3 +797,40 @@
+@@ -769,3 +770,40 @@
}
#endif
@@ -135,10 +127,9 @@ diff -Naur screen-4.0.3.orig/misc.c screen-4.0.3/misc.c
+ close(fd);
+ return atol(uptimestr);
+}
-diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
---- screen-4.0.3.orig/socket.c 2008-06-01 23:41:50.000000000 +0200
-+++ screen-4.0.3/socket.c 2008-06-01 23:45:02.000000000 +0200
-@@ -116,16 +116,18 @@
+--- a/socket.c
++++ b/socket.c
+@@ -125,16 +125,18 @@
int sdirlen;
int matchlen = 0;
char *name, *n;
@@ -160,15 +151,15 @@ diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
if (match)
{
-@@ -151,7 +153,6 @@
+@@ -161,7 +163,6 @@
Panic(errno, "Cannot opendir %s", SockPath);
slist = 0;
- slisttail = &slist;
while ((dp = readdir(dirp)))
{
- name = dp->d_name;
-@@ -162,7 +163,7 @@
+ int cmatch = 0;
+@@ -173,7 +174,7 @@
{
n = name;
/* if we don't want to match digits. Skip them */
@@ -177,7 +168,7 @@ diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
{
while (*n >= '0' && *n <= '9')
n++;
-@@ -227,12 +228,24 @@
+@@ -252,12 +253,24 @@
debug(" store it.\n");
if ((sent = (struct sent *)malloc(sizeof(struct sent))) == 0)
continue;
@@ -204,7 +195,7 @@ diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
sockfd = MakeClientSocket(0);
#ifdef USE_SETEUID
/* MakeClientSocket sets ids back to eff */
-@@ -291,26 +304,16 @@
+@@ -316,6 +329,7 @@
(!dflag && !rflag && !xflag))
{
close(sockfd);
@@ -212,7 +203,7 @@ diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
debug(" no!\n");
npriv++; /* a good socket that was not for us */
continue;
- }
+@@ -323,19 +337,8 @@
ngood++;
if (cmatch)
nperfect++;
@@ -234,7 +225,7 @@ diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
}
(void)closedir(dirp);
if (!lsflag && nperfect == 1)
-@@ -325,34 +330,42 @@
+@@ -356,34 +359,42 @@
}
for (sent = slist; sent; sent = sent->next)
{
@@ -285,7 +276,7 @@ diff -Naur screen-4.0.3.orig/socket.c screen-4.0.3/socket.c
break;
}
}
-@@ -365,13 +378,37 @@
+@@ -396,13 +407,37 @@
else
Msg(0, m, ndead > 1 ? "s" : "", ndead > 1 ? "" : "es"); /* other args for nethack */
}
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..0987121
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,17 @@
+01configure_fix_alpha_vsprintf.patch
+02screen-cc.patch
+03screen-ipv6.patch
+05fix_osdef_include.patch
+10norootpassword.patch
+11replace_doc_paths.patch
+12kfreebsd_ctty.patch
+13split_info_files.patch
+14size_matters.patch
+16fix_gcc_warnings.patch
+22exchange_file_mode.patch
+23exitcode_q_ls.patch
+24option_parser.patch
+26source_encoding.patch
+32misc_minor_fixes.patch
+45suppress_remap.patch
+51EXP_session_creation_time.patch
diff --git a/debian/rules b/debian/rules
index 5955a03..675f93a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,8 +7,6 @@
# Uncomment me to turn on debugging
#export DH_VERBOSE=1
-include /usr/share/dpatch/dpatch.make
-
package := screen
ROOT := $(CURDIR)/debian/$(package)
# statically define this... sucko
@@ -20,7 +18,7 @@ else
CC_OPTFLAGS := -O2 -g
endif
-clean: unpatch
+clean:
dh_testdir
dh_testroot
rm -f configure-stamp build-stamp install-stamp
@@ -31,7 +29,7 @@ clean: unpatch
dh_clean
configure: configure-stamp
-configure-stamp: patch-stamp
+configure-stamp:
dh_testdir
dh_autoreconf
./configure --prefix=/usr \
@@ -101,4 +99,4 @@ binary-arch: install
dh_md5sums
dh_builddeb
-.PHONY: patch configure build clean binary-indep binary-arch binary install
+.PHONY: configure build clean binary-indep binary-arch binary install
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)