On Tue, Aug 9, 2011 at 12:34 PM, <shirishpargaonkar@xxxxxxxxx> wrote: > From: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> > > > Add functions to map a uid and gid to a SID. These functions are > similar to SID to uid and gid mapping functions. > A SID is what is returned to the cifs module. > > > Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> > --- > cifs.idmap.c | 37 +++++++++++++++++++++++++++++++++++++ > 1 files changed, 37 insertions(+), 0 deletions(-) > > diff --git a/cifs.idmap.c b/cifs.idmap.c > index 56edb58..80802d7 100644 > --- a/cifs.idmap.c > +++ b/cifs.idmap.c > @@ -134,6 +134,43 @@ cifs_idmap(const key_serial_t key, const char *key_descr) > goto cifs_idmap_ret; > } > > + sidstr = strget(key_descr, "oi:"); > + if (sidstr) { > + uid = atoi(sidstr); > + syslog(LOG_DEBUG, "SID: %s, uid: %d", sidstr, uid); > + rc = wbcUidToSid(uid, &sid); > + if (rc) > + syslog(LOG_DEBUG, "uid %d to SID error: %d", uid, rc); > + if (!rc) { /* SID has been mapped to a uid */ > + rc = keyctl_instantiate(key, &sid, > + sizeof(struct wbcDomainSid), 0); > + if (rc) > + syslog(LOG_ERR, "%s: key inst: %s", > + __func__, strerror(errno)); > + } > + > + goto cifs_idmap_ret; > + } > + > + sidstr = strget(key_descr, "gi:"); > + if (sidstr) { > + gid = atoi(sidstr); > + syslog(LOG_DEBUG, "SID: %s, gid: %d", sidstr, gid); > + rc = wbcGidToSid(gid, &sid); > + if (rc) > + syslog(LOG_DEBUG, "gid %d to SID error: %d", gid, rc); > + if (!rc) { /* SID has been mapped to a gid */ > + rc = keyctl_instantiate(key, &sid, > + sizeof(struct wbcDomainSid), 0); > + if (rc) > + syslog(LOG_ERR, "%s: key inst: %s", > + __func__, strerror(errno)); > + } > + > + goto cifs_idmap_ret; > + } > + > + > syslog(LOG_DEBUG, "Invalid key: %s", key_descr); > > cifs_idmap_ret: > -- > 1.6.0.2 > > Hi Jeff, would you consider this patch for a possible merge? The corrosponding kernel code has been merged in 3.2. in Steve's git repository. Regards, Shirish -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html