summaryrefslogtreecommitdiff
path: root/source3/smbwrapper/smbw_dir.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2001-04-12 05:53:07 +0000
committerTim Potter <tpot@samba.org>2001-04-12 05:53:07 +0000
commit3e24c65101a7ec9c80892f9bc70c6e11a936385b (patch)
tree726cf5bb90f694017101350e3dc9e4a9dec274e8 /source3/smbwrapper/smbw_dir.c
parente5691d44a8e4551abe6290b8994f6fc8568e5759 (diff)
downloadsamba-3e24c65101a7ec9c80892f9bc70c6e11a936385b.tar.gz
samba-3e24c65101a7ec9c80892f9bc70c6e11a936385b.tar.bz2
samba-3e24c65101a7ec9c80892f9bc70c6e11a936385b.zip
Added a caching system to smbsh. Previously access to workgroup or server
directories under /smb generated net share enum or net server enum calls. For large networks this could result in bad performance. We now cache these results and only call net * enums after the cache timeout has exceeded. (This used to be commit 1e38eef54d729aeb7fe905b344cf1480c686a348)
Diffstat (limited to 'source3/smbwrapper/smbw_dir.c')
-rw-r--r--source3/smbwrapper/smbw_dir.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/source3/smbwrapper/smbw_dir.c b/source3/smbwrapper/smbw_dir.c
index d94ea6ec87..4f6c18eb7f 100644
--- a/source3/smbwrapper/smbw_dir.c
+++ b/source3/smbwrapper/smbw_dir.c
@@ -72,7 +72,6 @@ static void free_dir(struct smbw_dir *dir)
free(dir);
}
-
static struct smbw_dir *cur_dir;
/*****************************************************
@@ -102,7 +101,7 @@ static void smbw_dir_add(struct file_info *finfo, const char *mask,
add a entry to a directory listing
*******************************************************/
static void smbw_share_add(const char *share, uint32 type,
- const char *comment, void *state)
+ const char *comment, void *state)
{
struct file_info finfo;
@@ -205,22 +204,22 @@ int smbw_dir_open(const char *fname)
*p = 0;
smbw_server_add(".",0,"", NULL);
smbw_server_add("..",0,"", NULL);
- cli_NetServerEnum(&srv->cli, srv->server_name, SV_TYPE_DOMAIN_ENUM,
- smbw_server_add, NULL);
+ smbw_NetServerEnum(&srv->cli, srv->server_name,
+ SV_TYPE_DOMAIN_ENUM, smbw_server_add, NULL);
*p = '#';
} else if ((p=strstr(srv->server_name,"#1D"))) {
DEBUG(4,("doing NetServerEnum\n"));
*p = 0;
smbw_server_add(".",0,"", NULL);
smbw_server_add("..",0,"", NULL);
- cli_NetServerEnum(&srv->cli, srv->server_name, SV_TYPE_ALL,
- smbw_server_add, NULL);
+ smbw_NetServerEnum(&srv->cli, srv->server_name, SV_TYPE_ALL,
+ smbw_server_add, NULL);
*p = '#';
} else if (strcmp(srv->cli.dev,"IPC") == 0) {
DEBUG(4,("doing NetShareEnum\n"));
smbw_share_add(".",0,"", NULL);
smbw_share_add("..",0,"", NULL);
- if (cli_RNetShareEnum(&srv->cli, smbw_share_add, NULL) < 0) {
+ if (smbw_RNetShareEnum(&srv->cli, smbw_share_add, NULL) < 0) {
errno = smbw_errno(&srv->cli);
goto failed;
}