[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Thu Feb 26 13:23:03 MST 2015
The branch, master has been updated
via 3ec0645 vfs_catia: Simplify init_mappings()
via f2f9acc smbd: Simplify ReadDirName
via 4cdbf81 smbd: ZERO_STRUCT -> struct init
via 6ed53d4 smbd: ZERO_STRUCT -> struct assignment
via 09c0092 smbd: ZERO_STRUCT -> struct assignment
via 9e810b2 smbd: ZERO_STRUCTP -> talloc_zero()
via 9455344 param: Remove lib/param/generic.c
via e4bded6 libsmb: Use tevent_req_poll_ntstatus
from 1237b00 lib: Simplify pidfile.c
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 3ec06454e106e83ae7e72412202b3efcd4e6285b
Author: Volker Lendecke <vl at samba.org>
Date: Tue Feb 24 14:03:11 2015 +0000
vfs_catia: Simplify init_mappings()
No else required after return
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Thu Feb 26 21:22:30 CET 2015 on sn-devel-104
commit f2f9acc113e7c1dd9bca0c4cba8e503d18286d13
Author: Volker Lendecke <vl at samba.org>
Date: Tue Feb 24 13:46:09 2015 +0000
smbd: Simplify ReadDirName
In the if-branches we return, so no "else" necessary
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 4cdbf81243c03834fc534ce264c18d743c22f727
Author: Volker Lendecke <vl at samba.org>
Date: Mon Feb 23 11:17:59 2015 +0000
smbd: ZERO_STRUCT -> struct init
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6ed53d4967465f57cafa0b465744b30eec40a34e
Author: Volker Lendecke <vl at samba.org>
Date: Mon Feb 23 11:08:30 2015 +0000
smbd: ZERO_STRUCT -> struct assignment
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 09c00923bafe1eb78ec45f33a5c3076dff44787a
Author: Volker Lendecke <vl at samba.org>
Date: Mon Feb 23 11:07:32 2015 +0000
smbd: ZERO_STRUCT -> struct assignment
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 9e810b2fbe27b26c1ae5859b08d3159882c0f5bb
Author: Volker Lendecke <vl at samba.org>
Date: Mon Feb 23 11:04:58 2015 +0000
smbd: ZERO_STRUCTP -> talloc_zero()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 9455344e6689533097cd7c689d84aa90a937c1e9
Author: Volker Lendecke <vl at samba.org>
Date: Fri Jan 2 11:46:28 2015 +0100
param: Remove lib/param/generic.c
This seems completely unused.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit e4bded6551864979804d8c1e14196fe8e12cee2e
Author: Volker Lendecke <vl at samba.org>
Date: Wed Feb 25 20:42:33 2015 +0000
libsmb: Use tevent_req_poll_ntstatus
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/param/generic.c | 276 --------------------------------------------
lib/param/param.h | 21 ----
lib/param/wscript_build | 2 +-
libcli/smb/smb1cli_trans.c | 3 +-
libcli/smb/smbXcli_base.c | 6 +-
source3/modules/vfs_catia.c | 3 +-
source3/smbd/dir.c | 23 ++--
source3/smbd/trans2.c | 10 +-
8 files changed, 21 insertions(+), 323 deletions(-)
delete mode 100644 lib/param/generic.c
Changeset truncated at 500 lines:
diff --git a/lib/param/generic.c b/lib/param/generic.c
deleted file mode 100644
index 8becffb..0000000
--- a/lib/param/generic.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- * Copyright (C) Jelmer Vernooij 2005
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "includes.h"
-#include "../lib/util/dlinklist.h"
-#include "../lib/util/parmlist.h"
-#include "param/param.h"
-#include "param/loadparm.h"
-#include "system/filesys.h"
-
-struct param_section *param_get_section(struct param_context *ctx, const char *name)
-{
- struct param_section *sect;
-
- if (name == NULL)
- name = GLOBAL_NAME;
-
- for (sect = ctx->sections; sect; sect = sect->next) {
- if (!strcasecmp_m(sect->name, name))
- return sect;
- }
-
- return NULL;
-}
-
-struct parmlist_entry *param_section_get(struct param_section *section, const char *name)
-{
- return parmlist_get(section->parameters, name);
-}
-
-struct param_section *param_add_section(struct param_context *ctx, const char *section_name)
-{
- struct param_section *section;
- section = talloc_zero(ctx, struct param_section);
- if (section == NULL)
- return NULL;
-
- section->name = talloc_strdup(section, section_name);
- DLIST_ADD_END(ctx->sections, section, struct param_section *);
- return section;
-}
-
-/* Look up parameter. If it is not found, add it */
-struct parmlist_entry *param_get_add(struct param_context *ctx, const char *name, const char *section_name)
-{
- struct param_section *section;
- struct parmlist_entry *p;
-
- SMB_ASSERT(section_name != NULL);
- SMB_ASSERT(name != NULL);
-
- section = param_get_section(ctx, section_name);
-
- if (section == NULL) {
- section = param_add_section(ctx, section_name);
- }
-
- p = param_section_get(section, name);
- if (p == NULL) {
- p = talloc_zero(section, struct parmlist_entry);
- if (p == NULL)
- return NULL;
-
- p->key = talloc_strdup(p, name);
- DLIST_ADD_END(section->parameters->entries, p, struct parmlist_entry *);
- }
-
- return p;
-}
-
-const char *param_get_string(struct param_context *ctx, const char *param, const char *section_name)
-{
- struct param_section *section = param_get_section(ctx, section_name);
-
- if (section == NULL)
- return NULL;
-
- return parmlist_get_string(section->parameters, param, NULL);
-}
-
-int param_set_string(struct param_context *ctx, const char *param, const char *value, const char *section_name)
-{
- struct param_section *section = param_get_section(ctx, section_name);
-
- if (section == NULL)
- return -1;
-
- return parmlist_set_string(section->parameters, param, value);
-}
-
-const char **param_get_string_list(struct param_context *ctx, const char *param, const char *separator, const char *section_name)
-{
- struct param_section *section = param_get_section(ctx, section_name);
-
- if (section == NULL)
- return NULL;
-
- return parmlist_get_string_list(section->parameters, param, separator);
-}
-
-int param_set_string_list(struct param_context *ctx, const char *param, const char **list, const char *section)
-{
- struct parmlist_entry *p = param_get_add(ctx, param, section);
-
- p->value = str_list_join(p, list, ' ');
-
- return 0;
-}
-
-int param_get_int(struct param_context *ctx, const char *param, int default_v, const char *section_name)
-{
- struct param_section *section = param_get_section(ctx, section_name);
-
- if (section == NULL)
- return default_v;
-
- return parmlist_get_int(section->parameters, param, default_v);
-}
-
-void param_set_int(struct param_context *ctx, const char *param, int value, const char *section)
-{
- struct parmlist_entry *p = param_get_add(ctx, section, param);
-
- if (!p)
- return;
-
- p->value = talloc_asprintf(p, "%d", value);
-}
-
-unsigned long param_get_ulong(struct param_context *ctx, const char *param, unsigned long default_v, const char *section)
-{
- const char *value = param_get_string(ctx, param, section);
-
- if (value)
- return strtoul(value, NULL, 0);
-
- return default_v;
-}
-
-void param_set_ulong(struct param_context *ctx, const char *name, unsigned long value, const char *section)
-{
- struct parmlist_entry *p = param_get_add(ctx, name, section);
-
- if (!p)
- return;
-
- p->value = talloc_asprintf(p, "%lu", value);
-}
-
-static bool param_sfunc (const char *name, void *_ctx)
-{
- struct param_context *ctx = (struct param_context *)_ctx;
- struct param_section *section = param_get_section(ctx, name);
-
- if (section == NULL) {
- section = talloc_zero(ctx, struct param_section);
- if (section == NULL)
- return false;
-
- section->name = talloc_strdup(section, name);
-
- DLIST_ADD_END(ctx->sections, section, struct param_section *);
- }
-
- /* Make sure this section is on top of the list for param_pfunc */
- DLIST_PROMOTE(ctx->sections, section);
-
- return true;
-}
-
-static bool param_pfunc (const char *name, const char *value, void *_ctx)
-{
- struct param_context *ctx = (struct param_context *)_ctx;
- struct parmlist_entry *p = param_section_get(ctx->sections, name);
-
- if (!p) {
- p = talloc_zero(ctx->sections, struct parmlist_entry);
- if (p == NULL)
- return false;
-
- p->key = talloc_strdup(p, name);
- p->value = talloc_strdup(p, value);
- DLIST_ADD(ctx->sections->parameters->entries, p);
- } else { /* Replace current value */
- talloc_free(p->value);
- p->value = talloc_strdup(p, value);
- }
-
- return true;
-}
-
-struct param_context *param_init(TALLOC_CTX *mem_ctx)
-{
- return talloc_zero(mem_ctx, struct param_context);
-}
-
-
-int param_read(struct param_context *ctx, const char *fn)
-{
- ctx->sections = talloc_zero(ctx, struct param_section);
- if (ctx->sections == NULL)
- return -1;
-
- ctx->sections->name = talloc_strdup(ctx->sections, "global");
- if (!pm_process( fn, param_sfunc, param_pfunc, ctx)) {
- return -1;
- }
-
- return 0;
-}
-
-int param_use(struct loadparm_context *lp_ctx, struct param_context *ctx)
-{
- struct param_section *section;
-
- for (section = ctx->sections; section; section = section->next) {
- struct parmlist_entry *param;
- bool isglobal = strcmp(section->name, "global") == 0;
- for (param = section->parameters->entries; param; param = param->next) {
- if (isglobal)
- lpcfg_do_global_parameter(lp_ctx, param->key,
- param->value);
- else {
- struct loadparm_service *service =
- lpcfg_service(lp_ctx, section->name);
- if (service == NULL)
- service = lpcfg_add_service(lp_ctx, lpcfg_default_service(lp_ctx), section->name);
- lpcfg_do_service_parameter(lp_ctx, service, param->key, param->value);
- }
- }
- }
- return 0;
-}
-
-int param_write(struct param_context *ctx, const char *fn)
-{
- int file;
- struct param_section *section;
-
- if (fn == NULL || ctx == NULL)
- return -1;
-
- file = open(fn, O_WRONLY|O_CREAT, 0755);
-
- if (file == -1)
- return -1;
-
- for (section = ctx->sections; section; section = section->next) {
- struct parmlist_entry *param;
-
- fdprintf(file, "[%s]\n", section->name);
- for (param = section->parameters->entries; param; param = param->next) {
- fdprintf(file, "\t%s = %s\n", param->key, param->value);
- }
- fdprintf(file, "\n");
- }
-
- close(file);
-
- return 0;
-}
diff --git a/lib/param/param.h b/lib/param/param.h
index 2fb6d4b..5e8d2bd 100644
--- a/lib/param/param.h
+++ b/lib/param/param.h
@@ -213,27 +213,6 @@ struct dcerpc_server_info *lpcfg_dcerpc_server_info(TALLOC_CTX *mem_ctx, struct
struct gensec_settings *lpcfg_gensec_settings(TALLOC_CTX *, struct loadparm_context *);
-/* The following definitions come from param/generic.c */
-
-struct param_section *param_get_section(struct param_context *ctx, const char *name);
-struct parmlist_entry *param_section_get(struct param_section *section,
- const char *name);
-struct parmlist_entry *param_get (struct param_context *ctx, const char *name, const char *section_name);
-struct param_section *param_add_section(struct param_context *ctx, const char *section_name);
-struct parmlist_entry *param_get_add(struct param_context *ctx, const char *name, const char *section_name);
-const char *param_get_string(struct param_context *ctx, const char *param, const char *section);
-int param_set_string(struct param_context *ctx, const char *param, const char *value, const char *section);
-const char **param_get_string_list(struct param_context *ctx, const char *param, const char *separator, const char *section);
-int param_set_string_list(struct param_context *ctx, const char *param, const char **list, const char *section);
-int param_get_int(struct param_context *ctx, const char *param, int default_v, const char *section);
-void param_set_int(struct param_context *ctx, const char *param, int value, const char *section);
-unsigned long param_get_ulong(struct param_context *ctx, const char *param, unsigned long default_v, const char *section);
-void param_set_ulong(struct param_context *ctx, const char *name, unsigned long value, const char *section);
-struct param_context *param_init(TALLOC_CTX *mem_ctx);
-int param_read(struct param_context *ctx, const char *fn);
-int param_use(struct loadparm_context *lp_ctx, struct param_context *ctx);
-int param_write(struct param_context *ctx, const char *fn);
-
/* The following definitions come from param/util.c */
diff --git a/lib/param/wscript_build b/lib/param/wscript_build
index 69746bc..66003e9 100644
--- a/lib/param/wscript_build
+++ b/lib/param/wscript_build
@@ -30,7 +30,7 @@ bld.SAMBA_LIBRARY('server-role',
private_library=True)
bld.SAMBA_LIBRARY('samba-hostconfig',
- source='loadparm.c generic.c util.c param_table.c',
+ source='loadparm.c util.c param_table.c',
pc_files='samba-hostconfig.pc',
vnum='0.0.1',
deps='DYNCONFIG server-role tdb',
diff --git a/libcli/smb/smb1cli_trans.c b/libcli/smb/smb1cli_trans.c
index 38d4e2e..59888ba 100644
--- a/libcli/smb/smb1cli_trans.c
+++ b/libcli/smb/smb1cli_trans.c
@@ -894,8 +894,7 @@ NTSTATUS smb1cli_trans(TALLOC_CTX *mem_ctx, struct smbXcli_conn *conn,
goto fail;
}
- if (!tevent_req_poll(req, ev)) {
- status = map_nt_error_from_unix_common(errno);
+ if (!tevent_req_poll_ntstatus(req, ev, &status)) {
goto fail;
}
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index 2b34980..5773ab3 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -590,9 +590,8 @@ NTSTATUS smbXcli_conn_samba_suicide(struct smbXcli_conn *conn,
if (req == NULL) {
goto fail;
}
- ok = tevent_req_poll(req, ev);
+ ok = tevent_req_poll_ntstatus(req, ev, &status);
if (!ok) {
- status = map_nt_error_from_unix_common(errno);
goto fail;
}
status = smbXcli_conn_samba_suicide_recv(req);
@@ -4876,9 +4875,8 @@ NTSTATUS smbXcli_negprot(struct smbXcli_conn *conn,
if (req == NULL) {
goto fail;
}
- ok = tevent_req_poll(req, ev);
+ ok = tevent_req_poll_ntstatus(req, ev, &status);
if (!ok) {
- status = map_nt_error_from_unix_common(errno);
goto fail;
}
status = smbXcli_negprot_recv(req);
diff --git a/source3/modules/vfs_catia.c b/source3/modules/vfs_catia.c
index 6743dfe..35cae1e 100644
--- a/source3/modules/vfs_catia.c
+++ b/source3/modules/vfs_catia.c
@@ -210,7 +210,8 @@ static bool init_mappings(connection_struct *conn,
if (share_level->mappings) {
(*selected_out) = share_level;
return True;
- } else if (global->mappings) {
+ }
+ if (global->mappings) {
share_level->mappings = global->mappings;
(*selected_out) = share_level;
return True;
diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c
index 36d95d5..073ac2f 100644
--- a/source3/smbd/dir.c
+++ b/source3/smbd/dir.c
@@ -522,15 +522,13 @@ NTSTATUS dptr_create(connection_struct *conn,
dptr_idleoldest(sconn);
}
- dptr = talloc(NULL, struct dptr_struct);
+ dptr = talloc_zero(NULL, struct dptr_struct);
if(!dptr) {
DEBUG(0,("talloc fail in dptr_create.\n"));
TALLOC_FREE(dir_hnd);
return NT_STATUS_NO_MEMORY;
}
- ZERO_STRUCTP(dptr);
-
dptr->path = talloc_strdup(dptr, path);
if (!dptr->path) {
TALLOC_FREE(dptr);
@@ -773,8 +771,7 @@ static char *dptr_ReadDirName(TALLOC_CTX *ctx,
return NULL;
/* Create an smb_filename with stream_name == NULL. */
- ZERO_STRUCT(smb_fname_base);
- smb_fname_base.base_name = pathreal;
+ smb_fname_base = (struct smb_filename) { .base_name = pathreal };
if (SMB_VFS_STAT(dptr->conn, &smb_fname_base) == 0) {
*pst = smb_fname_base.st;
@@ -1141,9 +1138,9 @@ bool smbd_dirptr_get_entry(TALLOC_CTX *ctx,
talloc_get_size(dname));
/* Create smb_fname with NULL stream_name. */
- ZERO_STRUCT(smb_fname);
- smb_fname.base_name = pathreal;
- smb_fname.st = sbuf;
+ smb_fname = (struct smb_filename) {
+ .base_name = pathreal, .st = sbuf
+ };
ok = mode_fn(ctx, private_data, &smb_fname, &mode);
if (!ok) {
@@ -1655,14 +1652,16 @@ const char *ReadDirName(struct smb_Dir *dirp, long *poffset,
dirp->file_number++;
*ptalloced = NULL;
return n;
- } else if (*poffset == END_OF_DIRECTORY_OFFSET) {
+ }
+
+ if (*poffset == END_OF_DIRECTORY_OFFSET) {
*poffset = dirp->offset = END_OF_DIRECTORY_OFFSET;
return NULL;
- } else {
- /* A real offset, seek to it. */
- SeekDir(dirp, *poffset);
}
+ /* A real offset, seek to it. */
+ SeekDir(dirp, *poffset);
+
while ((n = vfs_readdirname(conn, dirp->dir, sbuf, &talloced))) {
/* Ignore . and .. - we've already returned them. */
if (*n == '.') {
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index bdad126..a732bac 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -1620,7 +1620,10 @@ static NTSTATUS smbd_marshall_dir_entry(TALLOC_CTX *ctx,
uint64_t allocation_size = 0;
uint64_t file_index = 0;
size_t len = 0;
- struct timespec mdate_ts, adate_ts, cdate_ts, create_date_ts;
+ struct timespec mdate_ts = {0};
+ struct timespec adate_ts = {0};
+ struct timespec cdate_ts = {0};
+ struct timespec create_date_ts = {0};
time_t mdate = (time_t)0, adate = (time_t)0, create_date = (time_t)0;
char *nameptr;
char *last_entry_ptr;
@@ -1630,11 +1633,6 @@ static NTSTATUS smbd_marshall_dir_entry(TALLOC_CTX *ctx,
NTSTATUS status;
struct readdir_attr_data *readdir_attr_data = NULL;
- ZERO_STRUCT(mdate_ts);
- ZERO_STRUCT(adate_ts);
- ZERO_STRUCT(create_date_ts);
- ZERO_STRUCT(cdate_ts);
-
if (!(mode & FILE_ATTRIBUTE_DIRECTORY)) {
file_size = get_file_size_stat(&smb_fname->st);
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list