Blame SOURCES/screen-fix-term.patch

d4093c
diff --git a/src/acls.c b/src/acls.c
d4093c
index 3f40541..e5a32a4 100644
d4093c
--- a/src/acls.c
d4093c
+++ b/src/acls.c
d4093c
@@ -182,7 +182,7 @@ struct acluser **up;
d4093c
 #endif
d4093c
   (*up)->u_Esc = DefaultEsc;
d4093c
   (*up)->u_MetaEsc = DefaultMetaEsc;
d4093c
-  strncpy((*up)->u_name, name, 20);
d4093c
+  strncpy((*up)->u_name, name, MAXLOGINLEN);
d4093c
   (*up)->u_password = NULL;
d4093c
   if (pass)
d4093c
     (*up)->u_password = SaveStr(pass);
d4093c
@@ -318,8 +318,8 @@ struct acluser **up;
d4093c
     return UserAdd(name, pass, up);
d4093c
   if (!strcmp(name, "nobody"))		/* he remains without password */
d4093c
     return -1;
d4093c
-  strncpy((*up)->u_password, pass ? pass : "", 20);
d4093c
-  (*up)->u_password[20] = '\0';
d4093c
+  strncpy((*up)->u_password, pass ? pass : "", MAXLOGINLEN);
d4093c
+  (*up)->u_password[MAXLOGINLEN] = '\0';
d4093c
   return 0;
d4093c
 }
d4093c
 #endif
d4093c
diff --git a/src/acls.h b/src/acls.h
d4093c
index 907e953..42c7c18 100644
d4093c
--- a/src/acls.h
d4093c
+++ b/src/acls.h
d4093c
@@ -78,7 +78,7 @@ struct plop
d4093c
 typedef struct acluser
d4093c
 {
d4093c
   struct acluser *u_next;		/* continue the main user list */
d4093c
-  char u_name[20+1];		/* login name how he showed up */
d4093c
+  char u_name[MAXLOGINLEN + 1];		/* login name how he showed up */
d4093c
   char *u_password;		/* his password (may be NullStr). */
d4093c
   int  u_checkpassword;		/* nonzero if this u_password is valid */
d4093c
   int  u_detachwin;		/* the window where he last detached */
d4093c
diff --git a/src/comm.c b/src/comm.c
d4093c
index 5f4af8a..7705fcb 100644
d4093c
--- a/src/comm.c
d4093c
+++ b/src/comm.c
d4093c
@@ -36,6 +36,7 @@
d4093c
  */
d4093c
 
d4093c
 #include "config.h"
d4093c
+#include "os.h"
d4093c
 #include "acls.h"
d4093c
 #include "comm.h"
d4093c
 
d4093c
diff --git a/src/display.h b/src/display.h
d4093c
index b1ab748..a433e6d 100644
d4093c
--- a/src/display.h
d4093c
+++ b/src/display.h
d4093c
@@ -73,7 +73,7 @@ struct display
d4093c
   struct win *d_other;		/* pointer to other window */
d4093c
   int   d_nonblock;		/* -1 don't block if obufmax reached */
d4093c
 				/* >0: block after nonblock secs */
d4093c
-  char  d_termname[40 + 1];	/* $TERM */
d4093c
+  char  d_termname[MAXTERMLEN + 1];	/* $TERM */
d4093c
   char	*d_tentry;		/* buffer for tgetstr */
d4093c
   char	d_tcinited;		/* termcap inited flag */
d4093c
   int	d_width, d_height;	/* width/height of the screen */
d4093c
diff --git a/src/os.h b/src/os.h
d4093c
index 5c17c83..bc71c97 100644
d4093c
--- a/src/os.h
d4093c
+++ b/src/os.h
d4093c
@@ -521,3 +521,8 @@ typedef struct fd_set { int fds_bits[1]; } fd_set;
d4093c
  */
d4093c
 #define IOSIZE		4096
d4093c
 
d4093c
+/* Changing those you won't be able to attach to your old sessions
d4093c
+ * when changing those values in official tree don't forget to bump
d4093c
+ * MSG_VERSION */
d4093c
+#define MAXTERMLEN  50
d4093c
+#define MAXLOGINLEN 256
d4093c
diff --git a/src/process.c b/src/process.c
d4093c
index 7817ac8..a3c2e3d 100644
d4093c
--- a/src/process.c
d4093c
+++ b/src/process.c
d4093c
@@ -2649,9 +2649,9 @@ int key;
d4093c
       s = NULL;
d4093c
       if (ParseSaveStr(act, &s))
d4093c
 	break;
d4093c
-      if (strlen(s) >= 20)
d4093c
+      if (strlen(s) >= MAXTERMLEN)
d4093c
 	{
d4093c
-	  OutputMsg(0, "%s: term: argument too long ( < 20)", rc_name);
d4093c
+     OutputMsg(0, "%s: term: argument too long ( < %d)", rc_name, MAXTERMLEN);
d4093c
 	  free(s);
d4093c
 	  break;
d4093c
 	}
d4093c
diff --git a/src/screen.c b/src/screen.c
d4093c
index cd0c71b..7a21762 100644
d4093c
--- a/src/screen.c
d4093c
+++ b/src/screen.c
d4093c
@@ -995,10 +995,10 @@ char **av;
d4093c
 
d4093c
   if (home == 0 || *home == '\0')
d4093c
     home = ppp->pw_dir;
d4093c
-  if (strlen(LoginName) > 20)
d4093c
+  if (strlen(LoginName) > MAXLOGINLEN)
d4093c
     Panic(0, "LoginName too long - sorry.");
d4093c
 #ifdef MULTIUSER
d4093c
-  if (multi && strlen(multi) > 20)
d4093c
+  if (multi && strlen(multi) > MAXLOGINLEN)
d4093c
     Panic(0, "Screen owner name too long - sorry.");
d4093c
 #endif
d4093c
   if (strlen(home) > MAXPATHLEN - 25)
d4093c
diff --git a/src/screen.h b/src/screen.h
d4093c
index 1a388e3..30ecefb 100644
d4093c
--- a/src/screen.h
d4093c
+++ b/src/screen.h
d4093c
@@ -202,32 +202,32 @@ struct msg
d4093c
 	  int nargs;
d4093c
 	  char line[MAXPATHLEN];
d4093c
 	  char dir[MAXPATHLEN];
d4093c
-	  char screenterm[20];	/* is screen really "screen" ? */
d4093c
+     char screenterm[MAXTERMLEN];	/* is screen really "screen" ? */
d4093c
 	}
d4093c
       create;
d4093c
       struct
d4093c
 	{
d4093c
-	  char auser[20 + 1];	/* username */
d4093c
+     char auser[MAXLOGINLEN + 1];	/* username */
d4093c
 	  int apid;		/* pid of frontend */
d4093c
 	  int adaptflag;	/* adapt window size? */
d4093c
 	  int lines, columns;	/* display size */
d4093c
 	  char preselect[20];
d4093c
 	  int esc;		/* his new escape character unless -1 */
d4093c
 	  int meta_esc;		/* his new meta esc character unless -1 */
d4093c
-	  char envterm[40 + 1];	/* terminal type */
d4093c
+     char envterm[MAXTERMLEN + 1];	/* terminal type */
d4093c
 	  int encoding;		/* encoding of display */
d4093c
 	  int detachfirst;      /* whether to detach remote sessions first */
d4093c
 	}
d4093c
       attach;
d4093c
       struct 
d4093c
 	{
d4093c
-	  char duser[20 + 1];	/* username */
d4093c
+     char duser[MAXLOGINLEN + 1];	/* username */
d4093c
 	  int dpid;		/* pid of frontend */
d4093c
 	}
d4093c
       detach;
d4093c
       struct 
d4093c
 	{
d4093c
-	  char auser[20 + 1];	/* username */
d4093c
+     char auser[MAXLOGINLEN + 1];	/* username */
d4093c
 	  int nargs;
d4093c
 	  char cmd[MAXPATHLEN];	/* command */
d4093c
 	  int apid;		/* pid of frontend */
d4093c
diff --git a/src/socket.c b/src/socket.c
d4093c
index 1f04284..32c5047 100644
d4093c
--- a/src/socket.c
d4093c
+++ b/src/socket.c
d4093c
@@ -1528,7 +1528,7 @@ static void PasswordProcessInput __P((char *, int));
d4093c
 
d4093c
 struct pwdata {
d4093c
   int l;
d4093c
-  char buf[20 + 1];
d4093c
+  char buf[MAXLOGINLEN + 1];
d4093c
   struct msg m;
d4093c
 };
d4093c