Author: tridge
Date: 2004-10-03 07:31:32 +0000 (Sun, 03 Oct 2004)
New Revision: 2796

WebSVN: 
http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/ntvfs/unixuid&rev=2796&nolog=1

Log:
- changed ldap attributes "UnixID" to "unixID" and "UnixName" to "unixName" to be more 
ldap traditional

- register the unixuid module as all 3 ntvfs backend types, as it doesn't care what 
type of backend
  it filters



Modified:
   branches/SAMBA_4_0/source/ntvfs/unixuid/vfs_unixuid.c


Changeset:
Modified: branches/SAMBA_4_0/source/ntvfs/unixuid/vfs_unixuid.c
===================================================================
--- branches/SAMBA_4_0/source/ntvfs/unixuid/vfs_unixuid.c       2004-10-03 07:00:17 
UTC (rev 2795)
+++ branches/SAMBA_4_0/source/ntvfs/unixuid/vfs_unixuid.c       2004-10-03 07:31:32 
UTC (rev 2796)
@@ -35,7 +35,7 @@
                               struct smbsrv_request *req, struct dom_sid *sid, uid_t 
*uid)
 {
        struct unixuid_private *private = ntvfs->private_data;
-       const char *attrs[] = { "sAMAccountName", "UnixID", "UnixName", 
"sAMAccountType", NULL };
+       const char *attrs[] = { "sAMAccountName", "unixID", "unixName", 
"sAMAccountType", NULL };
        int ret;
        const char *s;
        void *ctx;
@@ -47,7 +47,7 @@
 
        ret = samdb_search(private->samctx, ctx, NULL, &res, attrs, "objectSid=%s", 
sidstr);
        if (ret != 1) {
-               DEBUG(2,("Unable to map sid %s to unix uid\n", sidstr));
+               DEBUG(0,("sid_to_unixuid: unable to find sam record for sid %s\n", 
sidstr));
                talloc_free(ctx);
                return NT_STATUS_ACCESS_DENIED;
        }
@@ -60,7 +60,7 @@
        }
 
        /* first try to get the uid directly */
-       s = samdb_result_string(res[0], "UnixID", NULL);
+       s = samdb_result_string(res[0], "unixID", NULL);
        if (s != NULL) {
                *uid = strtoul(s, NULL, 0);
                talloc_free(ctx);
@@ -68,11 +68,11 @@
        }
 
        /* next try via the UnixName attribute */
-       s = samdb_result_string(res[0], "UnixName", NULL);
+       s = samdb_result_string(res[0], "unixName", NULL);
        if (s != NULL) {
                struct passwd *pwd = getpwnam(s);
                if (!pwd) {
-                       DEBUG(0,("UnixName %s for sid %s does not exist as a local 
user\n", s, sidstr));
+                       DEBUG(0,("unixName %s for sid %s does not exist as a local 
user\n", s, sidstr));
                        talloc_free(ctx);
                        return NT_STATUS_ACCESS_DENIED;
                }
@@ -109,7 +109,7 @@
                               struct smbsrv_request *req, struct dom_sid *sid, gid_t 
*gid)
 {
        struct unixuid_private *private = ntvfs->private_data;
-       const char *attrs[] = { "sAMAccountName", "UnixID", "UnixName", 
"sAMAccountType", NULL };
+       const char *attrs[] = { "sAMAccountName", "unixID", "unixName", 
"sAMAccountType", NULL };
        int ret;
        const char *s;
        void *ctx;
@@ -121,7 +121,7 @@
 
        ret = samdb_search(private->samctx, ctx, NULL, &res, attrs, "objectSid=%s", 
sidstr);
        if (ret != 1) {
-               DEBUG(2,("Unable to map sid %s to unix gid\n", sidstr));
+               DEBUG(0,("sid_to_unixgid: unable to find sam record for sid %s\n", 
sidstr));
                talloc_free(ctx);
                return NT_STATUS_ACCESS_DENIED;
        }
@@ -134,7 +134,7 @@
        }
 
        /* first try to get the gid directly */
-       s = samdb_result_string(res[0], "UnixID", NULL);
+       s = samdb_result_string(res[0], "unixID", NULL);
        if (s != NULL) {
                *gid = strtoul(s, NULL, 0);
                talloc_free(ctx);
@@ -142,11 +142,11 @@
        }
 
        /* next try via the UnixName attribute */
-       s = samdb_result_string(res[0], "UnixName", NULL);
+       s = samdb_result_string(res[0], "unixName", NULL);
        if (s != NULL) {
                struct group *grp = getgrnam(s);
                if (!grp) {
-                       DEBUG(0,("UnixName '%s' for sid %s does not exist as a local 
group\n", s, sidstr));
+                       DEBUG(0,("unixName '%s' for sid %s does not exist as a local 
group\n", s, sidstr));
                        talloc_free(ctx);
                        return NT_STATUS_ACCESS_DENIED;
                }
@@ -708,10 +708,6 @@
 
        ZERO_STRUCT(ops);
 
-       /* fill in the name and type */
-       ops.name = "unixuid";
-       ops.type = NTVFS_DISK;
-       
        /* fill in all the operations */
        ops.connect = unixuid_connect;
        ops.disconnect = unixuid_disconnect;
@@ -742,12 +738,21 @@
        ops.trans = unixuid_trans;
        ops.logoff = unixuid_logoff;
 
-       /* register ourselves with the NTVFS subsystem. */
+       ops.name = "unixuid";
+
+       /* we register under all 3 backend types, as we are not type specific */
+       ops.type = NTVFS_DISK;  
        ret = register_backend("ntvfs", &ops);
+       if (!NT_STATUS_IS_OK(ret)) goto failed;
 
-       if (!NT_STATUS_IS_OK(ret)) {
-               DEBUG(0,("Failed to register unixuid backend!\n"));
-       }
+       ops.type = NTVFS_PRINT; 
+       ret = register_backend("ntvfs", &ops);
+       if (!NT_STATUS_IS_OK(ret)) goto failed;
+
+       ops.type = NTVFS_IPC;   
+       ret = register_backend("ntvfs", &ops);
+       if (!NT_STATUS_IS_OK(ret)) goto failed;
        
+failed:
        return ret;
 }

Reply via email to