2013-09-19 06:09:33 +02:00
|
|
|
# use same lines naming as utempter (prevents problems with using different
|
|
|
|
# formats in ?tmp? files)
|
|
|
|
|
2014-02-14 15:54:10 +01:00
|
|
|
diff --git a/openssh-6.5p1/loginrec.c b/openssh-6.5p1/loginrec.c
|
|
|
|
--- a/openssh-6.5p1/loginrec.c
|
|
|
|
+++ b/openssh-6.5p1/loginrec.c
|
|
|
|
@@ -538,17 +538,17 @@ getlast_entry(struct logininfo *li)
|
2013-09-19 06:09:33 +02:00
|
|
|
/*
|
|
|
|
* 'line' string utility functions
|
|
|
|
*
|
|
|
|
* These functions process the 'line' string into one of three forms:
|
|
|
|
*
|
|
|
|
* 1. The full filename (including '/dev')
|
|
|
|
* 2. The stripped name (excluding '/dev')
|
|
|
|
* 3. The abbreviated name (e.g. /dev/ttyp00 -> yp00
|
|
|
|
- * /dev/pts/1 -> ts/1 )
|
|
|
|
+ * /dev/pts/1 -> /1 )
|
|
|
|
*
|
|
|
|
* Form 3 is used on some systems to identify a .tmp.? entry when
|
|
|
|
* attempting to remove it. Typically both addition and removal is
|
|
|
|
* performed by one application - say, sshd - so as long as the choice
|
|
|
|
* uniquely identifies a terminal it's ok.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2014-02-14 15:54:10 +01:00
|
|
|
@@ -599,16 +599,20 @@ line_abbrevname(char *dst, const char *s
|
2013-09-19 06:09:33 +02:00
|
|
|
/* Always skip prefix if present */
|
|
|
|
if (strncmp(src, "/dev/", 5) == 0)
|
|
|
|
src += 5;
|
|
|
|
|
|
|
|
#ifdef WITH_ABBREV_NO_TTY
|
|
|
|
if (strncmp(src, "tty", 3) == 0)
|
|
|
|
src += 3;
|
|
|
|
#endif
|
|
|
|
+ if (strncmp(src, "pts/", 4) == 0) {
|
|
|
|
+ src += 3;
|
|
|
|
+ if (strlen(src) > 4) src++;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
len = strlen(src);
|
|
|
|
|
|
|
|
if (len > 0) {
|
|
|
|
if (((int)len - dstsize) > 0)
|
|
|
|
src += ((int)len - dstsize);
|
|
|
|
|
|
|
|
/* note: _don't_ change this to strlcpy */
|