]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r2388: fix client quota support
authorStefan Metzmacher <metze@samba.org>
Fri, 17 Sep 2004 15:09:20 +0000 (15:09 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:52:42 +0000 (10:52 -0500)
for the client we need the windows path and for server we need unix path

metze

source/include/fake_file.h
source/libsmb/cliquota.c
source/smbd/fake_file.c
source/utils/smbcquotas.c

index cfcd16f683009fb2f2aea934b6a6e8ed457d924f..63ba41d7860753026b7681c998f327160bf89d0c 100644 (file)
@@ -28,9 +28,9 @@ enum FAKE_FILE_TYPE {
 
 /*
 we now get the unix name --metze
-#define FAKE_FILE_NAME_QUOTA   "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"
 */
-#define FAKE_FILE_NAME_QUOTA   "$Extend/$Quota:$Q:$INDEX_ALLOCATION"
+#define FAKE_FILE_NAME_QUOTA_WIN32     "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"
+#define FAKE_FILE_NAME_QUOTA_UNIX      "$Extend/$Quota:$Q:$INDEX_ALLOCATION"
 
 typedef struct _FAKE_FILE_HANDLE {
        enum FAKE_FILE_TYPE type;
index ed808aa1f5c480e8e62307d83d704335f8a02a94..af8b4422b78f8ceec5ffffe35c073b8c42c60580 100644 (file)
 
 BOOL cli_get_quota_handle(struct cli_state *cli, int *quota_fnum)
 {
-       *quota_fnum = cli_nt_create_full(cli, FAKE_FILE_NAME_QUOTA,
+       *quota_fnum = cli_nt_create_full(cli, FAKE_FILE_NAME_QUOTA_WIN32,
                 0x00000016, DESIRED_ACCESS_PIPE,
                 0x00000000, FILE_SHARE_READ|FILE_SHARE_WRITE,
                 FILE_OPEN, 0x00000000, 0x03);
                 
        if (*quota_fnum == (-1)) {
-               return False;   
+               return False;
        }
 
        return True;
index d3660addf1153f0ccda044650f895338d052dd5a..fc874dc0867fde27af748f7a3fcebed9e81802ba 100644 (file)
@@ -95,9 +95,9 @@ files_struct *open_fake_file_shared1(enum FAKE_FILE_TYPE fake_file_type, connect
 
 static FAKE_FILE fake_files[] = {
 #ifdef WITH_QUOTAS
-       {FAKE_FILE_NAME_QUOTA,  FAKE_FILE_TYPE_QUOTA,   init_quota_handle,      destroy_quota_handle},
+       {FAKE_FILE_NAME_QUOTA_UNIX,     FAKE_FILE_TYPE_QUOTA,   init_quota_handle,      destroy_quota_handle},
 #endif /* WITH_QUOTAS */
-       {NULL,                  FAKE_FILE_TYPE_NONE,    NULL,                   NULL }
+       {NULL,                          FAKE_FILE_TYPE_NONE,    NULL,                   NULL }
 };
 
 int is_fake_file(char *fname)
@@ -156,7 +156,7 @@ struct _FAKE_FILE_HANDLE *init_fake_file_handle(enum FAKE_FILE_TYPE type)
 void destroy_fake_file_handle(FAKE_FILE_HANDLE **fh)
 {
        if (!fh||!(*fh))
-               return ;
+               return;
 
        if ((*fh)->free_pd)
                (*fh)->free_pd(&(*fh)->pd);             
index 98d214706ad6acd9775280f56845c59682083271..81f7dd42bbc2c56f014d32577c090693d00c825e 100644 (file)
@@ -236,8 +236,9 @@ static int do_quota(struct cli_state *cli, enum SMB_QUOTA_TYPE qtype, uint16 cmd
        }
 
        if (!cli_get_quota_handle(cli, &quota_fnum)) {
-               d_printf("Failed to open \\%s  %s.\n",
-                       FAKE_FILE_NAME_QUOTA,cli_errstr(cli));
+               d_printf("Quotas are not enabled on this share.\n");
+               d_printf("Failed to open %s  %s.\n",
+                       FAKE_FILE_NAME_QUOTA_WIN32,cli_errstr(cli));
                return -1;
        }