Hello community,

here is the log from the commit of package screen for openSUSE:Factory checked 
in at 2017-02-08 12:11:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/screen (Old)
 and      /work/SRC/openSUSE:Factory/.screen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "screen"

Changes:
--------
--- /work/SRC/openSUSE:Factory/screen/screen.changes    2016-08-25 
09:49:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.screen.new/screen.changes       2017-02-08 
12:11:23.196771957 +0100
@@ -1,0 +2,22 @@
+Fri Jan 27 22:32:17 UTC 2017 - [email protected]
+
+- Add fix_enable_logfile.patch
+  * fix loging screen API (bnc#1020870) 
+  * fix privilege escalation
+
+-------------------------------------------------------------------
+Thu Jan 17 23:11:38 UTC 2017 - [email protected]
+
+- GNU Screen 4.5.0:
+ * It's possible to specify logfile's name via command line
+   parameter '-L'. 
+
+ Fixes:
+ * broken handling of "bind u digraph U+"
+ * crash with long $TERM
+ * crash when bumping blank window
+ * build for AIX
+ * %x improperly separating arguments
+ * install with custom DESTDIR
+
+-------------------------------------------------------------------

Old:
----
  screen-4.4.0.tar.gz
  screen-4.4.0.tar.gz.sig

New:
----
  fix_enable_logfile.patch
  screen-4.5.0.tar.gz
  screen-4.5.0.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ screen.spec ++++++
--- /var/tmp/diff_new_pack.dtOblN/_old  2017-02-08 12:11:23.704700359 +0100
+++ /var/tmp/diff_new_pack.dtOblN/_new  2017-02-08 12:11:23.704700359 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package screen
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -39,7 +39,7 @@
 BuildRequires:  pam-devel
 PreReq:         %install_info_prereq
 PreReq:         coreutils
-Version:        4.4.0
+Version:        4.5.0
 Release:        0
 Summary:        A program to allow multiple screens on a VT100/ANSI Terminal
 License:        GPL-3.0+
@@ -49,6 +49,7 @@
 Source2:        http://ftp.gnu.org/gnu/screen/%{name}-%{version}.tar.gz.sig
 Source3:        
https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=screen&download=1#/%{name}.keyring
 Patch0:         global_screenrc.patch
+Patch1:         fix_enable_logfile.patch
 Patch6:         libtinfo.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -63,6 +64,8 @@
 %setup
 # global_screenrc.patch
 %patch0
+# PATCH-FEATURE-UPSTREAM fix_enable_logfile.patch
+%patch1
 # libtinfo.diff
 %patch6
 

++++++ fix_enable_logfile.patch ++++++
From: Alexander Naumov <[email protected]>
Date: Thu, 26 Jan 2017 23:44:43 +0100
Subject: [PATCH] Adding "-L logfile" option for setting new logfile's name
References: bnc#1020870

Now it's possible to set your own lofile name with
this option ONLY. It fixes API of old versions.

Signed-off-by: Alexander Naumov <[email protected]>
---
diff --git a/src/doc/screen.1 b/src/doc/screen.1
index 23b4d7b..5b14d91 100644
--- doc/screen.1
+++ doc/screen.1
@@ -261,9 +261,12 @@ Ask your system administrator if you are not sure. Remove 
sessions with the
 .B \-L
 tells
 .I screen
-to turn on automatic output logging for the windows. By default, logfile's name
-is screenlog.1. You can sets new name: add it right after -L option e.g. 
"screen
--L my_logfile".
+to turn on automatic output logging for the windows.
+.TP 5
+.BI "\-L logfile " file
+By default logfile name is \*Qscreenlog.0\*Q. You can also set new logfile name
+with the \*Qlogfile\*Q option. Keep in mind that logfile name can not start 
with
+the "-" symbol.
 .TP 5
 .B \-m
 causes
diff --git a/src/screen.c b/src/screen.c
index 64650e9..9e1072a 100644
--- screen.c
+++ screen.c
@@ -302,7 +302,7 @@ struct passwd *ppp;
 pw_try_again:
 #endif
   n = 0;
-  if (ppp->pw_passwd[0] == '#' && ppp->pw_passwd[1] == '#' & 
strcmp(ppp->pw_passwd + 2, ppp->pw_name) == 0)
+  if (ppp->pw_passwd[0] == '#' && ppp->pw_passwd[1] == '#' && 
strcmp(ppp->pw_passwd + 2, ppp->pw_name) == 0)
     n = 13;
   for (; n < 13; n++) {
     char c = ppp->pw_passwd[n];
@@ -667,18 +667,16 @@ int main(int ac, char** av)
             break;
 
           case 'L':
-            if (--ac != 0) {
-              screenlogfile = SaveStr(*++av);
-              if (screenlogfile[0] == '-')
+            if (--ac > 0 && !strcmp(*++av, "logfile")) {
+              *++av; // Now '*av' is a logfile parameter
+
+              if (strlen(*av) > PATH_MAX)
+                Panic(1, "-L: logfile name too long. (max. %d char)", 
PATH_MAX);
+
+              if (*av[0] == '-')
                 Panic(0, "-L: logfile name can not start with \"-\" symbol");
-              if (strlen(screenlogfile) > PATH_MAX)
-                Panic(0, "-L: logfile name too long. (max. %d char)", 
PATH_MAX);
-
-              FILE *w_check;
-              if ((w_check = fopen(screenlogfile, "w")) == NULL)
-                Panic(0, "-L: logfile name access problem");
-              else
-                fclose(w_check);
+
+              screenlogfile = SaveStr(*av);
             }
             nwin_options.Lflag = 1;
             break;

++++++ screen-4.4.0.tar.gz -> screen-4.5.0.tar.gz ++++++
++++ 26582 lines of diff (skipped)

++++++ screen.keyring ++++++
Binary files /var/tmp/diff_new_pack.dtOblN/_old and 
/var/tmp/diff_new_pack.dtOblN/_new differ


Reply via email to