|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
From e17ff7ab5115b80f0d2bd4989cd31889bd54fbb1 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
From: Lennart Poettering <lennart@poettering.net>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Date: Wed, 9 Jul 2014 19:20:58 +0200
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Subject: [PATCH] sysusers: don't allow user names longer than UT_NAMESIZE
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
MIME-Version: 1.0
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Content-Type: text/plain; charset=UTF-8
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Content-Transfer-Encoding: 8bit
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
As pointed out by Miloslav Trmač it might be a good idea to make sure
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
that usernames stay with in the utmp-defined limits.
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
(cherry picked from commit 932ad62b84165b0acf690ea34c4b8083657ae244)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
man/sysusers.d.xml | 2 +-
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
src/sysusers/sysusers.c | 4 ++++
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
2 files changed, 5 insertions(+), 1 deletion(-)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
diff --git a/man/sysusers.d.xml b/man/sysusers.d.xml
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
index 549b3f6351..40f8715bc0 100644
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
--- a/man/sysusers.d.xml
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+++ b/man/sysusers.d.xml
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
@@ -142,7 +142,7 @@ m authd input</programlisting>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
<title>Name</title>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
<para>The name field specifies the user or
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
- group name. It should be be shorter than 256
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ group name. It should be be shorter than 31
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
characters and avoid any non-ASCII characters,
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
and not begin with a numeric character. It is
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
strongly recommended to pick user and group
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
index c0af69300a..f3ba8cf7b3 100644
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
--- a/src/sysusers/sysusers.c
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+++ b/src/sysusers/sysusers.c
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
@@ -24,6 +24,7 @@
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
#include <grp.h>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
#include <shadow.h>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
#include <getopt.h>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+#include <utmp.h>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
#include "util.h"
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
#include "hashmap.h"
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
@@ -1095,6 +1096,9 @@ static bool valid_user_group_name(const char *u) {
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
if ((size_t) (i-u) > (size_t) sz)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
return false;
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ if ((size_t) (i-u) > UT_NAMESIZE - 1)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ return false;
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
return true;
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|