This somehow breaks with build errors in ../librpc/ndr/ndr_dcerpc.o with
about 12 logical cores:
Compiling ../librpc/ndr/ndr_misc.c
../librpc/ndr/ndr_dcerpc.c:31:107: warning: 'struct dcerpc_sec_vt_count' declared inside parameter list will not be visible outside of this definition or declaration
PUBLIC enum ndr_err_code ndr_push_dcerpc_sec_vt_count(struct ndr_push ndr, int ndr_flags, const struct dcerpc_sec_vt_count r)
^~~~~~~
../librpc/ndr/ndr_dcerpc.c:38:101: warning: 'struct dcerpc_sec_vt_count' declared inside parameter list will not be visible outside of this definition or declaration
PUBLIC enum ndr_err_code ndr_pull_dcerpc_sec_vt_count(struct ndr_pull ndr, int ndr_flags, struct dcerpc_sec_vt_count r)
^~~~~~~
../librpc/ndr/ndr_dcerpc.c: In function 'ndr_pull_dcerpc_sec_vt_count':
../librpc/ndr/ndr_dcerpc.c:48:3: error: dereferencing pointer to incomplete type 'struct dcerpc_sec_vt_count'
r->count = 0;
^~
Compiling ../librpc/ndr/ndr_netlogon.c
../librpc/ndr/ndr_dcerpc.c:60:17: error: 'DCERPC_SEC_VT_COMMAND_END' undeclared (first use in this function); did you mean 'DCERPC_SEC_VT_MAGIC'?
if (command & DCERPC_SEC_VT_COMMAND_END) {
^~~~~~~~~
DCERPC_SEC_VT_MAGIC
../librpc/ndr/ndr_dcerpc.c:60:17: note: each undeclared identifier is reported only once for each function it appears in
../librpc/ndr/ndr_dcerpc.c: At top level:
../librpc/ndr/ndr_dcerpc.c:71:9: warning: 'struct dcerpc_sec_verification_trailer' declared inside parameter list will not be visible outside of this definition or declaration
struct dcerpc_sec_verification_trailer **_r)
^~~~~~~
In file included from ./../lib/util/charset/charset.h:28:0,
from ./../lib/util/util.h:24,
from include/includes.h:506,
from ../librpc/ndr/ndr_dcerpc.c:23:
../librpc/ndr/ndr_dcerpc.c: In function 'ndr_pop_dcerpc_sec_verification_trailer':
../librpc/ndr/ndr_dcerpc.c:83:27: error: invalid application of 'sizeof' to incomplete type 'struct dcerpc_sec_verification_trailer'
r = talloc_zero(mem_ctx, struct dcerpc_sec_verification_trailer);
^
./../lib/talloc/talloc.h:591:65: note: in definition of macro 'talloc_zero'
../librpc/ndr/ndr_dcerpc.c:100:12: error: 'DCERPC_SEC_VT_MAX_SIZE' undeclared (first use in this function); did you mean 'DCERPC_SEC_VT_MAGIC'?
if (ofs > DCERPC_SEC_VT_MAX_SIZE) {
^~~~~~
DCERPC_SEC_VT_MAGIC
../librpc/ndr/ndr_dcerpc.c:142:12: warning: implicit declaration of function 'ndr_pull_dcerpc_sec_verification_trailer'; did you mean 'ndr_pop_dcerpc_sec_verification_trailer'? [-Wimplicit-function-declaration]
ndr_err = ndr_pull_dcerpc_sec_verification_trailer(sub_ndr,
^~~~~~~~~~~~
ndr_pop_dcerpc_sec_verification_trailer
In file included from include/includes.h:23:0,
from ../librpc/ndr/ndr_dcerpc.c:23:
../lib/zlib/../replace/replace.h:725:77: error: dereferencing pointer to incomplete type 'struct dcerpc_sec_verification_trailer'
define ZERO_STRUCTP(x) do { if ((x) != NULL) memset((char )(x), 0, sizeof((x))); } while(0)
^~~~
../librpc/ndr/ndr_dcerpc.c:184:2: note: in expansion of macro 'ZERO_STRUCTP'
ZERO_STRUCTP(r);
^~~~
This somehow breaks with build errors in ../librpc/ndr/ndr_dcerpc.o with about 12 logical cores:
Compiling ../librpc/ndr/ndr_misc.c ../librpc/ndr/ndr_dcerpc.c:31:107: warning: 'struct dcerpc_sec_vt_count' declared inside parameter list will not be visible outside of this definition or declaration PUBLIC enum ndr_err_code ndr_push_dcerpc_sec_vt_count(struct ndr_push ndr, int ndr_flags, const struct dcerpc_sec_vt_count r) ^
~~~~~~ ../librpc/ndr/ndr_dcerpc.c:38:101: warning: 'struct dcerpc_sec_vt_count' declared inside parameter list will not be visible outside of this definition or declaration PUBLIC enum ndr_err_code ndr_pull_dcerpc_sec_vt_count(struct ndr_pull ndr, int ndr_flags, struct dcerpc_sec_vt_count r) ^~~~~~~ ../librpc/ndr/ndr_dcerpc.c: In function 'ndr_pull_dcerpc_sec_vt_count': ../librpc/ndr/ndr_dcerpc.c:48:3: error: dereferencing pointer to incomplete type 'struct dcerpc_sec_vt_count' r->count = 0; ^~ Compiling ../librpc/ndr/ndr_netlogon.c ../librpc/ndr/ndr_dcerpc.c:60:17: error: 'DCERPC_SEC_VT_COMMAND_END' undeclared (first use in this function); did you mean 'DCERPC_SEC_VT_MAGIC'? if (command & DCERPC_SEC_VT_COMMAND_END) { ^~~~~~~~~ DCERPC_SEC_VT_MAGIC ../librpc/ndr/ndr_dcerpc.c:60:17: note: each undeclared identifier is reported only once for each function it appears in ../librpc/ndr/ndr_dcerpc.c: At top level: ../librpc/ndr/ndr_dcerpc.c:71:9: warning: 'struct dcerpc_sec_verification_trailer' declared inside parameter list will not be visible outside of this definition or declaration struct dcerpc_sec_verification_trailer **_r) ^~~~~~~In file included from ./../lib/util/charset/charset.h:28:0, from ./../lib/util/util.h:24, from include/includes.h:506, from ../librpc/ndr/ndr_dcerpc.c:23: ../librpc/ndr/ndr_dcerpc.c: In function 'ndr_pop_dcerpc_sec_verification_trailer': ../librpc/ndr/ndr_dcerpc.c:83:27: error: invalid application of 'sizeof' to incomplete type 'struct dcerpc_sec_verification_trailer' r = talloc_zero(mem_ctx, struct dcerpc_sec_verification_trailer); ^ ./../lib/talloc/talloc.h:591:65: note: in definition of macro 'talloc_zero'define talloc_zero(ctx, type) (type *)_talloc_zero(ctx, sizeof(type), #type)
../librpc/ndr/ndr_dcerpc.c:100:12: error: 'DCERPC_SEC_VT_MAX_SIZE' undeclared (first use in this function); did you mean 'DCERPC_SEC_VT_MAGIC'? if (ofs > DCERPC_SEC_VT_MAX_SIZE) { ^
~~~~~ DCERPC_SEC_VT_MAGIC ../librpc/ndr/ndr_dcerpc.c:142:12: warning: implicit declaration of function 'ndr_pull_dcerpc_sec_verification_trailer'; did you mean 'ndr_pop_dcerpc_sec_verification_trailer'? [-Wimplicit-function-declaration] ndr_err = ndr_pull_dcerpc_sec_verification_trailer(sub_ndr, ^~~~~~~~~~~~ ndr_pop_dcerpc_sec_verification_trailer In file included from include/includes.h:23:0, from ../librpc/ndr/ndr_dcerpc.c:23: ../lib/zlib/../replace/replace.h:725:77: error: dereferencing pointer to incomplete type 'struct dcerpc_sec_verification_trailer'define ZERO_STRUCTP(x) do { if ((x) != NULL) memset((char )(x), 0, sizeof((x))); } while(0)
../librpc/ndr/ndr_dcerpc.c:184:2: note: in expansion of macro 'ZERO_STRUCTP' ZERO_STRUCTP(r); ^
~~~Serializing the build works around this.
Closes #941 Signed-off-by: Jan Kiszka jan.kiszka@web.de