The id ordering and case of u,g is also consistent with uidmapshift,
reducing confusion.

doc: Moved example to the the EXAMPLES section, and used values
corresponding to the defaults in the pending shadow-utils subuid patch.

Signed-off-by: Dwight Engen <dwight.en...@oracle.com>
---
 doc/lxc.conf.sgml.in | 30 ++++++++++++++++--------------
 src/lxc/conf.c       |  4 ++--
 src/lxc/confile.c    |  8 ++++----
 3 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/doc/lxc.conf.sgml.in b/doc/lxc.conf.sgml.in
index ae91221..60e7baa 100644
--- a/doc/lxc.conf.sgml.in
+++ b/doc/lxc.conf.sgml.in
@@ -709,21 +709,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
02111-1307 USA
          <listitem>
            <para>
              Four values must be provided.  First a character, either
-             'U', or 'G', to specify whether user or group ids are
-             being mapped.  Next is the first userid as seen on the
-             host.  Next is the userid to be mapped in the container.
-             Finally, a range indicating the number of consecutive
-             ids to map.  For instance
+             'u', or 'g', to specify whether user or group ids are
+             being mapped.  Next is the first userid as seen in the
+             user namespace of the container.  Next is the userid as
+             seen on the host.  Finally, a range indicating the number
+             of consecutive ids to map.
             </para>
-<programlisting>
-       lxc.id_map = U 200000 0 20000
-       lxc.id_map = G 200000 0 20000
-</programlisting>
-           <para>
-             will map both user and group ids in the
-             range 0-19999 in the container to the ids
-             200000-219999 on the host.
-           </para>
          </listitem>
        </varlistentry>
       </variablelist>
@@ -953,6 +944,17 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
02111-1307 USA
     </refsect2>
 
     <refsect2>
+      <title>UID/GID mapping</title>
+      <para>This configuration will map both user and group ids in the
+        range 0-9999 in the container to the ids 100000-109999 on the host.
+      </para>
+      <programlisting>
+       lxc.id_map = u 0 100000 10000
+       lxc.id_map = g 0 100000 10000
+      </programlisting>
+    </refsect2>
+
+    <refsect2>
       <title>Control group</title>
       <para>This configuration will setup several control groups for
       the application, cpuset.cpus restricts usage of the defined cpu,
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 97b4ae4..e2abc72 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -2447,7 +2447,7 @@ int lxc_assign_network(struct lxc_list *network, pid_t 
pid)
        return 0;
 }
 
-int add_id_mapping(enum idtype idtype, pid_t pid, uid_t host_start, uid_t 
ns_start, int range)
+static int add_id_mapping(enum idtype idtype, pid_t pid, uid_t ns_start, uid_t 
host_start, int range)
 {
        char path[PATH_MAX];
        int ret, closeret;
@@ -2480,7 +2480,7 @@ int lxc_map_ids(struct lxc_list *idmap, pid_t pid)
 
        lxc_list_for_each(iterator, idmap) {
                map = iterator->elem;
-               ret = add_id_mapping(map->idtype, pid, map->hostid, map->nsid, 
map->range);
+               ret = add_id_mapping(map->idtype, pid, map->nsid, map->hostid, 
map->range);
                if (ret)
                        break;
        }
diff --git a/src/lxc/confile.c b/src/lxc/confile.c
index d350f01..59cedef 100644
--- a/src/lxc/confile.c
+++ b/src/lxc/confile.c
@@ -1049,13 +1049,13 @@ static int config_idmap(const char *key, const char 
*value, struct lxc_conf *lxc
 
        lxc_list_add_tail(&lxc_conf->id_map, idmaplist);
 
-       ret = sscanf(value, "%c %d %d %d", &type, &hostid, &nsid, &range);
+       ret = sscanf(value, "%c %d %d %d", &type, &nsid, &hostid, &range);
        if (ret != 4)
                goto out;
-       INFO("read uid map: type %c hostid %d nsid %d range %d", type, hostid, 
nsid, range);
-       if (type == 'U')
+       INFO("read uid map: type %c nsid %d hostid %d range %d", type, nsid, 
hostid, range);
+       if (type == 'u')
                idmap->idtype = ID_TYPE_UID;
-       else if (type == 'G')
+       else if (type == 'g')
                idmap->idtype = ID_TYPE_GID;
        else
                goto out;
-- 
1.7.12.3


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to