Closed Bug 1592398 Opened 5 years ago Closed 5 years ago

npapi.h causes system headers to be included into PContent.cpp

Categories

(Core Graveyard :: Plug-ins, defect)

defect
Not set
normal

Tracking

(firefox72 fixed)

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: mstange, Assigned: kvark)

References

Details

Attachments

(1 file)

Dmitry just encountered the following build error on our macOS build machines after adding a new IPDL file:

make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl'
/builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-apple-darwin -o UnifiedProtocols11.o -c  -fvisibility=hidden -fvisibility-inlines-hidden -DDEBUG=1 -DOS_POSIX=1 -DOS_MACOSX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/ipc/ipdl -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-aligned-new -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -fno-exceptions -fno-strict-aliasing -stdlib=libc++ -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Werror  -MD -MP -MF .deps/UnifiedProtocols11.o.pp   UnifiedProtocols11.cpp
In file included from UnifiedProtocols11.cpp:137:
In file included from /builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/PContent.cpp:49:
In file included from /builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders/mozilla/plugins/PPluginModuleParent.h:21:
In file included from /builds/worker/workspace/build/src/obj-firefox/dist/include/npapi.h:37:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:23:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:39:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LaunchServices.h:22:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/IconsCore.h:23:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OSServices.h:27:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/CSIdentity.h:43:
In file included from /builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:90:
/builds/worker/workspace/build/src/MacOSX10.11.sdk/System/Library/Frameworks/Security.framework/Headers/CipherSuite.h:47:5: error: expected identifier
{   SSL_NULL_WITH_NULL_NULL =                   0x0000,
    ^
/builds/worker/workspace/build/src/obj-firefox/dist/include/nss/sslproto.h:51:48: note: expanded from macro 'SSL_NULL_WITH_NULL_NULL'
#define SSL_NULL_WITH_NULL_NULL                TLS_NULL_WITH_NULL_NULL
                                               ^
/builds/worker/workspace/build/src/obj-firefox/dist/include/nss/sslproto.h:76:49: note: expanded from macro 'TLS_NULL_WITH_NULL_NULL'
#define TLS_NULL_WITH_NULL_NULL                 0x0000

It looks like CipherSuite.h and sslproto.h are colliding on the name SSL_NULL_WITH_NULL_NULL.
CipherSuite.h is included via npapi.h -> PPluginModuleParent.h -> PContent.cpp.
I think we can remove the npapi.h uses from PPluginModule.ipdl.

Blocks: 1575008
Assignee: nobody → dmalyshau

expands the SSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES to cover more cases,
enables it on macOS when building IPDL stuff, finally doing an extra check before
including ApplicationSupport.h in order to clarify the error message.

Attachment #9105315 - Attachment description: Disable old SSL names on macOS → Fix SSL name collisions with Apple Security libraries
Pushed by dmalyshau@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/53b3cd71832b Fix SSL name collisions with Apple Security libraries r=drno
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: