[PATCH] Some fixes for Solaris CC
Volker Lendecke
Volker.Lendecke at SerNet.DE
Wed Jan 30 19:52:39 UTC 2019
Hi!
Review appreciated!
Thanks, Volker
--
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: 0551-370000-0, mailto:kontakt at sernet.de
Gesch.F.: Dr. Johannes Loxen und Reinhild Jung
AG Göttingen: HR-B 2816 - http://www.sernet.de
-------------- next part --------------
From 45f80d318ee765eeeab45a7f771c9d2ddbb89428 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 24 Jan 2019 10:37:21 +0100
Subject: [PATCH 1/3] librpc: Solaris cc does not like unnamed struct members
Signed-off-by: Volker Lendecke <vl at samba.org>
---
librpc/ndr/ndr_compression.c | 44 ++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/librpc/ndr/ndr_compression.c b/librpc/ndr/ndr_compression.c
index f06a076a71f..c4a13a2f3ba 100644
--- a/librpc/ndr/ndr_compression.c
+++ b/librpc/ndr/ndr_compression.c
@@ -34,7 +34,7 @@ struct ndr_compression_state {
uint8_t *dict;
size_t dict_size;
} mszip;
- };
+ } alg;
};
static voidpf ndr_zlib_alloc(voidpf opaque, uInt items, uInt size)
@@ -59,7 +59,7 @@ static enum ndr_err_code ndr_pull_compression_mszip_cab_chunk(struct ndr_pull *n
DATA_BLOB plain_chunk;
uint32_t plain_chunk_offset;
uint32_t plain_chunk_size;
- z_stream *z = state->mszip.z;
+ z_stream *z = state->alg.mszip.z;
int z_ret;
plain_chunk_size = decompressed_len;
@@ -125,8 +125,8 @@ static enum ndr_err_code ndr_pull_compression_mszip_cab_chunk(struct ndr_pull *n
* uncompressed output as dictionnary.
*/
- if (state->mszip.dict_size) {
- z_ret = inflateSetDictionary(z, state->mszip.dict, state->mszip.dict_size);
+ if (state->alg.mszip.dict_size) {
+ z_ret = inflateSetDictionary(z, state->alg.mszip.dict, state->alg.mszip.dict_size);
if (z_ret != Z_OK) {
return ndr_pull_error(ndrpull, NDR_ERR_COMPRESSION,
"zlib inflateSetDictionary error %s (%d) %s (PULL)",
@@ -164,8 +164,8 @@ static enum ndr_err_code ndr_pull_compression_mszip_cab_chunk(struct ndr_pull *n
* we can just store that instead of copying the memory over
* the dict temp buffer.
*/
- state->mszip.dict = plain_chunk.data;
- state->mszip.dict_size = plain_chunk.length;
+ state->alg.mszip.dict = plain_chunk.data;
+ state->alg.mszip.dict_size = plain_chunk.length;
z_ret = inflateReset(z);
if (z_ret != Z_OK) {
@@ -217,7 +217,7 @@ static enum ndr_err_code ndr_push_compression_mszip_cab_chunk(struct ndr_push *n
comp_chunk.data[0] = 'C';
comp_chunk.data[1] = 'K';
- z = state->mszip.z;
+ z = state->alg.mszip.z;
z->next_in = plain_chunk.data;
z->avail_in = plain_chunk.length;
z->total_in = 0;
@@ -234,8 +234,8 @@ static enum ndr_err_code ndr_push_compression_mszip_cab_chunk(struct ndr_push *n
* same CFFOLDER as a dictionnary for the compression.
*/
- if (state->mszip.dict_size) {
- z_ret = deflateSetDictionary(z, state->mszip.dict, state->mszip.dict_size);
+ if (state->alg.mszip.dict_size) {
+ z_ret = deflateSetDictionary(z, state->alg.mszip.dict, state->alg.mszip.dict_size);
if (z_ret != Z_OK) {
return ndr_pull_error(ndrpull, NDR_ERR_COMPRESSION,
"zlib deflateSetDictionary error %s (%d) %s (PUSH)",
@@ -274,7 +274,7 @@ static enum ndr_err_code ndr_push_compression_mszip_cab_chunk(struct ndr_push *n
zError(z_ret), z_ret, z->msg);
}
- if (plain_chunk.length > talloc_array_length(state->mszip.dict)) {
+ if (plain_chunk.length > talloc_array_length(state->alg.mszip.dict)) {
return ndr_pull_error(ndrpull, NDR_ERR_COMPRESSION,
"zlib dict buffer is too big (PUSH)");
}
@@ -289,8 +289,8 @@ static enum ndr_err_code ndr_push_compression_mszip_cab_chunk(struct ndr_push *n
* still going to been valid for the lifetime of the
* compressions state object.
*/
- memcpy(state->mszip.dict, plain_chunk.data, plain_chunk.length);
- state->mszip.dict_size = plain_chunk.length;
+ memcpy(state->alg.mszip.dict, plain_chunk.data, plain_chunk.length);
+ state->alg.mszip.dict_size = plain_chunk.length;
DEBUG(9,("MSZIP comp plain_chunk_size: %08X (%u) comp_chunk_size: %08X (%u)\n",
(unsigned int)plain_chunk.length,
@@ -805,11 +805,11 @@ static enum ndr_err_code generic_mszip_init(TALLOC_CTX *mem_ctx,
z->zfree = ndr_zlib_free;
z->opaque = mem_ctx;
- state->mszip.z = z;
- state->mszip.dict_size = 0;
+ state->alg.mszip.z = z;
+ state->alg.mszip.dict_size = 0;
/* pre-alloc dictionnary */
- state->mszip.dict = talloc_array(mem_ctx, uint8_t, 0x8000);
- NDR_ERR_HAVE_NO_MEMORY(state->mszip.dict);
+ state->alg.mszip.dict = talloc_array(mem_ctx, uint8_t, 0x8000);
+ NDR_ERR_HAVE_NO_MEMORY(state->alg.mszip.dict);
return NDR_ERR_SUCCESS;
}
@@ -820,8 +820,8 @@ static void generic_mszip_free(struct ndr_compression_state *state)
return;
}
- TALLOC_FREE(state->mszip.z);
- TALLOC_FREE(state->mszip.dict);
+ TALLOC_FREE(state->alg.mszip.z);
+ TALLOC_FREE(state->alg.mszip.dict);
}
@@ -842,11 +842,11 @@ enum ndr_err_code ndr_pull_compression_state_init(struct ndr_pull *ndr,
break;
case NDR_COMPRESSION_MSZIP_CAB:
NDR_CHECK(generic_mszip_init(ndr, s));
- z_ret = inflateInit2(s->mszip.z, -MAX_WBITS);
+ z_ret = inflateInit2(s->alg.mszip.z, -MAX_WBITS);
if (z_ret != Z_OK) {
return ndr_pull_error(ndr, NDR_ERR_COMPRESSION,
"zlib inflateinit2 error %s (%d) %s (PULL)",
- zError(z_ret), z_ret, s->mszip.z->msg);
+ zError(z_ret), z_ret, s->alg.mszip.z->msg);
}
break;
default:
@@ -897,7 +897,7 @@ enum ndr_err_code ndr_push_compression_state_init(struct ndr_push *ndr,
break;
case NDR_COMPRESSION_MSZIP_CAB:
NDR_CHECK(generic_mszip_init(ndr, s));
- z_ret = deflateInit2(s->mszip.z,
+ z_ret = deflateInit2(s->alg.mszip.z,
Z_DEFAULT_COMPRESSION,
Z_DEFLATED,
-MAX_WBITS,
@@ -906,7 +906,7 @@ enum ndr_err_code ndr_push_compression_state_init(struct ndr_push *ndr,
if (z_ret != Z_OK) {
return ndr_push_error(ndr, NDR_ERR_COMPRESSION,
"zlib inflateinit2 error %s (%d) %s (PUSH)",
- zError(z_ret), z_ret, s->mszip.z->msg);
+ zError(z_ret), z_ret, s->alg.mszip.z->msg);
}
break;
default:
--
2.11.0
From 20ce6db406ab77e5f47947bd6fd8dc9f58ff4062 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 24 Jan 2019 10:38:41 +0100
Subject: [PATCH 2/3] libcli: Solaris cc can't return void values
Signed-off-by: Volker Lendecke <vl at samba.org>
---
libcli/auth/tests/ntlm_check.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libcli/auth/tests/ntlm_check.c b/libcli/auth/tests/ntlm_check.c
index 65c7b086008..886a1a342f8 100644
--- a/libcli/auth/tests/ntlm_check.c
+++ b/libcli/auth/tests/ntlm_check.c
@@ -180,7 +180,7 @@ static void test_ntlm_allowed(void **state)
static void test_ntlm_allowed_lm_supplied(void **state)
{
- return test_ntlm_allowed(state);
+ test_ntlm_allowed(state);
}
static void test_ntlm_disabled(void **state)
@@ -345,7 +345,7 @@ static void test_ntlmv2_only_ntlm(void **state)
static void test_ntlmv2_only_ntlm_and_lanman(void **state)
{
- return test_ntlmv2_only_ntlm(state);
+ test_ntlmv2_only_ntlm(state);
}
static void test_ntlmv2_only_ntlm_once(void **state)
--
2.11.0
From 9d1898b0b533559dfc82cae94b7004947948b368 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 24 Jan 2019 10:39:38 +0100
Subject: [PATCH 3/3] torture4: Solaris cc can't deal with empty initializers
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source4/torture/smb2/delete-on-close.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/source4/torture/smb2/delete-on-close.c b/source4/torture/smb2/delete-on-close.c
index 12cdb8540b8..441ca96309e 100644
--- a/source4/torture/smb2/delete-on-close.c
+++ b/source4/torture/smb2/delete-on-close.c
@@ -584,9 +584,9 @@ static bool test_doc_read_only(struct torture_context *tctx,
struct smb2_tree *tree)
{
struct smb2_handle dir_handle;
- union smb_setfileinfo sfinfo = { };
- struct smb2_create create = { };
- struct smb2_close close = { };
+ union smb_setfileinfo sfinfo = {0};
+ struct smb2_create create = {0};
+ struct smb2_close close = {0};
NTSTATUS status, expected_status;
bool ret = true, delete_readonly;
@@ -603,7 +603,7 @@ static bool test_doc_read_only(struct torture_context *tctx,
torture_assert_ntstatus_ok_goto(tctx, status, ret, done,
"CREATE directory failed\n");
- create = (struct smb2_create) { };
+ create = (struct smb2_create) {0};
create.in.desired_access = SEC_RIGHTS_DIR_ALL;
create.in.create_options = NTCREATEX_OPTIONS_NON_DIRECTORY_FILE |
NTCREATEX_OPTIONS_DELETE_ON_CLOSE;
@@ -628,7 +628,7 @@ static bool test_doc_read_only(struct torture_context *tctx,
torture_comment(tctx, "Creating file with READ_ONLY attribute.\n");
- create = (struct smb2_create) { };
+ create = (struct smb2_create) {0};
create.in.desired_access = SEC_RIGHTS_DIR_ALL;
create.in.create_options = NTCREATEX_OPTIONS_NON_DIRECTORY_FILE;
create.in.file_attributes = FILE_ATTRIBUTE_READONLY;
@@ -649,7 +649,7 @@ static bool test_doc_read_only(struct torture_context *tctx,
torture_comment(tctx, "Testing CREATE with DELETE_ON_CLOSE on "
"READ_ONLY attribute file.\n");
- create = (struct smb2_create) { };
+ create = (struct smb2_create) {0};
create.in.desired_access = SEC_RIGHTS_FILE_READ | SEC_STD_DELETE;
create.in.create_options = NTCREATEX_OPTIONS_DELETE_ON_CLOSE;
create.in.file_attributes = 0;
@@ -667,7 +667,7 @@ static bool test_doc_read_only(struct torture_context *tctx,
torture_comment(tctx, "Testing setting DELETE_ON_CLOSE disposition on "
" file with READONLY attribute.\n");
- create = (struct smb2_create) { };
+ create = (struct smb2_create) {0};
create.in.desired_access = SEC_RIGHTS_FILE_READ | SEC_STD_DELETE;;
create.in.create_options = 0;
create.in.file_attributes = 0;
--
2.11.0
More information about the samba-technical
mailing list