[SCM] Samba Shared Repository - branch master updated
David Disseldorp
ddiss at samba.org
Tue May 27 11:56:03 MDT 2014
The branch, master has been updated
via f1d4b27 Remove obsolete README.packaging4.
via e72d8b7 libcli: Simplify desc_ace_has_generic()
via 6218e5c libcli: Simplify desc_expand_generic()
via 8bb5107 libcli: Avoid an explicit memset call
via af83a15 libcli: Avoid a talloc/free
via 80ef004 libcli: Avoid a talloc/free
from 9487785 s3-build: Support building with in-tree CTDB
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f1d4b274eee4e36731c37dc218b3c4aec8842c87
Author: Michael Adam <obnox at samba.org>
Date: Tue May 27 14:30:10 2014 +0200
Remove obsolete README.packaging4.
Signed-off-by: Michael Adam <obnox at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
Autobuild-User(master): David Disseldorp <ddiss at samba.org>
Autobuild-Date(master): Tue May 27 19:55:07 CEST 2014 on sn-devel-104
commit e72d8b7acc8d20fe09dcb24298e0839ee1b257f9
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 27 07:04:38 2014 +0000
libcli: Simplify desc_ace_has_generic()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 6218e5cbfe9233935060adb54a6c0e3f47e9dc65
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 27 07:03:18 2014 +0000
libcli: Simplify desc_expand_generic()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 8bb5107d41b400ceebd260874f37c661248b3d49
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 26 21:01:38 2014 +0000
libcli: Avoid an explicit memset call
On x86 with -O3, this saves surprising 160 bytes .text
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit af83a158878b92c933d06c19d5672592f542097b
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 26 20:57:31 2014 +0000
libcli: Avoid a talloc/free
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 80ef004721e6d88bc87e4d1a1e100cb87e81cc93
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 26 20:57:31 2014 +0000
libcli: Avoid a talloc/free
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
-----------------------------------------------------------------------
Summary of changes:
README.packaging4 | 13 -------------
libcli/security/create_descriptor.c | 34 ++++++++++++----------------------
libcli/security/security_token.c | 20 ++++++++++++--------
libcli/security/util_sid.c | 8 ++++----
4 files changed, 28 insertions(+), 47 deletions(-)
delete mode 100644 README.packaging4
Changeset truncated at 500 lines:
diff --git a/README.packaging4 b/README.packaging4
deleted file mode 100644
index 0a9bb58..0000000
--- a/README.packaging4
+++ /dev/null
@@ -1,13 +0,0 @@
-Debian
-======
-
-Packages of Samba 4 are regularly uploaded to the Debian and Ubuntu archives.
-
-http://packages.debian.org/samba4
-
-Please see http://wiki.samba.org/index.php/Samba4/Debian for instructions
-on building the Samba 4 Debian packages.
-
-Fedora
-======
-A package of Samba 4 is maintained in Fedora.
diff --git a/libcli/security/create_descriptor.c b/libcli/security/create_descriptor.c
index 23e7e9b..03c0658 100644
--- a/libcli/security/create_descriptor.c
+++ b/libcli/security/create_descriptor.c
@@ -107,17 +107,14 @@ static bool object_in_list(struct GUID *object_list, struct GUID *object)
/* returns true if the ACE gontains generic information
* that needs to be processed additionally */
-static bool desc_ace_has_generic(TALLOC_CTX *mem_ctx,
- struct security_ace *ace)
+static bool desc_ace_has_generic(struct security_ace *ace)
{
- struct dom_sid *co, *cg;
- co = dom_sid_parse_talloc(mem_ctx, SID_CREATOR_OWNER);
- cg = dom_sid_parse_talloc(mem_ctx, SID_CREATOR_GROUP);
if (ace->access_mask & SEC_GENERIC_ALL || ace->access_mask & SEC_GENERIC_READ ||
ace->access_mask & SEC_GENERIC_WRITE || ace->access_mask & SEC_GENERIC_EXECUTE) {
return true;
}
- if (dom_sid_equal(&ace->trustee, co) || dom_sid_equal(&ace->trustee, cg)) {
+ if (dom_sid_equal(&ace->trustee, &global_sid_Creator_Owner) ||
+ dom_sid_equal(&ace->trustee, &global_sid_Creator_Group)) {
return true;
}
return false;
@@ -125,19 +122,15 @@ static bool desc_ace_has_generic(TALLOC_CTX *mem_ctx,
/* creates an ace in which the generic information is expanded */
-static void desc_expand_generic(TALLOC_CTX *mem_ctx,
- struct security_ace *new_ace,
+static void desc_expand_generic(struct security_ace *new_ace,
struct dom_sid *owner,
struct dom_sid *group)
{
- struct dom_sid *co, *cg;
- co = dom_sid_parse_talloc(mem_ctx, SID_CREATOR_OWNER);
- cg = dom_sid_parse_talloc(mem_ctx, SID_CREATOR_GROUP);
new_ace->access_mask = map_generic_rights_ds(new_ace->access_mask);
- if (dom_sid_equal(&new_ace->trustee, co)) {
+ if (dom_sid_equal(&new_ace->trustee, &global_sid_Creator_Owner)) {
new_ace->trustee = *owner;
}
- if (dom_sid_equal(&new_ace->trustee, cg)) {
+ if (dom_sid_equal(&new_ace->trustee, &global_sid_Creator_Group)) {
new_ace->trustee = *group;
}
new_ace->flags = 0x0;
@@ -179,7 +172,7 @@ static struct security_acl *calculate_inherited_from_parent(TALLOC_CTX *mem_ctx,
tmp_acl->aces[tmp_acl->num_aces].flags |= SEC_ACE_FLAG_INHERITED_ACE;
/* remove IO flag from the child's ace */
if (ace->flags & SEC_ACE_FLAG_INHERIT_ONLY &&
- !desc_ace_has_generic(tmp_ctx, ace)) {
+ !desc_ace_has_generic(ace)) {
tmp_acl->aces[tmp_acl->num_aces].flags &= ~SEC_ACE_FLAG_INHERIT_ONLY;
}
@@ -212,7 +205,7 @@ static struct security_acl *calculate_inherited_from_parent(TALLOC_CTX *mem_ctx,
tmp_acl->num_aces++;
if (is_container) {
if (!(ace->flags & SEC_ACE_FLAG_NO_PROPAGATE_INHERIT) &&
- (desc_ace_has_generic(tmp_ctx, ace))) {
+ (desc_ace_has_generic(ace))) {
tmp_acl->aces = talloc_realloc(tmp_acl,
tmp_acl->aces,
struct security_ace,
@@ -222,8 +215,7 @@ static struct security_acl *calculate_inherited_from_parent(TALLOC_CTX *mem_ctx,
return NULL;
}
tmp_acl->aces[tmp_acl->num_aces] = *ace;
- desc_expand_generic(tmp_ctx,
- &tmp_acl->aces[tmp_acl->num_aces],
+ desc_expand_generic(&tmp_acl->aces[tmp_acl->num_aces],
owner,
group);
tmp_acl->aces[tmp_acl->num_aces].flags = SEC_ACE_FLAG_INHERITED_ACE;
@@ -292,10 +284,9 @@ static struct security_acl *process_user_acl(TALLOC_CTX *mem_ctx,
/* if the ACE contains CO, CG, GA, GE, GR or GW, and is inheritable
* it has to be expanded to two aces, the original as IO,
* and another one where these are translated */
- if (desc_ace_has_generic(tmp_ctx, ace)) {
+ if (desc_ace_has_generic(ace)) {
if (!(ace->flags & SEC_ACE_FLAG_CONTAINER_INHERIT)) {
- desc_expand_generic(tmp_ctx,
- &tmp_acl->aces[tmp_acl->num_aces-1],
+ desc_expand_generic(&tmp_acl->aces[tmp_acl->num_aces-1],
owner,
group);
} else {
@@ -306,8 +297,7 @@ static struct security_acl *process_user_acl(TALLOC_CTX *mem_ctx,
tmp_acl->num_aces+1);
/* add a new ACE with expanded generic info */
tmp_acl->aces[tmp_acl->num_aces] = *ace;
- desc_expand_generic(tmp_ctx,
- &tmp_acl->aces[tmp_acl->num_aces],
+ desc_expand_generic(&tmp_acl->aces[tmp_acl->num_aces],
owner,
group);
tmp_acl->num_aces++;
diff --git a/libcli/security/security_token.c b/libcli/security/security_token.c
index 40f1382..6812d42 100644
--- a/libcli/security/security_token.c
+++ b/libcli/security/security_token.c
@@ -84,12 +84,14 @@ bool security_token_is_sid(const struct security_token *token, const struct dom_
bool security_token_is_sid_string(const struct security_token *token, const char *sid_string)
{
bool ret;
- struct dom_sid *sid = dom_sid_parse_talloc(NULL, sid_string);
- if (!sid) return false;
+ struct dom_sid sid;
- ret = security_token_is_sid(token, sid);
+ ret = dom_sid_parse(sid_string, &sid);
+ if (!ret) {
+ return false;
+ }
- talloc_free(sid);
+ ret = security_token_is_sid(token, &sid);
return ret;
}
@@ -117,12 +119,14 @@ bool security_token_has_sid(const struct security_token *token, const struct dom
bool security_token_has_sid_string(const struct security_token *token, const char *sid_string)
{
bool ret;
- struct dom_sid *sid = dom_sid_parse_talloc(NULL, sid_string);
- if (!sid) return false;
+ struct dom_sid sid;
- ret = security_token_has_sid(token, sid);
+ ret = dom_sid_parse(sid_string, &sid);
+ if (!ret) {
+ return false;
+ }
- talloc_free(sid);
+ ret = security_token_has_sid(token, &sid);
return ret;
}
diff --git a/libcli/security/util_sid.c b/libcli/security/util_sid.c
index 9a24a4a..8e42826 100644
--- a/libcli/security/util_sid.c
+++ b/libcli/security/util_sid.c
@@ -225,10 +225,10 @@ void sid_copy(struct dom_sid *dst, const struct dom_sid *src)
{
int i;
- ZERO_STRUCTP(dst);
-
- dst->sid_rev_num = src->sid_rev_num;
- dst->num_auths = src->num_auths;
+ *dst = (struct dom_sid) {
+ .sid_rev_num = src->sid_rev_num,
+ .num_auths = src->num_auths,
+ };
memcpy(&dst->id_auth[0], &src->id_auth[0], sizeof(src->id_auth));
--
Samba Shared Repository
More information about the samba-cvs
mailing list