Merge "Merge remote-tracking branch 'origin/5.12.4' into 5.12"

This commit is contained in:
Qt Forward Merge Bot 2019-06-17 12:29:52 +02:00
commit f2eadc65c3
17 changed files with 9586 additions and 7011 deletions

View File

@ -4,4 +4,4 @@ CONFIG += warning_clean
QT_SOURCE_TREE = $$PWD
QT_BUILD_TREE = $$shadowed($$PWD)
MODULE_VERSION = 5.12.3
MODULE_VERSION = 5.12.4

83
dist/changes-5.12.4 vendored Normal file
View File

@ -0,0 +1,83 @@
Qt 5.12.4 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.12.0 through 5.12.3.
For more details, refer to the online documentation included in this
distribution. The documentation is also available online:
https://doc.qt.io/qt-5/index.html
The Qt version 5.12 series is binary compatible with the 5.11.x series.
Applications compiled for 5.11 will continue to run with 5.12.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Platform Specific Changes *
****************************************************************************
- X11 / XCB:
* [QTBUG-45375] QTabletEvent coordinates now come from AbsX/AbsY
valuators in the X11 event, in more precise 32.32 fixed-point format,
scaled to fit the virtual desktop. It's possible to revert to using
the legacy 16.16-format event_x/event_y coordinates as in previous
releases by setting the QT_XCB_TABLET_LEGACY_COORDINATES environment
variable.
****************************************************************************
* QtCore *
****************************************************************************
- Global:
* [QTBUG-72073] Added the QT_NO_FLOAT16_OPERATORS macro in order to work
around a Microsoft <= VS2017 compiler bug that is exposed when using
std::bitset along with any Qt header that includes <qfloat16.h>.
- QDeadlineTimer:
* [QTBUG-69750] Fixed integer overflows leading to immediate timeouts.
- QFile:
* Made QFile::copy() issue a filesystem-synchronization system call,
which would make it less likely to result in incomplete or corrupt
files if the system reboots or uncleanly shuts down soon after the
function returns. New code is advised to use QSaveFile instead, which
also allows to display a progress report while copying.
- QFileInfo:
* [QTBUG-63970][QTBUG-30401][QTBUG-20791] Fixed resolving of symbolic
links to UNC shares on NTFS file systems.
- QMetaObject:
* Non-copyable lambdas can now be used with invokeMethod(). For
consistency reasons, the functor object is now always moved.
****************************************************************************
* QtGui *
****************************************************************************
- [QTBUG-73231] QWindow::mapToGlobal()/mapFromGlobal() now handle windows
spanning screens correctly.
- [QTBUG-75522] QBezier: Fix possible endless loop when stroking curves
****************************************************************************
* QtWidgets *
****************************************************************************
- QMenu:
* Shortcuts are again shown by default in context menus, except on
macOS. They can be forced off by setting
AA_DontShowShortcutsInContextMenus to true.
****************************************************************************
* Third-Party Code *
****************************************************************************
- libpng was updated to version 1.6.37
- Updated QLocale to CLDR v35.1
- Updated bundled SQLite to version 3.28.0

View File

@ -50,6 +50,12 @@ contains(TEMPLATE, .*lib) {
}
lib_replace.CONFIG = path
QMAKE_PRL_INSTALL_REPLACE += lib_replace
!equals(qt_libdir, $$rplbase/lib) {
qtlibdir_replace.match = $$qt_libdir
qtlibdir_replace.replace = $$qqt_libdir
qtlibdir_replace.CONFIG = path
QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace
}
}
# The remainder of this file must not apply to host tools/libraries,

View File

@ -1,77 +1,77 @@
LIBRARY libEGL
EXPORTS
eglBindAPI @14
eglBindTexImage @20
eglChooseConfig @7
eglCopyBuffers @33
eglCreateContext @23
eglCreatePbufferFromClientBuffer @18
eglCreatePbufferSurface @10
eglCreatePixmapSurface @11
eglCreateWindowSurface @9
eglDestroyContext @24
eglDestroySurface @12
eglGetConfigAttrib @8
eglGetConfigs @6
eglGetCurrentContext @26
eglGetCurrentDisplay @28
eglGetCurrentSurface @27
eglGetDisplay @2
eglGetError @1
eglGetProcAddress @34
eglInitialize @3
eglMakeCurrent @25
eglQueryAPI @15
eglQueryContext @29
eglQueryString @5
eglQuerySurface @13
eglReleaseTexImage @21
eglReleaseThread @17
eglSurfaceAttrib @19
eglSwapBuffers @32
eglSwapInterval @22
eglTerminate @4
eglWaitClient @16
eglWaitGL @30
eglWaitNative @31
eglBindAPI@4 @14
eglBindTexImage@12 @20
eglChooseConfig@20 @7
eglCopyBuffers@12 @33
eglCreateContext@16 @23
eglCreatePbufferFromClientBuffer@20 @18
eglCreatePbufferSurface@12 @10
eglCreatePixmapSurface@16 @11
eglCreateWindowSurface@16 @9
eglDestroyContext@8 @24
eglDestroySurface@8 @12
eglGetConfigAttrib@16 @8
eglGetConfigs@16 @6
eglGetCurrentContext@0 @26
eglGetCurrentDisplay@0 @28
eglGetCurrentSurface@4 @27
eglGetDisplay@4 @2
eglGetError@0 @1
eglGetProcAddress@4 @34
eglInitialize@12 @3
eglMakeCurrent@16 @25
eglQueryAPI@0 @15
eglQueryContext@16 @29
eglQueryString@8 @5
eglQuerySurface@16 @13
eglReleaseTexImage@12 @21
eglReleaseThread@0 @17
eglSurfaceAttrib@16 @19
eglSwapBuffers@8 @32
eglSwapInterval@8 @22
eglTerminate@4 @4
eglWaitClient@0 @16
eglWaitGL@0 @30
eglWaitNative@4 @31
; Extensions
eglGetPlatformDisplayEXT @35
eglQuerySurfacePointerANGLE @36
eglPostSubBufferNV @37
eglQueryDisplayAttribEXT @48
eglQueryDeviceAttribEXT @49
eglQueryDeviceStringEXT @50
eglCreateImageKHR @51
eglDestroyImageKHR @52
eglCreateDeviceANGLE @53
eglReleaseDeviceANGLE @54
eglCreateStreamKHR @55
eglDestroyStreamKHR @56
eglStreamAttribKHR @57
eglQueryStreamKHR @58
eglQueryStreamu64KHR @59
eglStreamConsumerGLTextureExternalKHR @60
eglStreamConsumerAcquireKHR @61
eglStreamConsumerReleaseKHR @62
eglStreamConsumerGLTextureExternalAttribsNV @63
eglCreateStreamProducerD3DTextureNV12ANGLE @64
eglStreamPostD3DTextureNV12ANGLE @65
eglGetSyncValuesCHROMIUM @66
eglSwapBuffersWithDamageEXT @67
eglProgramCacheGetAttribANGLE @68
eglProgramCachePopulateANGLE @69
eglProgramCacheQueryANGLE @70
eglProgramCacheResizeANGLE @71
eglGetPlatformDisplayEXT@12 @35
eglQuerySurfacePointerANGLE@16 @36
eglPostSubBufferNV@24 @37
eglQueryDisplayAttribEXT@12 @48
eglQueryDeviceAttribEXT@12 @49
eglQueryDeviceStringEXT@8 @50
eglCreateImageKHR@20 @51
eglDestroyImageKHR@8 @52
eglCreateDeviceANGLE@12 @53
eglReleaseDeviceANGLE@4 @54
eglCreateStreamKHR@8 @55
eglDestroyStreamKHR@8 @56
eglStreamAttribKHR@16 @57
eglQueryStreamKHR@16 @58
eglQueryStreamu64KHR@16 @59
eglStreamConsumerGLTextureExternalKHR@8 @60
eglStreamConsumerAcquireKHR@8 @61
eglStreamConsumerReleaseKHR@8 @62
eglStreamConsumerGLTextureExternalAttribsNV@12 @63
eglCreateStreamProducerD3DTextureNV12ANGLE@12 @64
eglStreamPostD3DTextureNV12ANGLE@16 @65
eglGetSyncValuesCHROMIUM@20 @66
eglSwapBuffersWithDamageEXT@16 @67
eglProgramCacheGetAttribANGLE@8 @68
eglProgramCachePopulateANGLE@20 @69
eglProgramCacheQueryANGLE@24 @70
eglProgramCacheResizeANGLE@12 @71
; 1.5 entry points
eglCreateSync @38
eglDestroySync @39
eglClientWaitSync @40
eglGetSyncAttrib @41
eglCreateImage @42
eglDestroyImage @43
eglGetPlatformDisplay @44
eglCreatePlatformWindowSurface @45
eglCreatePlatformPixmapSurface @46
eglWaitSync @47
eglCreateSync@12 @38
eglDestroySync@8 @39
eglClientWaitSync@20 @40
eglGetSyncAttrib@16 @41
eglCreateImage@20 @42
eglDestroyImage@8 @43
eglGetPlatformDisplay@12 @44
eglCreatePlatformWindowSurface@16 @45
eglCreatePlatformPixmapSurface@16 @46
eglWaitSync@12 @47

View File

@ -1,77 +1,77 @@
LIBRARY libEGL
EXPORTS
eglBindAPI @14
eglBindTexImage @20
eglChooseConfig @7
eglCopyBuffers @33
eglCreateContext @23
eglCreatePbufferFromClientBuffer @18
eglCreatePbufferSurface @10
eglCreatePixmapSurface @11
eglCreateWindowSurface @9
eglDestroyContext @24
eglDestroySurface @12
eglGetConfigAttrib @8
eglGetConfigs @6
eglGetCurrentContext @26
eglGetCurrentDisplay @28
eglGetCurrentSurface @27
eglGetDisplay @2
eglGetError @1
eglGetProcAddress @34
eglInitialize @3
eglMakeCurrent @25
eglQueryAPI @15
eglQueryContext @29
eglQueryString @5
eglQuerySurface @13
eglReleaseTexImage @21
eglReleaseThread @17
eglSurfaceAttrib @19
eglSwapBuffers @32
eglSwapInterval @22
eglTerminate @4
eglWaitClient @16
eglWaitGL @30
eglWaitNative @31
eglBindAPI@4 @14
eglBindTexImage@12 @20
eglChooseConfig@20 @7
eglCopyBuffers@12 @33
eglCreateContext@16 @23
eglCreatePbufferFromClientBuffer@20 @18
eglCreatePbufferSurface@12 @10
eglCreatePixmapSurface@16 @11
eglCreateWindowSurface@16 @9
eglDestroyContext@8 @24
eglDestroySurface@8 @12
eglGetConfigAttrib@16 @8
eglGetConfigs@16 @6
eglGetCurrentContext@0 @26
eglGetCurrentDisplay@0 @28
eglGetCurrentSurface@4 @27
eglGetDisplay@4 @2
eglGetError@0 @1
eglGetProcAddress@4 @34
eglInitialize@12 @3
eglMakeCurrent@16 @25
eglQueryAPI@0 @15
eglQueryContext@16 @29
eglQueryString@8 @5
eglQuerySurface@16 @13
eglReleaseTexImage@12 @21
eglReleaseThread@0 @17
eglSurfaceAttrib@16 @19
eglSwapBuffers@8 @32
eglSwapInterval@8 @22
eglTerminate@4 @4
eglWaitClient@0 @16
eglWaitGL@0 @30
eglWaitNative@4 @31
; Extensions
eglGetPlatformDisplayEXT @35
eglQuerySurfacePointerANGLE @36
eglPostSubBufferNV @37
eglQueryDisplayAttribEXT @48
eglQueryDeviceAttribEXT @49
eglQueryDeviceStringEXT @50
eglCreateImageKHR @51
eglDestroyImageKHR @52
eglCreateDeviceANGLE @53
eglReleaseDeviceANGLE @54
eglCreateStreamKHR @55
eglDestroyStreamKHR @56
eglStreamAttribKHR @57
eglQueryStreamKHR @58
eglQueryStreamu64KHR @59
eglStreamConsumerGLTextureExternalKHR @60
eglStreamConsumerAcquireKHR @61
eglStreamConsumerReleaseKHR @62
eglStreamConsumerGLTextureExternalAttribsNV @63
eglCreateStreamProducerD3DTextureNV12ANGLE @64
eglStreamPostD3DTextureNV12ANGLE @65
eglGetSyncValuesCHROMIUM @66
eglSwapBuffersWithDamageEXT @67
eglProgramCacheGetAttribANGLE @68
eglProgramCachePopulateANGLE @69
eglProgramCacheQueryANGLE @70
eglProgramCacheResizeANGLE @71
eglGetPlatformDisplayEXT@12 @35
eglQuerySurfacePointerANGLE@16 @36
eglPostSubBufferNV@24 @37
eglQueryDisplayAttribEXT@12 @48
eglQueryDeviceAttribEXT@12 @49
eglQueryDeviceStringEXT@8 @50
eglCreateImageKHR@20 @51
eglDestroyImageKHR@8 @52
eglCreateDeviceANGLE@12 @53
eglReleaseDeviceANGLE@4 @54
eglCreateStreamKHR@8 @55
eglDestroyStreamKHR@8 @56
eglStreamAttribKHR@16 @57
eglQueryStreamKHR@16 @58
eglQueryStreamu64KHR@16 @59
eglStreamConsumerGLTextureExternalKHR@8 @60
eglStreamConsumerAcquireKHR@8 @61
eglStreamConsumerReleaseKHR@8 @62
eglStreamConsumerGLTextureExternalAttribsNV@12 @63
eglCreateStreamProducerD3DTextureNV12ANGLE@12 @64
eglStreamPostD3DTextureNV12ANGLE@16 @65
eglGetSyncValuesCHROMIUM@20 @66
eglSwapBuffersWithDamageEXT@16 @67
eglProgramCacheGetAttribANGLE@8 @68
eglProgramCachePopulateANGLE@20 @69
eglProgramCacheQueryANGLE@24 @70
eglProgramCacheResizeANGLE@12 @71
; 1.5 entry points
eglCreateSync @38
eglDestroySync @39
eglClientWaitSync @40
eglGetSyncAttrib @41
eglCreateImage @42
eglDestroyImage @43
eglGetPlatformDisplay @44
eglCreatePlatformWindowSurface @45
eglCreatePlatformPixmapSurface @46
eglWaitSync @47
eglCreateSync@12 @38
eglDestroySync@8 @39
eglClientWaitSync@20 @40
eglGetSyncAttrib@16 @41
eglCreateImage@20 @42
eglDestroyImage@8 @43
eglGetPlatformDisplay@12 @44
eglCreatePlatformWindowSurface@16 @45
eglCreatePlatformPixmapSurface@16 @46
eglWaitSync@12 @47

View File

@ -1,412 +1,411 @@
LIBRARY libGLESv2
EXPORTS
glActiveTexture @1
glAttachShader @2
glBindAttribLocation @3
glBindBuffer @4
glBindFramebuffer @5
glBindRenderbuffer @6
glBindTexture @7
glBlendColor @8
glBlendEquation @9
glBlendEquationSeparate @10
glBlendFunc @11
glBlendFuncSeparate @12
glBufferData @13
glBufferSubData @14
glCheckFramebufferStatus @15
glClear @16
glClearColor @17
glClearDepthf @18
glClearStencil @19
glColorMask @20
glCompileShader @21
glCompressedTexImage2D @22
glCompressedTexSubImage2D @23
glCopyTexImage2D @24
glCopyTexSubImage2D @25
glCreateProgram @26
glCreateShader @27
glCullFace @28
glDeleteBuffers @29
glDeleteFramebuffers @30
glDeleteProgram @32
glDeleteRenderbuffers @33
glDeleteShader @34
glDeleteTextures @31
glDepthFunc @36
glDepthMask @37
glDepthRangef @38
glDetachShader @35
glDisable @39
glDisableVertexAttribArray @40
glDrawArrays @41
glDrawElements @42
glEnable @43
glEnableVertexAttribArray @44
glFinish @45
glFlush @46
glFramebufferRenderbuffer @47
glFramebufferTexture2D @48
glFrontFace @49
glGenBuffers @50
glGenFramebuffers @52
glGenRenderbuffers @53
glGenTextures @54
glGenerateMipmap @51
glGetActiveAttrib @55
glGetActiveUniform @56
glGetAttachedShaders @57
glGetAttribLocation @58
glGetBooleanv @59
glGetBufferParameteriv @60
glGetError @61
glGetFloatv @62
glGetFramebufferAttachmentParameteriv @63
glGetIntegerv @64
glGetProgramInfoLog @66
glGetProgramiv @65
glGetRenderbufferParameteriv @67
glGetShaderInfoLog @69
glGetShaderPrecisionFormat @70
glGetShaderSource @71
glGetShaderiv @68
glGetString @72
glGetTexParameterfv @73
glGetTexParameteriv @74
glGetUniformLocation @77
glGetUniformfv @75
glGetUniformiv @76
glGetVertexAttribPointerv @80
glGetVertexAttribfv @78
glGetVertexAttribiv @79
glHint @81
glIsBuffer @82
glIsEnabled @83
glIsFramebuffer @84
glIsProgram @85
glIsRenderbuffer @86
glIsShader @87
glIsTexture @88
glLineWidth @89
glLinkProgram @90
glPixelStorei @91
glPolygonOffset @92
glReadPixels @93
glReleaseShaderCompiler @94
glRenderbufferStorage @95
glSampleCoverage @96
glScissor @97
glShaderBinary @98
glShaderSource @99
glStencilFunc @100
glStencilFuncSeparate @101
glStencilMask @102
glStencilMaskSeparate @103
glStencilOp @104
glStencilOpSeparate @105
glTexImage2D @106
glTexParameterf @107
glTexParameterfv @108
glTexParameteri @109
glTexParameteriv @110
glTexSubImage2D @111
glUniform1f @112
glUniform1fv @113
glUniform1i @114
glUniform1iv @115
glUniform2f @116
glUniform2fv @117
glUniform2i @118
glUniform2iv @119
glUniform3f @120
glUniform3fv @121
glUniform3i @122
glUniform3iv @123
glUniform4f @124
glUniform4fv @125
glUniform4i @126
glUniform4iv @127
glUniformMatrix2fv @128
glUniformMatrix3fv @129
glUniformMatrix4fv @130
glUseProgram @131
glValidateProgram @132
glVertexAttrib1f @133
glVertexAttrib1fv @134
glVertexAttrib2f @135
glVertexAttrib2fv @136
glVertexAttrib3f @137
glVertexAttrib3fv @138
glVertexAttrib4f @139
glVertexAttrib4fv @140
glVertexAttribPointer @141
glViewport @142
glActiveTexture@4 @1
glAttachShader@8 @2
glBindAttribLocation@12 @3
glBindBuffer@8 @4
glBindFramebuffer@8 @5
glBindRenderbuffer@8 @6
glBindTexture@8 @7
glBlendColor@16 @8
glBlendEquation@4 @9
glBlendEquationSeparate@8 @10
glBlendFunc@8 @11
glBlendFuncSeparate@16 @12
glBufferData@16 @13
glBufferSubData@16 @14
glCheckFramebufferStatus@4 @15
glClear@4 @16
glClearColor@16 @17
glClearDepthf@4 @18
glClearStencil@4 @19
glColorMask@16 @20
glCompileShader@4 @21
glCompressedTexImage2D@32 @22
glCompressedTexSubImage2D@36 @23
glCopyTexImage2D@32 @24
glCopyTexSubImage2D@32 @25
glCreateProgram@0 @26
glCreateShader@4 @27
glCullFace@4 @28
glDeleteBuffers@8 @29
glDeleteFramebuffers@8 @30
glDeleteProgram@4 @32
glDeleteRenderbuffers@8 @33
glDeleteShader@4 @34
glDeleteTextures@8 @31
glDepthFunc@4 @36
glDepthMask@4 @37
glDepthRangef@8 @38
glDetachShader@8 @35
glDisable@4 @39
glDisableVertexAttribArray@4 @40
glDrawArrays@12 @41
glDrawElements@16 @42
glEnable@4 @43
glEnableVertexAttribArray@4 @44
glFinish@0 @45
glFlush@0 @46
glFramebufferRenderbuffer@16 @47
glFramebufferTexture2D@20 @48
glFrontFace@4 @49
glGenBuffers@8 @50
glGenFramebuffers@8 @52
glGenRenderbuffers@8 @53
glGenTextures@8 @54
glGenerateMipmap@4 @51
glGetActiveAttrib@28 @55
glGetActiveUniform@28 @56
glGetAttachedShaders@16 @57
glGetAttribLocation@8 @58
glGetBooleanv@8 @59
glGetBufferParameteriv@12 @60
glGetError@0 @61
glGetFloatv@8 @62
glGetFramebufferAttachmentParameteriv@16 @63
glGetIntegerv@8 @64
glGetProgramInfoLog@16 @66
glGetProgramiv@12 @65
glGetRenderbufferParameteriv@12 @67
glGetShaderInfoLog@16 @69
glGetShaderPrecisionFormat@16 @70
glGetShaderSource@16 @71
glGetShaderiv@12 @68
glGetString@4 @72
glGetTexParameterfv@12 @73
glGetTexParameteriv@12 @74
glGetUniformLocation@8 @77
glGetUniformfv@12 @75
glGetUniformiv@12 @76
glGetVertexAttribPointerv@12 @80
glGetVertexAttribfv@12 @78
glGetVertexAttribiv@12 @79
glHint@8 @81
glIsBuffer@4 @82
glIsEnabled@4 @83
glIsFramebuffer@4 @84
glIsProgram@4 @85
glIsRenderbuffer@4 @86
glIsShader@4 @87
glIsTexture@4 @88
glLineWidth@4 @89
glLinkProgram@4 @90
glPixelStorei@8 @91
glPolygonOffset@8 @92
glReadPixels@28 @93
glReleaseShaderCompiler@0 @94
glRenderbufferStorage@16 @95
glSampleCoverage@8 @96
glScissor@16 @97
glShaderBinary@20 @98
glShaderSource@16 @99
glStencilFunc@12 @100
glStencilFuncSeparate@16 @101
glStencilMask@4 @102
glStencilMaskSeparate@8 @103
glStencilOp@12 @104
glStencilOpSeparate@16 @105
glTexImage2D@36 @106
glTexParameterf@12 @107
glTexParameterfv@12 @108
glTexParameteri@12 @109
glTexParameteriv@12 @110
glTexSubImage2D@36 @111
glUniform1f@8 @112
glUniform1fv@12 @113
glUniform1i@8 @114
glUniform1iv@12 @115
glUniform2f@12 @116
glUniform2fv@12 @117
glUniform2i@12 @118
glUniform2iv@12 @119
glUniform3f@16 @120
glUniform3fv@12 @121
glUniform3i@16 @122
glUniform3iv@12 @123
glUniform4f@20 @124
glUniform4fv@12 @125
glUniform4i@20 @126
glUniform4iv@12 @127
glUniformMatrix2fv@16 @128
glUniformMatrix3fv@16 @129
glUniformMatrix4fv@16 @130
glUseProgram@4 @131
glValidateProgram@4 @132
glVertexAttrib1f@8 @133
glVertexAttrib1fv@8 @134
glVertexAttrib2f@12 @135
glVertexAttrib2fv@8 @136
glVertexAttrib3f@16 @137
glVertexAttrib3fv@8 @138
glVertexAttrib4f@20 @139
glVertexAttrib4fv@8 @140
glVertexAttribPointer@24 @141
glViewport@16 @142
; Extensions
glBlitFramebufferANGLE @149
glRenderbufferStorageMultisampleANGLE @150
glDeleteFencesNV @151
glFinishFenceNV @152
glGenFencesNV @153
glGetFenceivNV @154
glIsFenceNV @155
glSetFenceNV @156
glTestFenceNV @157
glGetTranslatedShaderSourceANGLE @159
glTexStorage2DEXT @160
glGetGraphicsResetStatusEXT @161
glReadnPixelsEXT @162
glGetnUniformfvEXT @163
glGetnUniformivEXT @164
glGenQueriesEXT @165
glDeleteQueriesEXT @166
glIsQueryEXT @167
glBeginQueryEXT @168
glEndQueryEXT @169
glGetQueryivEXT @170
glGetQueryObjectuivEXT @171
glVertexAttribDivisorANGLE @172
glDrawArraysInstancedANGLE @173
glDrawElementsInstancedANGLE @174
glProgramBinaryOES @175
glGetProgramBinaryOES @176
glDrawBuffersEXT @179
glMapBufferOES @285
glUnmapBufferOES @286
glGetBufferPointervOES @287
glMapBufferRangeEXT @288
glFlushMappedBufferRangeEXT @289
glDiscardFramebufferEXT @293
glInsertEventMarkerEXT @294
glPushGroupMarkerEXT @295
glPopGroupMarkerEXT @296
glEGLImageTargetTexture2DOES @297
glEGLImageTargetRenderbufferStorageOES @298
glBindVertexArrayOES @299
glDeleteVertexArraysOES @300
glGenVertexArraysOES @301
glIsVertexArrayOES @302
glDebugMessageControlKHR @303
glDebugMessageInsertKHR @304
glDebugMessageCallbackKHR @305
glGetDebugMessageLogKHR @306
glPushDebugGroupKHR @307
glPopDebugGroupKHR @308
glObjectLabelKHR @309
glGetObjectLabelKHR @310
glObjectPtrLabelKHR @311
glGetObjectPtrLabelKHR @312
glGetPointervKHR @313
glQueryCounterEXT @314
glGetQueryObjectivEXT @315
glGetQueryObjecti64vEXT @316
glGetQueryObjectui64vEXT @317
glBindUniformLocationCHROMIUM @318
glCoverageModulationCHROMIUM @319
glBlitFramebufferANGLE@40 @149
glRenderbufferStorageMultisampleANGLE@20 @150
glDeleteFencesNV@8 @151
glFinishFenceNV@4 @152
glGenFencesNV@8 @153
glGetFenceivNV@12 @154
glIsFenceNV@4 @155
glSetFenceNV@8 @156
glTestFenceNV@4 @157
glGetTranslatedShaderSourceANGLE@16 @159
glTexStorage2DEXT@20 @160
glGetGraphicsResetStatusEXT@0 @161
glReadnPixelsEXT@32 @162
glGetnUniformfvEXT@16 @163
glGetnUniformivEXT@16 @164
glGenQueriesEXT@8 @165
glDeleteQueriesEXT@8 @166
glIsQueryEXT@4 @167
glBeginQueryEXT@8 @168
glEndQueryEXT@4 @169
glGetQueryivEXT@12 @170
glGetQueryObjectuivEXT@12 @171
glVertexAttribDivisorANGLE@8 @172
glDrawArraysInstancedANGLE@16 @173
glDrawElementsInstancedANGLE@20 @174
glProgramBinaryOES@16 @175
glGetProgramBinaryOES@20 @176
glDrawBuffersEXT@8 @179
glMapBufferOES@8 @285
glUnmapBufferOES@4 @286
glGetBufferPointervOES@12 @287
glMapBufferRangeEXT@16 @288
glFlushMappedBufferRangeEXT@12 @289
glDiscardFramebufferEXT@12 @293
glInsertEventMarkerEXT@8 @294
glPushGroupMarkerEXT@8 @295
glPopGroupMarkerEXT@0 @296
glEGLImageTargetTexture2DOES@8 @297
glEGLImageTargetRenderbufferStorageOES@8 @298
glBindVertexArrayOES@4 @299
glDeleteVertexArraysOES@8 @300
glGenVertexArraysOES@8 @301
glIsVertexArrayOES@4 @302
glDebugMessageControlKHR@24 @303
glDebugMessageInsertKHR@24 @304
glDebugMessageCallbackKHR@8 @305
glGetDebugMessageLogKHR@32 @306
glPushDebugGroupKHR@16 @307
glPopDebugGroupKHR@0 @308
glObjectLabelKHR@16 @309
glGetObjectLabelKHR@20 @310
glObjectPtrLabelKHR@12 @311
glGetObjectPtrLabelKHR@16 @312
glGetPointervKHR@8 @313
glQueryCounterEXT@8 @314
glGetQueryObjectivEXT@12 @315
glGetQueryObjecti64vEXT@12 @316
glGetQueryObjectui64vEXT@12 @317
glBindUniformLocationCHROMIUM@12 @318
glCoverageModulationCHROMIUM@4 @319
glMatrixLoadfCHROMIUM@8 @320
glMatrixLoadIdentityCHROMIUM@4 @321
glGenPathsCHROMIUM@4 @322
glDeletePathsCHROMIUM@8 @323
glIsPathCHROMIUM@4 @324
glPathCommandsCHROMIUM@24 @325
glPathParameterfCHROMIUM@12 @326
glPathParameteriCHROMIUM@12 @327
glGetPathParameterfvCHROMIUM@12 @328
glGetPathParameterivCHROMIUM@12 @329
glPathStencilFuncCHROMIUM@12 @330
glStencilFillPathCHROMIUM@12 @331
glStencilStrokePathCHROMIUM@12 @332
glCoverFillPathCHROMIUM@8 @333
glCoverStrokePathCHROMIUM@8 @334
glStencilThenCoverFillPathCHROMIUM@16 @335
glStencilThenCoverStrokePathCHROMIUM@16 @336
glCoverFillPathInstancedCHROMIUM@28 @337
glCoverStrokePathInstancedCHROMIUM@28 @338
glStencilStrokePathInstancedCHROMIUM@32 @339
glStencilFillPathInstancedCHROMIUM@32 @340
glStencilThenCoverFillPathInstancedCHROMIUM@36 @341
glStencilThenCoverStrokePathInstancedCHROMIUM@36 @342
glBindFragmentInputLocationCHROMIUM@12 @343
glProgramPathFragmentInputGenCHROMIUM@20 @344
glMatrixLoadfCHROMIUM @320
glMatrixLoadIdentityCHROMIUM @321
glGenPathsCHROMIUM @322
glDeletePathsCHROMIUM @323
glIsPathCHROMIUM @324
glPathCommandsCHROMIUM @325
glPathParameterfCHROMIUM @326
glPathParameteriCHROMIUM @327
glGetPathParameterfvCHROMIUM @328
glGetPathParameterivCHROMIUM @329
glPathStencilFuncCHROMIUM @330
glStencilFillPathCHROMIUM @331
glStencilStrokePathCHROMIUM @332
glCoverFillPathCHROMIUM @333
glCoverStrokePathCHROMIUM @334
glStencilThenCoverFillPathCHROMIUM @335
glStencilThenCoverStrokePathCHROMIUM @336
glCoverFillPathInstancedCHROMIUM @337
glCoverStrokePathInstancedCHROMIUM @338
glStencilStrokePathInstancedCHROMIUM @339
glStencilFillPathInstancedCHROMIUM @340
glStencilThenCoverFillPathInstancedCHROMIUM @341
glStencilThenCoverStrokePathInstancedCHROMIUM @342
glBindFragmentInputLocationCHROMIUM @343
glProgramPathFragmentInputGenCHROMIUM @344
glFramebufferTextureMultiviewLayeredANGLE @413
glFramebufferTextureMultiviewSideBySideANGLE @414
glRequestExtensionANGLE @415
glFramebufferTextureMultiviewLayeredANGLE@24 @413
glFramebufferTextureMultiviewSideBySideANGLE@24 @414
glRequestExtensionANGLE@4 @415
; GLES 3.0 Functions
glReadBuffer @180
glDrawRangeElements @181
glTexImage3D @182
glTexSubImage3D @183
glCopyTexSubImage3D @184
glCompressedTexImage3D @185
glCompressedTexSubImage3D @186
glGenQueries @187
glDeleteQueries @188
glIsQuery @189
glBeginQuery @190
glEndQuery @191
glGetQueryiv @192
glGetQueryObjectuiv @193
glUnmapBuffer @194
glGetBufferPointerv @195
glDrawBuffers @196
glUniformMatrix2x3fv @197
glUniformMatrix3x2fv @198
glUniformMatrix2x4fv @199
glUniformMatrix4x2fv @200
glUniformMatrix3x4fv @201
glUniformMatrix4x3fv @202
glBlitFramebuffer @203
glRenderbufferStorageMultisample @204
glFramebufferTextureLayer @205
glMapBufferRange @206
glFlushMappedBufferRange @207
glBindVertexArray @208
glDeleteVertexArrays @209
glGenVertexArrays @210
glIsVertexArray @211
glGetIntegeri_v @212
glBeginTransformFeedback @213
glEndTransformFeedback @214
glBindBufferRange @215
glBindBufferBase @216
glTransformFeedbackVaryings @217
glGetTransformFeedbackVarying @218
glVertexAttribIPointer @219
glGetVertexAttribIiv @220
glGetVertexAttribIuiv @221
glVertexAttribI4i @222
glVertexAttribI4ui @223
glVertexAttribI4iv @224
glVertexAttribI4uiv @225
glGetUniformuiv @226
glGetFragDataLocation @227
glUniform1ui @228
glUniform2ui @229
glUniform3ui @230
glUniform4ui @231
glUniform1uiv @232
glUniform2uiv @233
glUniform3uiv @234
glUniform4uiv @235
glClearBufferiv @236
glClearBufferuiv @237
glClearBufferfv @238
glClearBufferfi @239
glGetStringi @240
glCopyBufferSubData @241
glGetUniformIndices @242
glGetActiveUniformsiv @243
glGetUniformBlockIndex @244
glGetActiveUniformBlockiv @245
glGetActiveUniformBlockName @246
glUniformBlockBinding @247
glDrawArraysInstanced @248
glDrawElementsInstanced @249
glFenceSync @250
glIsSync @251
glDeleteSync @252
glClientWaitSync @253
glWaitSync @254
glGetInteger64v @255
glGetSynciv @256
glGetInteger64i_v @257
glGetBufferParameteri64v @258
glGenSamplers @259
glDeleteSamplers @260
glIsSampler @261
glBindSampler @262
glSamplerParameteri @263
glSamplerParameteriv @264
glSamplerParameterf @265
glSamplerParameterfv @266
glGetSamplerParameteriv @267
glGetSamplerParameterfv @268
glVertexAttribDivisor @269
glBindTransformFeedback @270
glDeleteTransformFeedbacks @271
glGenTransformFeedbacks @272
glIsTransformFeedback @273
glPauseTransformFeedback @274
glResumeTransformFeedback @275
glGetProgramBinary @276
glProgramBinary @277
glProgramParameteri @278
glInvalidateFramebuffer @279
glInvalidateSubFramebuffer @280
glTexStorage2D @281
glTexStorage3D @282
glGetInternalformativ @283
glReadBuffer@4 @180
glDrawRangeElements@24 @181
glTexImage3D@40 @182
glTexSubImage3D@44 @183
glCopyTexSubImage3D@36 @184
glCompressedTexImage3D@36 @185
glCompressedTexSubImage3D@44 @186
glGenQueries@8 @187
glDeleteQueries@8 @188
glIsQuery@4 @189
glBeginQuery@8 @190
glEndQuery@4 @191
glGetQueryiv@12 @192
glGetQueryObjectuiv@12 @193
glUnmapBuffer@4 @194
glGetBufferPointerv@12 @195
glDrawBuffers@8 @196
glUniformMatrix2x3fv@16 @197
glUniformMatrix3x2fv@16 @198
glUniformMatrix2x4fv@16 @199
glUniformMatrix4x2fv@16 @200
glUniformMatrix3x4fv@16 @201
glUniformMatrix4x3fv@16 @202
glBlitFramebuffer@40 @203
glRenderbufferStorageMultisample@20 @204
glFramebufferTextureLayer@20 @205
glMapBufferRange@16 @206
glFlushMappedBufferRange@12 @207
glBindVertexArray@4 @208
glDeleteVertexArrays@8 @209
glGenVertexArrays@8 @210
glIsVertexArray@4 @211
glGetIntegeri_v@12 @212
glBeginTransformFeedback@4 @213
glEndTransformFeedback@0 @214
glBindBufferRange@20 @215
glBindBufferBase@12 @216
glTransformFeedbackVaryings@16 @217
glGetTransformFeedbackVarying@28 @218
glVertexAttribIPointer@20 @219
glGetVertexAttribIiv@12 @220
glGetVertexAttribIuiv@12 @221
glVertexAttribI4i@20 @222
glVertexAttribI4ui@20 @223
glVertexAttribI4iv@8 @224
glVertexAttribI4uiv@8 @225
glGetUniformuiv@12 @226
glGetFragDataLocation@8 @227
glUniform1ui@8 @228
glUniform2ui@12 @229
glUniform3ui@16 @230
glUniform4ui@20 @231
glUniform1uiv@12 @232
glUniform2uiv@12 @233
glUniform3uiv@12 @234
glUniform4uiv@12 @235
glClearBufferiv@12 @236
glClearBufferuiv@12 @237
glClearBufferfv@12 @238
glClearBufferfi@16 @239
glGetStringi@8 @240
glCopyBufferSubData@20 @241
glGetUniformIndices@16 @242
glGetActiveUniformsiv@20 @243
glGetUniformBlockIndex@8 @244
glGetActiveUniformBlockiv@16 @245
glGetActiveUniformBlockName@20 @246
glUniformBlockBinding@12 @247
glDrawArraysInstanced@16 @248
glDrawElementsInstanced@20 @249
glFenceSync@8 @250
glIsSync@4 @251
glDeleteSync@4 @252
glClientWaitSync@16 @253
glWaitSync@16 @254
glGetInteger64v@8 @255
glGetSynciv@20 @256
glGetInteger64i_v@12 @257
glGetBufferParameteri64v@12 @258
glGenSamplers@8 @259
glDeleteSamplers@8 @260
glIsSampler@4 @261
glBindSampler@8 @262
glSamplerParameteri@12 @263
glSamplerParameteriv@12 @264
glSamplerParameterf@12 @265
glSamplerParameterfv@12 @266
glGetSamplerParameteriv@12 @267
glGetSamplerParameterfv@12 @268
glVertexAttribDivisor@8 @269
glBindTransformFeedback@8 @270
glDeleteTransformFeedbacks@8 @271
glGenTransformFeedbacks@8 @272
glIsTransformFeedback@4 @273
glPauseTransformFeedback@0 @274
glResumeTransformFeedback@0 @275
glGetProgramBinary@20 @276
glProgramBinary@16 @277
glProgramParameteri@12 @278
glInvalidateFramebuffer@12 @279
glInvalidateSubFramebuffer@28 @280
glTexStorage2D@20 @281
glTexStorage3D@24 @282
glGetInternalformativ@20 @283
; GLES 3.1 Functions
glDispatchCompute @345
glDispatchComputeIndirect @346
glDrawArraysIndirect @347
glDrawElementsIndirect @348
glFramebufferParameteri @349
glGetFramebufferParameteriv @350
glGetProgramInterfaceiv @351
glGetProgramResourceIndex @352
glGetProgramResourceName @353
glGetProgramResourceiv @354
glGetProgramResourceLocation @355
glUseProgramStages @356
glActiveShaderProgram @357
glCreateShaderProgramv @358
glBindProgramPipeline @359
glDeleteProgramPipelines @360
glGenProgramPipelines @361
glIsProgramPipeline @362
glGetProgramPipelineiv @363
glProgramUniform1i @364
glProgramUniform2i @365
glProgramUniform3i @366
glProgramUniform4i @367
glProgramUniform1ui @368
glProgramUniform2ui @369
glProgramUniform3ui @370
glProgramUniform4ui @371
glProgramUniform1f @372
glProgramUniform2f @373
glProgramUniform3f @374
glProgramUniform4f @375
glProgramUniform1iv @376
glProgramUniform2iv @377
glProgramUniform3iv @378
glProgramUniform4iv @379
glProgramUniform1uiv @380
glProgramUniform2uiv @381
glProgramUniform3uiv @382
glProgramUniform4uiv @383
glProgramUniform1fv @384
glProgramUniform2fv @385
glProgramUniform3fv @386
glProgramUniform4fv @387
glProgramUniformMatrix2fv @388
glProgramUniformMatrix3fv @389
glProgramUniformMatrix4fv @390
glProgramUniformMatrix2x3fv @391
glProgramUniformMatrix3x2fv @392
glProgramUniformMatrix2x4fv @393
glProgramUniformMatrix4x2fv @394
glProgramUniformMatrix3x4fv @395
glProgramUniformMatrix4x3fv @396
glValidateProgramPipeline @397
glGetProgramPipelineInfoLog @398
glBindImageTexture @399
glGetBooleani_v @400
glMemoryBarrier @401
glMemoryBarrierByRegion @402
glTexStorage2DMultisample @403
glGetMultisamplefv @404
glSampleMaski @405
glGetTexLevelParameteriv @406
glGetTexLevelParameterfv @407
glBindVertexBuffer @408
glVertexAttribFormat @409
glVertexAttribIFormat @410
glVertexAttribBinding @411
glVertexBindingDivisor @412
glDispatchCompute@12 @345
glDispatchComputeIndirect@4 @346
glDrawArraysIndirect@8 @347
glDrawElementsIndirect@12 @348
glFramebufferParameteri@12 @349
glGetFramebufferParameteriv@12 @350
glGetProgramInterfaceiv@16 @351
glGetProgramResourceIndex@12 @352
glGetProgramResourceName@24 @353
glGetProgramResourceiv@32 @354
glGetProgramResourceLocation@12 @355
glUseProgramStages@12 @356
glActiveShaderProgram@8 @357
glCreateShaderProgramv@12 @358
glBindProgramPipeline@4 @359
glDeleteProgramPipelines@8 @360
glGenProgramPipelines@8 @361
glIsProgramPipeline@4 @362
glGetProgramPipelineiv@12 @363
glProgramUniform1i@12 @364
glProgramUniform2i@16 @365
glProgramUniform3i@20 @366
glProgramUniform4i@24 @367
glProgramUniform1ui@12 @368
glProgramUniform2ui@16 @369
glProgramUniform3ui@20 @370
glProgramUniform4ui@24 @371
glProgramUniform1f@12 @372
glProgramUniform2f@16 @373
glProgramUniform3f@20 @374
glProgramUniform4f@24 @375
glProgramUniform1iv@16 @376
glProgramUniform2iv@16 @377
glProgramUniform3iv@16 @378
glProgramUniform4iv@16 @379
glProgramUniform1uiv@16 @380
glProgramUniform2uiv@16 @381
glProgramUniform3uiv@16 @382
glProgramUniform4uiv@16 @383
glProgramUniform1fv@16 @384
glProgramUniform2fv@16 @385
glProgramUniform3fv@16 @386
glProgramUniform4fv@16 @387
glProgramUniformMatrix2fv@20 @388
glProgramUniformMatrix3fv@20 @389
glProgramUniformMatrix4fv@20 @390
glProgramUniformMatrix2x3fv@20 @391
glProgramUniformMatrix3x2fv@20 @392
glProgramUniformMatrix2x4fv@20 @393
glProgramUniformMatrix4x2fv@20 @394
glProgramUniformMatrix3x4fv@20 @395
glProgramUniformMatrix4x3fv@20 @396
glValidateProgramPipeline@4 @397
glGetProgramPipelineInfoLog@16 @398
glBindImageTexture@28 @399
glGetBooleani_v@12 @400
glMemoryBarrier@4 @401
glMemoryBarrierByRegion@4 @402
glTexStorage2DMultisample@24 @403
glGetMultisamplefv@12 @404
glSampleMaski@8 @405
glGetTexLevelParameteriv@16 @406
glGetTexLevelParameterfv@16 @407
glBindVertexBuffer@16 @408
glVertexAttribFormat@20 @409
glVertexAttribIFormat@16 @410
glVertexAttribBinding@8 @411
glVertexBindingDivisor@8 @412

View File

@ -1,412 +1,411 @@
LIBRARY libGLESv2
EXPORTS
glActiveTexture @1
glAttachShader @2
glBindAttribLocation @3
glBindBuffer @4
glBindFramebuffer @5
glBindRenderbuffer @6
glBindTexture @7
glBlendColor @8
glBlendEquation @9
glBlendEquationSeparate @10
glBlendFunc @11
glBlendFuncSeparate @12
glBufferData @13
glBufferSubData @14
glCheckFramebufferStatus @15
glClear @16
glClearColor @17
glClearDepthf @18
glClearStencil @19
glColorMask @20
glCompileShader @21
glCompressedTexImage2D @22
glCompressedTexSubImage2D @23
glCopyTexImage2D @24
glCopyTexSubImage2D @25
glCreateProgram @26
glCreateShader @27
glCullFace @28
glDeleteBuffers @29
glDeleteFramebuffers @30
glDeleteProgram @32
glDeleteRenderbuffers @33
glDeleteShader @34
glDeleteTextures @31
glDepthFunc @36
glDepthMask @37
glDepthRangef @38
glDetachShader @35
glDisable @39
glDisableVertexAttribArray @40
glDrawArrays @41
glDrawElements @42
glEnable @43
glEnableVertexAttribArray @44
glFinish @45
glFlush @46
glFramebufferRenderbuffer @47
glFramebufferTexture2D @48
glFrontFace @49
glGenBuffers @50
glGenFramebuffers @52
glGenRenderbuffers @53
glGenTextures @54
glGenerateMipmap @51
glGetActiveAttrib @55
glGetActiveUniform @56
glGetAttachedShaders @57
glGetAttribLocation @58
glGetBooleanv @59
glGetBufferParameteriv @60
glGetError @61
glGetFloatv @62
glGetFramebufferAttachmentParameteriv @63
glGetIntegerv @64
glGetProgramInfoLog @66
glGetProgramiv @65
glGetRenderbufferParameteriv @67
glGetShaderInfoLog @69
glGetShaderPrecisionFormat @70
glGetShaderSource @71
glGetShaderiv @68
glGetString @72
glGetTexParameterfv @73
glGetTexParameteriv @74
glGetUniformLocation @77
glGetUniformfv @75
glGetUniformiv @76
glGetVertexAttribPointerv @80
glGetVertexAttribfv @78
glGetVertexAttribiv @79
glHint @81
glIsBuffer @82
glIsEnabled @83
glIsFramebuffer @84
glIsProgram @85
glIsRenderbuffer @86
glIsShader @87
glIsTexture @88
glLineWidth @89
glLinkProgram @90
glPixelStorei @91
glPolygonOffset @92
glReadPixels @93
glReleaseShaderCompiler @94
glRenderbufferStorage @95
glSampleCoverage @96
glScissor @97
glShaderBinary @98
glShaderSource @99
glStencilFunc @100
glStencilFuncSeparate @101
glStencilMask @102
glStencilMaskSeparate @103
glStencilOp @104
glStencilOpSeparate @105
glTexImage2D @106
glTexParameterf @107
glTexParameterfv @108
glTexParameteri @109
glTexParameteriv @110
glTexSubImage2D @111
glUniform1f @112
glUniform1fv @113
glUniform1i @114
glUniform1iv @115
glUniform2f @116
glUniform2fv @117
glUniform2i @118
glUniform2iv @119
glUniform3f @120
glUniform3fv @121
glUniform3i @122
glUniform3iv @123
glUniform4f @124
glUniform4fv @125
glUniform4i @126
glUniform4iv @127
glUniformMatrix2fv @128
glUniformMatrix3fv @129
glUniformMatrix4fv @130
glUseProgram @131
glValidateProgram @132
glVertexAttrib1f @133
glVertexAttrib1fv @134
glVertexAttrib2f @135
glVertexAttrib2fv @136
glVertexAttrib3f @137
glVertexAttrib3fv @138
glVertexAttrib4f @139
glVertexAttrib4fv @140
glVertexAttribPointer @141
glViewport @142
glActiveTexture@4 @1
glAttachShader@8 @2
glBindAttribLocation@12 @3
glBindBuffer@8 @4
glBindFramebuffer@8 @5
glBindRenderbuffer@8 @6
glBindTexture@8 @7
glBlendColor@16 @8
glBlendEquation@4 @9
glBlendEquationSeparate@8 @10
glBlendFunc@8 @11
glBlendFuncSeparate@16 @12
glBufferData@16 @13
glBufferSubData@16 @14
glCheckFramebufferStatus@4 @15
glClear@4 @16
glClearColor@16 @17
glClearDepthf@4 @18
glClearStencil@4 @19
glColorMask@16 @20
glCompileShader@4 @21
glCompressedTexImage2D@32 @22
glCompressedTexSubImage2D@36 @23
glCopyTexImage2D@32 @24
glCopyTexSubImage2D@32 @25
glCreateProgram@0 @26
glCreateShader@4 @27
glCullFace@4 @28
glDeleteBuffers@8 @29
glDeleteFramebuffers@8 @30
glDeleteProgram@4 @32
glDeleteRenderbuffers@8 @33
glDeleteShader@4 @34
glDeleteTextures@8 @31
glDepthFunc@4 @36
glDepthMask@4 @37
glDepthRangef@8 @38
glDetachShader@8 @35
glDisable@4 @39
glDisableVertexAttribArray@4 @40
glDrawArrays@12 @41
glDrawElements@16 @42
glEnable@4 @43
glEnableVertexAttribArray@4 @44
glFinish@0 @45
glFlush@0 @46
glFramebufferRenderbuffer@16 @47
glFramebufferTexture2D@20 @48
glFrontFace@4 @49
glGenBuffers@8 @50
glGenFramebuffers@8 @52
glGenRenderbuffers@8 @53
glGenTextures@8 @54
glGenerateMipmap@4 @51
glGetActiveAttrib@28 @55
glGetActiveUniform@28 @56
glGetAttachedShaders@16 @57
glGetAttribLocation@8 @58
glGetBooleanv@8 @59
glGetBufferParameteriv@12 @60
glGetError@0 @61
glGetFloatv@8 @62
glGetFramebufferAttachmentParameteriv@16 @63
glGetIntegerv@8 @64
glGetProgramInfoLog@16 @66
glGetProgramiv@12 @65
glGetRenderbufferParameteriv@12 @67
glGetShaderInfoLog@16 @69
glGetShaderPrecisionFormat@16 @70
glGetShaderSource@16 @71
glGetShaderiv@12 @68
glGetString@4 @72
glGetTexParameterfv@12 @73
glGetTexParameteriv@12 @74
glGetUniformLocation@8 @77
glGetUniformfv@12 @75
glGetUniformiv@12 @76
glGetVertexAttribPointerv@12 @80
glGetVertexAttribfv@12 @78
glGetVertexAttribiv@12 @79
glHint@8 @81
glIsBuffer@4 @82
glIsEnabled@4 @83
glIsFramebuffer@4 @84
glIsProgram@4 @85
glIsRenderbuffer@4 @86
glIsShader@4 @87
glIsTexture@4 @88
glLineWidth@4 @89
glLinkProgram@4 @90
glPixelStorei@8 @91
glPolygonOffset@8 @92
glReadPixels@28 @93
glReleaseShaderCompiler@0 @94
glRenderbufferStorage@16 @95
glSampleCoverage@8 @96
glScissor@16 @97
glShaderBinary@20 @98
glShaderSource@16 @99
glStencilFunc@12 @100
glStencilFuncSeparate@16 @101
glStencilMask@4 @102
glStencilMaskSeparate@8 @103
glStencilOp@12 @104
glStencilOpSeparate@16 @105
glTexImage2D@36 @106
glTexParameterf@12 @107
glTexParameterfv@12 @108
glTexParameteri@12 @109
glTexParameteriv@12 @110
glTexSubImage2D@36 @111
glUniform1f@8 @112
glUniform1fv@12 @113
glUniform1i@8 @114
glUniform1iv@12 @115
glUniform2f@12 @116
glUniform2fv@12 @117
glUniform2i@12 @118
glUniform2iv@12 @119
glUniform3f@16 @120
glUniform3fv@12 @121
glUniform3i@16 @122
glUniform3iv@12 @123
glUniform4f@20 @124
glUniform4fv@12 @125
glUniform4i@20 @126
glUniform4iv@12 @127
glUniformMatrix2fv@16 @128
glUniformMatrix3fv@16 @129
glUniformMatrix4fv@16 @130
glUseProgram@4 @131
glValidateProgram@4 @132
glVertexAttrib1f@8 @133
glVertexAttrib1fv@8 @134
glVertexAttrib2f@12 @135
glVertexAttrib2fv@8 @136
glVertexAttrib3f@16 @137
glVertexAttrib3fv@8 @138
glVertexAttrib4f@20 @139
glVertexAttrib4fv@8 @140
glVertexAttribPointer@24 @141
glViewport@16 @142
; Extensions
glBlitFramebufferANGLE @149
glRenderbufferStorageMultisampleANGLE @150
glDeleteFencesNV @151
glFinishFenceNV @152
glGenFencesNV @153
glGetFenceivNV @154
glIsFenceNV @155
glSetFenceNV @156
glTestFenceNV @157
glGetTranslatedShaderSourceANGLE @159
glTexStorage2DEXT @160
glGetGraphicsResetStatusEXT @161
glReadnPixelsEXT @162
glGetnUniformfvEXT @163
glGetnUniformivEXT @164
glGenQueriesEXT @165
glDeleteQueriesEXT @166
glIsQueryEXT @167
glBeginQueryEXT @168
glEndQueryEXT @169
glGetQueryivEXT @170
glGetQueryObjectuivEXT @171
glVertexAttribDivisorANGLE @172
glDrawArraysInstancedANGLE @173
glDrawElementsInstancedANGLE @174
glProgramBinaryOES @175
glGetProgramBinaryOES @176
glDrawBuffersEXT @179
glMapBufferOES @285
glUnmapBufferOES @286
glGetBufferPointervOES @287
glMapBufferRangeEXT @288
glFlushMappedBufferRangeEXT @289
glDiscardFramebufferEXT @293
glInsertEventMarkerEXT @294
glPushGroupMarkerEXT @295
glPopGroupMarkerEXT @296
glEGLImageTargetTexture2DOES @297
glEGLImageTargetRenderbufferStorageOES @298
glBindVertexArrayOES @299
glDeleteVertexArraysOES @300
glGenVertexArraysOES @301
glIsVertexArrayOES @302
glDebugMessageControlKHR @303
glDebugMessageInsertKHR @304
glDebugMessageCallbackKHR @305
glGetDebugMessageLogKHR @306
glPushDebugGroupKHR @307
glPopDebugGroupKHR @308
glObjectLabelKHR @309
glGetObjectLabelKHR @310
glObjectPtrLabelKHR @311
glGetObjectPtrLabelKHR @312
glGetPointervKHR @313
glQueryCounterEXT @314
glGetQueryObjectivEXT @315
glGetQueryObjecti64vEXT @316
glGetQueryObjectui64vEXT @317
glBindUniformLocationCHROMIUM @318
glCoverageModulationCHROMIUM @319
glBlitFramebufferANGLE@40 @149
glRenderbufferStorageMultisampleANGLE@20 @150
glDeleteFencesNV@8 @151
glFinishFenceNV@4 @152
glGenFencesNV@8 @153
glGetFenceivNV@12 @154
glIsFenceNV@4 @155
glSetFenceNV@8 @156
glTestFenceNV@4 @157
glGetTranslatedShaderSourceANGLE@16 @159
glTexStorage2DEXT@20 @160
glGetGraphicsResetStatusEXT@0 @161
glReadnPixelsEXT@32 @162
glGetnUniformfvEXT@16 @163
glGetnUniformivEXT@16 @164
glGenQueriesEXT@8 @165
glDeleteQueriesEXT@8 @166
glIsQueryEXT@4 @167
glBeginQueryEXT@8 @168
glEndQueryEXT@4 @169
glGetQueryivEXT@12 @170
glGetQueryObjectuivEXT@12 @171
glVertexAttribDivisorANGLE@8 @172
glDrawArraysInstancedANGLE@16 @173
glDrawElementsInstancedANGLE@20 @174
glProgramBinaryOES@16 @175
glGetProgramBinaryOES@20 @176
glDrawBuffersEXT@8 @179
glMapBufferOES@8 @285
glUnmapBufferOES@4 @286
glGetBufferPointervOES@12 @287
glMapBufferRangeEXT@16 @288
glFlushMappedBufferRangeEXT@12 @289
glDiscardFramebufferEXT@12 @293
glInsertEventMarkerEXT@8 @294
glPushGroupMarkerEXT@8 @295
glPopGroupMarkerEXT@0 @296
glEGLImageTargetTexture2DOES@8 @297
glEGLImageTargetRenderbufferStorageOES@8 @298
glBindVertexArrayOES@4 @299
glDeleteVertexArraysOES@8 @300
glGenVertexArraysOES@8 @301
glIsVertexArrayOES@4 @302
glDebugMessageControlKHR@24 @303
glDebugMessageInsertKHR@24 @304
glDebugMessageCallbackKHR@8 @305
glGetDebugMessageLogKHR@32 @306
glPushDebugGroupKHR@16 @307
glPopDebugGroupKHR@0 @308
glObjectLabelKHR@16 @309
glGetObjectLabelKHR@20 @310
glObjectPtrLabelKHR@12 @311
glGetObjectPtrLabelKHR@16 @312
glGetPointervKHR@8 @313
glQueryCounterEXT@8 @314
glGetQueryObjectivEXT@12 @315
glGetQueryObjecti64vEXT@12 @316
glGetQueryObjectui64vEXT@12 @317
glBindUniformLocationCHROMIUM@12 @318
glCoverageModulationCHROMIUM@4 @319
glMatrixLoadfCHROMIUM@8 @320
glMatrixLoadIdentityCHROMIUM@4 @321
glGenPathsCHROMIUM@4 @322
glDeletePathsCHROMIUM@8 @323
glIsPathCHROMIUM@4 @324
glPathCommandsCHROMIUM@24 @325
glPathParameterfCHROMIUM@12 @326
glPathParameteriCHROMIUM@12 @327
glGetPathParameterfvCHROMIUM@12 @328
glGetPathParameterivCHROMIUM@12 @329
glPathStencilFuncCHROMIUM@12 @330
glStencilFillPathCHROMIUM@12 @331
glStencilStrokePathCHROMIUM@12 @332
glCoverFillPathCHROMIUM@8 @333
glCoverStrokePathCHROMIUM@8 @334
glStencilThenCoverFillPathCHROMIUM@16 @335
glStencilThenCoverStrokePathCHROMIUM@16 @336
glCoverFillPathInstancedCHROMIUM@28 @337
glCoverStrokePathInstancedCHROMIUM@28 @338
glStencilStrokePathInstancedCHROMIUM@32 @339
glStencilFillPathInstancedCHROMIUM@32 @340
glStencilThenCoverFillPathInstancedCHROMIUM@36 @341
glStencilThenCoverStrokePathInstancedCHROMIUM@36 @342
glBindFragmentInputLocationCHROMIUM@12 @343
glProgramPathFragmentInputGenCHROMIUM@20 @344
glMatrixLoadfCHROMIUM @320
glMatrixLoadIdentityCHROMIUM @321
glGenPathsCHROMIUM @322
glDeletePathsCHROMIUM @323
glIsPathCHROMIUM @324
glPathCommandsCHROMIUM @325
glPathParameterfCHROMIUM @326
glPathParameteriCHROMIUM @327
glGetPathParameterfvCHROMIUM @328
glGetPathParameterivCHROMIUM @329
glPathStencilFuncCHROMIUM @330
glStencilFillPathCHROMIUM @331
glStencilStrokePathCHROMIUM @332
glCoverFillPathCHROMIUM @333
glCoverStrokePathCHROMIUM @334
glStencilThenCoverFillPathCHROMIUM @335
glStencilThenCoverStrokePathCHROMIUM @336
glCoverFillPathInstancedCHROMIUM @337
glCoverStrokePathInstancedCHROMIUM @338
glStencilStrokePathInstancedCHROMIUM @339
glStencilFillPathInstancedCHROMIUM @340
glStencilThenCoverFillPathInstancedCHROMIUM @341
glStencilThenCoverStrokePathInstancedCHROMIUM @342
glBindFragmentInputLocationCHROMIUM @343
glProgramPathFragmentInputGenCHROMIUM @344
glFramebufferTextureMultiviewLayeredANGLE @413
glFramebufferTextureMultiviewSideBySideANGLE @414
glRequestExtensionANGLE @415
glFramebufferTextureMultiviewLayeredANGLE@24 @413
glFramebufferTextureMultiviewSideBySideANGLE@24 @414
glRequestExtensionANGLE@4 @415
; GLES 3.0 Functions
glReadBuffer @180
glDrawRangeElements @181
glTexImage3D @182
glTexSubImage3D @183
glCopyTexSubImage3D @184
glCompressedTexImage3D @185
glCompressedTexSubImage3D @186
glGenQueries @187
glDeleteQueries @188
glIsQuery @189
glBeginQuery @190
glEndQuery @191
glGetQueryiv @192
glGetQueryObjectuiv @193
glUnmapBuffer @194
glGetBufferPointerv @195
glDrawBuffers @196
glUniformMatrix2x3fv @197
glUniformMatrix3x2fv @198
glUniformMatrix2x4fv @199
glUniformMatrix4x2fv @200
glUniformMatrix3x4fv @201
glUniformMatrix4x3fv @202
glBlitFramebuffer @203
glRenderbufferStorageMultisample @204
glFramebufferTextureLayer @205
glMapBufferRange @206
glFlushMappedBufferRange @207
glBindVertexArray @208
glDeleteVertexArrays @209
glGenVertexArrays @210
glIsVertexArray @211
glGetIntegeri_v @212
glBeginTransformFeedback @213
glEndTransformFeedback @214
glBindBufferRange @215
glBindBufferBase @216
glTransformFeedbackVaryings @217
glGetTransformFeedbackVarying @218
glVertexAttribIPointer @219
glGetVertexAttribIiv @220
glGetVertexAttribIuiv @221
glVertexAttribI4i @222
glVertexAttribI4ui @223
glVertexAttribI4iv @224
glVertexAttribI4uiv @225
glGetUniformuiv @226
glGetFragDataLocation @227
glUniform1ui @228
glUniform2ui @229
glUniform3ui @230
glUniform4ui @231
glUniform1uiv @232
glUniform2uiv @233
glUniform3uiv @234
glUniform4uiv @235
glClearBufferiv @236
glClearBufferuiv @237
glClearBufferfv @238
glClearBufferfi @239
glGetStringi @240
glCopyBufferSubData @241
glGetUniformIndices @242
glGetActiveUniformsiv @243
glGetUniformBlockIndex @244
glGetActiveUniformBlockiv @245
glGetActiveUniformBlockName @246
glUniformBlockBinding @247
glDrawArraysInstanced @248
glDrawElementsInstanced @249
glFenceSync @250
glIsSync @251
glDeleteSync @252
glClientWaitSync @253
glWaitSync @254
glGetInteger64v @255
glGetSynciv @256
glGetInteger64i_v @257
glGetBufferParameteri64v @258
glGenSamplers @259
glDeleteSamplers @260
glIsSampler @261
glBindSampler @262
glSamplerParameteri @263
glSamplerParameteriv @264
glSamplerParameterf @265
glSamplerParameterfv @266
glGetSamplerParameteriv @267
glGetSamplerParameterfv @268
glVertexAttribDivisor @269
glBindTransformFeedback @270
glDeleteTransformFeedbacks @271
glGenTransformFeedbacks @272
glIsTransformFeedback @273
glPauseTransformFeedback @274
glResumeTransformFeedback @275
glGetProgramBinary @276
glProgramBinary @277
glProgramParameteri @278
glInvalidateFramebuffer @279
glInvalidateSubFramebuffer @280
glTexStorage2D @281
glTexStorage3D @282
glGetInternalformativ @283
glReadBuffer@4 @180
glDrawRangeElements@24 @181
glTexImage3D@40 @182
glTexSubImage3D@44 @183
glCopyTexSubImage3D@36 @184
glCompressedTexImage3D@36 @185
glCompressedTexSubImage3D@44 @186
glGenQueries@8 @187
glDeleteQueries@8 @188
glIsQuery@4 @189
glBeginQuery@8 @190
glEndQuery@4 @191
glGetQueryiv@12 @192
glGetQueryObjectuiv@12 @193
glUnmapBuffer@4 @194
glGetBufferPointerv@12 @195
glDrawBuffers@8 @196
glUniformMatrix2x3fv@16 @197
glUniformMatrix3x2fv@16 @198
glUniformMatrix2x4fv@16 @199
glUniformMatrix4x2fv@16 @200
glUniformMatrix3x4fv@16 @201
glUniformMatrix4x3fv@16 @202
glBlitFramebuffer@40 @203
glRenderbufferStorageMultisample@20 @204
glFramebufferTextureLayer@20 @205
glMapBufferRange@16 @206
glFlushMappedBufferRange@12 @207
glBindVertexArray@4 @208
glDeleteVertexArrays@8 @209
glGenVertexArrays@8 @210
glIsVertexArray@4 @211
glGetIntegeri_v@12 @212
glBeginTransformFeedback@4 @213
glEndTransformFeedback@0 @214
glBindBufferRange@20 @215
glBindBufferBase@12 @216
glTransformFeedbackVaryings@16 @217
glGetTransformFeedbackVarying@28 @218
glVertexAttribIPointer@20 @219
glGetVertexAttribIiv@12 @220
glGetVertexAttribIuiv@12 @221
glVertexAttribI4i@20 @222
glVertexAttribI4ui@20 @223
glVertexAttribI4iv@8 @224
glVertexAttribI4uiv@8 @225
glGetUniformuiv@12 @226
glGetFragDataLocation@8 @227
glUniform1ui@8 @228
glUniform2ui@12 @229
glUniform3ui@16 @230
glUniform4ui@20 @231
glUniform1uiv@12 @232
glUniform2uiv@12 @233
glUniform3uiv@12 @234
glUniform4uiv@12 @235
glClearBufferiv@12 @236
glClearBufferuiv@12 @237
glClearBufferfv@12 @238
glClearBufferfi@16 @239
glGetStringi@8 @240
glCopyBufferSubData@20 @241
glGetUniformIndices@16 @242
glGetActiveUniformsiv@20 @243
glGetUniformBlockIndex@8 @244
glGetActiveUniformBlockiv@16 @245
glGetActiveUniformBlockName@20 @246
glUniformBlockBinding@12 @247
glDrawArraysInstanced@16 @248
glDrawElementsInstanced@20 @249
glFenceSync@8 @250
glIsSync@4 @251
glDeleteSync@4 @252
glClientWaitSync@16 @253
glWaitSync@16 @254
glGetInteger64v@8 @255
glGetSynciv@20 @256
glGetInteger64i_v@12 @257
glGetBufferParameteri64v@12 @258
glGenSamplers@8 @259
glDeleteSamplers@8 @260
glIsSampler@4 @261
glBindSampler@8 @262
glSamplerParameteri@12 @263
glSamplerParameteriv@12 @264
glSamplerParameterf@12 @265
glSamplerParameterfv@12 @266
glGetSamplerParameteriv@12 @267
glGetSamplerParameterfv@12 @268
glVertexAttribDivisor@8 @269
glBindTransformFeedback@8 @270
glDeleteTransformFeedbacks@8 @271
glGenTransformFeedbacks@8 @272
glIsTransformFeedback@4 @273
glPauseTransformFeedback@0 @274
glResumeTransformFeedback@0 @275
glGetProgramBinary@20 @276
glProgramBinary@16 @277
glProgramParameteri@12 @278
glInvalidateFramebuffer@12 @279
glInvalidateSubFramebuffer@28 @280
glTexStorage2D@20 @281
glTexStorage3D@24 @282
glGetInternalformativ@20 @283
; GLES 3.1 Functions
glDispatchCompute @345
glDispatchComputeIndirect @346
glDrawArraysIndirect @347
glDrawElementsIndirect @348
glFramebufferParameteri @349
glGetFramebufferParameteriv @350
glGetProgramInterfaceiv @351
glGetProgramResourceIndex @352
glGetProgramResourceName @353
glGetProgramResourceiv @354
glGetProgramResourceLocation @355
glUseProgramStages @356
glActiveShaderProgram @357
glCreateShaderProgramv @358
glBindProgramPipeline @359
glDeleteProgramPipelines @360
glGenProgramPipelines @361
glIsProgramPipeline @362
glGetProgramPipelineiv @363
glProgramUniform1i @364
glProgramUniform2i @365
glProgramUniform3i @366
glProgramUniform4i @367
glProgramUniform1ui @368
glProgramUniform2ui @369
glProgramUniform3ui @370
glProgramUniform4ui @371
glProgramUniform1f @372
glProgramUniform2f @373
glProgramUniform3f @374
glProgramUniform4f @375
glProgramUniform1iv @376
glProgramUniform2iv @377
glProgramUniform3iv @378
glProgramUniform4iv @379
glProgramUniform1uiv @380
glProgramUniform2uiv @381
glProgramUniform3uiv @382
glProgramUniform4uiv @383
glProgramUniform1fv @384
glProgramUniform2fv @385
glProgramUniform3fv @386
glProgramUniform4fv @387
glProgramUniformMatrix2fv @388
glProgramUniformMatrix3fv @389
glProgramUniformMatrix4fv @390
glProgramUniformMatrix2x3fv @391
glProgramUniformMatrix3x2fv @392
glProgramUniformMatrix2x4fv @393
glProgramUniformMatrix4x2fv @394
glProgramUniformMatrix3x4fv @395
glProgramUniformMatrix4x3fv @396
glValidateProgramPipeline @397
glGetProgramPipelineInfoLog @398
glBindImageTexture @399
glGetBooleani_v @400
glMemoryBarrier @401
glMemoryBarrierByRegion @402
glTexStorage2DMultisample @403
glGetMultisamplefv @404
glSampleMaski @405
glGetTexLevelParameteriv @406
glGetTexLevelParameterfv @407
glBindVertexBuffer @408
glVertexAttribFormat @409
glVertexAttribIFormat @410
glVertexAttribBinding @411
glVertexBindingDivisor @412
glDispatchCompute@12 @345
glDispatchComputeIndirect@4 @346
glDrawArraysIndirect@8 @347
glDrawElementsIndirect@12 @348
glFramebufferParameteri@12 @349
glGetFramebufferParameteriv@12 @350
glGetProgramInterfaceiv@16 @351
glGetProgramResourceIndex@12 @352
glGetProgramResourceName@24 @353
glGetProgramResourceiv@32 @354
glGetProgramResourceLocation@12 @355
glUseProgramStages@12 @356
glActiveShaderProgram@8 @357
glCreateShaderProgramv@12 @358
glBindProgramPipeline@4 @359
glDeleteProgramPipelines@8 @360
glGenProgramPipelines@8 @361
glIsProgramPipeline@4 @362
glGetProgramPipelineiv@12 @363
glProgramUniform1i@12 @364
glProgramUniform2i@16 @365
glProgramUniform3i@20 @366
glProgramUniform4i@24 @367
glProgramUniform1ui@12 @368
glProgramUniform2ui@16 @369
glProgramUniform3ui@20 @370
glProgramUniform4ui@24 @371
glProgramUniform1f@12 @372
glProgramUniform2f@16 @373
glProgramUniform3f@20 @374
glProgramUniform4f@24 @375
glProgramUniform1iv@16 @376
glProgramUniform2iv@16 @377
glProgramUniform3iv@16 @378
glProgramUniform4iv@16 @379
glProgramUniform1uiv@16 @380
glProgramUniform2uiv@16 @381
glProgramUniform3uiv@16 @382
glProgramUniform4uiv@16 @383
glProgramUniform1fv@16 @384
glProgramUniform2fv@16 @385
glProgramUniform3fv@16 @386
glProgramUniform4fv@16 @387
glProgramUniformMatrix2fv@20 @388
glProgramUniformMatrix3fv@20 @389
glProgramUniformMatrix4fv@20 @390
glProgramUniformMatrix2x3fv@20 @391
glProgramUniformMatrix3x2fv@20 @392
glProgramUniformMatrix2x4fv@20 @393
glProgramUniformMatrix4x2fv@20 @394
glProgramUniformMatrix3x4fv@20 @395
glProgramUniformMatrix4x3fv@20 @396
glValidateProgramPipeline@4 @397
glGetProgramPipelineInfoLog@16 @398
glBindImageTexture@28 @399
glGetBooleani_v@12 @400
glMemoryBarrier@4 @401
glMemoryBarrierByRegion@4 @402
glTexStorage2DMultisample@24 @403
glGetMultisamplefv@12 @404
glSampleMaski@8 @405
glGetTexLevelParameteriv@16 @406
glGetTexLevelParameterfv@16 @407
glBindVertexBuffer@16 @408
glVertexAttribFormat@20 @409
glVertexAttribIFormat@16 @410
glVertexAttribBinding@8 @411
glVertexBindingDivisor@8 @412

View File

@ -6,8 +6,8 @@
"Description": "SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.",
"Homepage": "https://www.sqlite.org/",
"Version": "3.26.0",
"DownloadLocation": "https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip",
"Version": "3.28.0",
"DownloadLocation": "https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip",
"License": "Public Domain",
"Copyright": "The authors disclaim copyright to the source code. However, a license can be obtained if needed."
}

File diff suppressed because it is too large Load Diff

View File

@ -123,9 +123,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()].
*/
#define SQLITE_VERSION "3.26.0"
#define SQLITE_VERSION_NUMBER 3026000
#define SQLITE_SOURCE_ID "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9"
#define SQLITE_VERSION "3.28.0"
#define SQLITE_VERSION_NUMBER 3028000
#define SQLITE_SOURCE_ID "2019-04-16 19:49:53 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50"
/*
** CAPI3REF: Run-Time Library Version Numbers
@ -189,6 +189,9 @@ SQLITE_API int sqlite3_libversion_number(void);
#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS
SQLITE_API int sqlite3_compileoption_used(const char *zOptName);
SQLITE_API const char *sqlite3_compileoption_get(int N);
#else
# define sqlite3_compileoption_used(X) 0
# define sqlite3_compileoption_get(X) ((void*)0)
#endif
/*
@ -823,6 +826,15 @@ struct sqlite3_io_methods {
** file space based on this hint in order to help writes to the database
** file run faster.
**
** <li>[[SQLITE_FCNTL_SIZE_LIMIT]]
** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that
** implements [sqlite3_deserialize()] to set an upper bound on the size
** of the in-memory database. The argument is a pointer to a [sqlite3_int64].
** If the integer pointed to is negative, then it is filled in with the
** current limit. Otherwise the limit is set to the larger of the value
** of the integer pointed to and the current database size. The integer
** pointed to is set to the new limit.
**
** <li>[[SQLITE_FCNTL_CHUNK_SIZE]]
** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS
** extends and truncates the database file in chunks of a size specified
@ -1131,6 +1143,7 @@ struct sqlite3_io_methods {
#define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33
#define SQLITE_FCNTL_LOCK_TIMEOUT 34
#define SQLITE_FCNTL_DATA_VERSION 35
#define SQLITE_FCNTL_SIZE_LIMIT 36
/* deprecated names */
#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
@ -1972,6 +1985,17 @@ struct sqlite3_mem_methods {
** negative value for this option restores the default behaviour.
** This option is only available if SQLite is compiled with the
** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option.
**
** [[SQLITE_CONFIG_MEMDB_MAXSIZE]]
** <dt>SQLITE_CONFIG_MEMDB_MAXSIZE
** <dd>The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter
** [sqlite3_int64] parameter which is the default maximum size for an in-memory
** database created using [sqlite3_deserialize()]. This default maximum
** size can be adjusted up or down for individual databases using the
** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If this
** configuration setting is never used, then the default maximum is determined
** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that
** compile-time option is not set, then the default maximum is 1073741824.
** </dl>
*/
#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */
@ -2002,6 +2026,7 @@ struct sqlite3_mem_methods {
#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */
#define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */
#define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */
#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */
/*
** CAPI3REF: Database Connection Configuration Options
@ -2064,8 +2089,8 @@ struct sqlite3_mem_methods {
**
** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]]
** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt>
** <dd> ^This option is used to enable or disable the two-argument
** version of the [fts3_tokenizer()] function which is part of the
** <dd> ^This option is used to enable or disable the
** [fts3_tokenizer()] function which is part of the
** [FTS3] full-text search engine extension.
** There should be two additional arguments.
** The first argument is an integer which is 0 to disable fts3_tokenizer() or
@ -2177,6 +2202,17 @@ struct sqlite3_mem_methods {
** <li> Direct writes to [shadow tables].
** </ul>
** </dd>
**
** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]] <dt>SQLITE_DBCONFIG_WRITABLE_SCHEMA</dt>
** <dd>The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the
** "writable_schema" flag. This has the same effect and is logically equivalent
** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF].
** The first argument to this setting is an integer which is 0 to disable
** the writable_schema, positive to enable writable_schema, or negative to
** leave the setting unchanged. The second parameter is a pointer to an
** integer into which is written 0 or 1 to indicate whether the writable_schema
** is enabled or disabled following this call.
** </dd>
** </dl>
*/
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
@ -2190,7 +2226,8 @@ struct sqlite3_mem_methods {
#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */
#define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */
#define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */
#define SQLITE_DBCONFIG_MAX 1010 /* Largest DBCONFIG */
#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */
#define SQLITE_DBCONFIG_MAX 1011 /* Largest DBCONFIG */
/*
** CAPI3REF: Enable Or Disable Extended Result Codes
@ -2347,7 +2384,7 @@ SQLITE_API int sqlite3_changes(sqlite3*);
** not. ^Changes to a view that are intercepted by INSTEAD OF triggers
** are not counted.
**
** This the [sqlite3_total_changes(D)] interface only reports the number
** The [sqlite3_total_changes(D)] interface only reports the number
** of rows that changed due to SQL statement run against database
** connection D. Any changes by other database connections are ignored.
** To detect changes against a database file from other database
@ -2991,9 +3028,9 @@ SQLITE_API int sqlite3_set_authorizer(
** time is in units of nanoseconds, however the current implementation
** is only capable of millisecond resolution so the six least significant
** digits in the time are meaningless. Future versions of SQLite
** might provide greater resolution on the profiler callback. The
** sqlite3_profile() function is considered experimental and is
** subject to change in future versions of SQLite.
** might provide greater resolution on the profiler callback. Invoking
** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the
** profile callback.
*/
SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*,
void(*xTrace)(void*,const char*), void*);
@ -3407,6 +3444,8 @@ SQLITE_API int sqlite3_open_v2(
** is not a database file pathname pointer that SQLite passed into the xOpen
** VFS method, then the behavior of this routine is undefined and probably
** undesirable.
**
** See the [URI filename] documentation for additional information.
*/
SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam);
SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault);
@ -3629,18 +3668,23 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
** deplete the limited store of lookaside memory. Future versions of
** SQLite may act on this hint differently.
**
** [[SQLITE_PREPARE_NORMALIZE]] ^(<dt>SQLITE_PREPARE_NORMALIZE</dt>
** <dd>The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized
** representation of the SQL statement should be calculated and then
** associated with the prepared statement, which can be obtained via
** the [sqlite3_normalized_sql()] interface.)^ The semantics used to
** normalize a SQL statement are unspecified and subject to change.
** At a minimum, literal values will be replaced with suitable
** placeholders.
** [[SQLITE_PREPARE_NORMALIZE]] <dt>SQLITE_PREPARE_NORMALIZE</dt>
** <dd>The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used
** to be required for any prepared statement that wanted to use the
** [sqlite3_normalized_sql()] interface. However, the
** [sqlite3_normalized_sql()] interface is now available to all
** prepared statements, regardless of whether or not they use this
** flag.
**
** [[SQLITE_PREPARE_NO_VTAB]] <dt>SQLITE_PREPARE_NO_VTAB</dt>
** <dd>The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler
** to return an error (error code SQLITE_ERROR) if the statement uses
** any virtual tables.
** </dl>
*/
#define SQLITE_PREPARE_PERSISTENT 0x01
#define SQLITE_PREPARE_NORMALIZE 0x02
#define SQLITE_PREPARE_NO_VTAB 0x04
/*
** CAPI3REF: Compiling An SQL Statement
@ -3865,6 +3909,18 @@ SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt);
*/
SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
/*
** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement
** METHOD: sqlite3_stmt
**
** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the
** prepared statement S is an EXPLAIN statement, or 2 if the
** statement S is an EXPLAIN QUERY PLAN.
** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is
** an ordinary statement or a NULL pointer.
*/
SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt);
/*
** CAPI3REF: Determine If A Prepared Statement Has Been Reset
** METHOD: sqlite3_stmt
@ -4004,7 +4060,9 @@ typedef struct sqlite3_context sqlite3_context;
** ^The fifth argument to the BLOB and string binding interfaces
** is a destructor used to dispose of the BLOB or
** string after SQLite has finished with it. ^The destructor is called
** to dispose of the BLOB or string even if the call to bind API fails.
** to dispose of the BLOB or string even if the call to the bind API fails,
** except the destructor is not called if the third parameter is a NULL
** pointer or the fourth parameter is negative.
** ^If the fifth argument is
** the special value [SQLITE_STATIC], then SQLite assumes that the
** information is in static, unmanaged space and does not need to be freed.
@ -4921,6 +4979,8 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
** <tr><td><b>sqlite3_value_nochange&nbsp;&nbsp;</b>
** <td>&rarr;&nbsp;&nbsp;<td>True if the column is unchanged in an UPDATE
** against a virtual table.
** <tr><td><b>sqlite3_value_frombind&nbsp;&nbsp;</b>
** <td>&rarr;&nbsp;&nbsp;<td>True if value originated from a [bound parameter]
** </table></blockquote>
**
** <b>Details:</b>
@ -4982,6 +5042,11 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
** than within an [xUpdate] method call for an UPDATE statement, then
** the return value is arbitrary and meaningless.
**
** ^The sqlite3_value_frombind(X) interface returns non-zero if the
** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()]
** interfaces. ^If X comes from an SQL literal value, or a table column,
** and expression, then sqlite3_value_frombind(X) returns zero.
**
** Please pay particular attention to the fact that the pointer returned
** from [sqlite3_value_blob()], [sqlite3_value_text()], or
** [sqlite3_value_text16()] can be invalidated by a subsequent call to
@ -5027,6 +5092,7 @@ SQLITE_API int sqlite3_value_bytes16(sqlite3_value*);
SQLITE_API int sqlite3_value_type(sqlite3_value*);
SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*);
SQLITE_API int sqlite3_value_nochange(sqlite3_value*);
SQLITE_API int sqlite3_value_frombind(sqlite3_value*);
/*
** CAPI3REF: Finding The Subtype Of SQL Values
@ -5762,7 +5828,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
** associated with database N of connection D. ^The main database file
** has the name "main". If there is no attached database N on the database
** connection D, or if database N is a temporary or in-memory database, then
** a NULL pointer is returned.
** this function will return either a NULL pointer or an empty string.
**
** ^The filename returned by this function is the output of the
** xFullPathname method of the [VFS]. ^In other words, the filename
@ -9996,7 +10062,7 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
** sqlite3changeset_next() is called on the iterator or until the
** conflict-handler function returns. If pnCol is not NULL, then *pnCol is
** set to the number of columns in the table affected by the change. If
** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change
** pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change
** is an indirect change, or false (0) otherwise. See the documentation for
** [sqlite3session_indirect()] for a description of direct and indirect
** changes. Finally, if pOp is not NULL, then *pOp is set to one of
@ -10863,7 +10929,7 @@ SQLITE_API int sqlite3rebaser_configure(
** in size. This function allocates and populates a buffer with a copy
** of the changeset rebased rebased according to the configuration of the
** rebaser object passed as the first argument. If successful, (*ppOut)
** is set to point to the new buffer containing the rebased changset and
** is set to point to the new buffer containing the rebased changeset and
** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the
** responsibility of the caller to eventually free the new buffer using
** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut)
@ -11230,12 +11296,8 @@ struct Fts5PhraseIter {
**
** Usually, output parameter *piPhrase is set to the phrase number, *piCol
** to the column in which it occurs and *piOff the token offset of the
** first token of the phrase. The exception is if the table was created
** with the offsets=0 option specified. In this case *piOff is always
** set to -1.
**
** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM)
** if an error occurs.
** first token of the phrase. Returns SQLITE_OK if successful, or an error
** code (i.e. SQLITE_NOMEM) if an error occurs.
**
** This API can be quite slow if used with an FTS5 table created with the
** "detail=none" or "detail=column" option.
@ -11276,7 +11338,7 @@ struct Fts5PhraseIter {
** Save the pointer passed as the second argument as the extension functions
** "auxiliary data". The pointer may then be retrieved by the current or any
** future invocation of the same fts5 extension function made as part of
** of the same MATCH query using the xGetAuxdata() API.
** the same MATCH query using the xGetAuxdata() API.
**
** Each extension function is allocated a single auxiliary data slot for
** each FTS query (MATCH expression). If the extension function is invoked
@ -11291,7 +11353,7 @@ struct Fts5PhraseIter {
** The xDelete callback, if one is specified, is also invoked on the
** auxiliary data pointer after the FTS5 query has finished.
**
** If an error (e.g. an OOM condition) occurs within this function, an
** If an error (e.g. an OOM condition) occurs within this function,
** the auxiliary data is set to NULL and an error code returned. If the
** xDelete parameter was not NULL, it is invoked on the auxiliary data
** pointer before returning.
@ -11524,11 +11586,11 @@ struct Fts5ExtensionApi {
** the tokenizer substitutes "first" for "1st" and the query works
** as expected.
**
** <li> By adding multiple synonyms for a single term to the FTS index.
** In this case, when tokenizing query text, the tokenizer may
** provide multiple synonyms for a single term within the document.
** FTS5 then queries the index for each synonym individually. For
** example, faced with the query:
** <li> By querying the index for all synonyms of each query term
** separately. In this case, when tokenizing query text, the
** tokenizer may provide multiple synonyms for a single term
** within the document. FTS5 then queries the index for each
** synonym individually. For example, faced with the query:
**
** <codeblock>
** ... MATCH 'first place'</codeblock>
@ -11552,7 +11614,7 @@ struct Fts5ExtensionApi {
** "place".
**
** This way, even if the tokenizer does not provide synonyms
** when tokenizing query text (it should not - to do would be
** when tokenizing query text (it should not - to do so would be
** inefficient), it doesn't matter if the user queries for
** 'first + place' or '1st + place', as there are entries in the
** FTS index corresponding to both forms of the first token.

View File

@ -720,6 +720,12 @@ void QThread::start(Priority priority)
}
}
#ifdef Q_OS_INTEGRITY
if (Q_LIKELY(objectName().isEmpty()))
pthread_attr_setthreadname(&attr, metaObject()->className());
else
pthread_attr_setthreadname(&attr, objectName().toLocal8Bit());
#endif
pthread_t threadId;
int code = pthread_create(&threadId, &attr, QThreadPrivate::start, this);
if (code == EPERM) {

View File

@ -136,6 +136,55 @@ static unsigned int q_ssl_psk_server_callback(SSL *ssl,
Q_ASSERT(d);
return d->tlsPskServerCallback(identity, psk, max_psk_len);
}
#ifdef TLS1_3_VERSION
#ifndef OPENSSL_NO_PSK
static unsigned int q_ssl_psk_restore_client(SSL *ssl,
const char *hint,
char *identity, unsigned int max_identity_len,
unsigned char *psk, unsigned int max_psk_len)
{
Q_UNUSED(hint);
Q_UNUSED(identity);
Q_UNUSED(max_identity_len);
Q_UNUSED(psk);
Q_UNUSED(max_psk_len);
#ifdef QT_DEBUG
QSslSocketBackendPrivate *d = reinterpret_cast<QSslSocketBackendPrivate *>(q_SSL_get_ex_data(ssl, QSslSocketBackendPrivate::s_indexForSSLExtraData));
Q_ASSERT(d);
Q_ASSERT(d->mode == QSslSocket::SslClientMode);
#endif
q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback);
return 0;
}
#endif // !OPENSSL_NO_PSK
static int q_ssl_psk_use_session_callback(SSL *ssl, const EVP_MD *md, const unsigned char **id,
size_t *idlen, SSL_SESSION **sess)
{
Q_UNUSED(ssl);
Q_UNUSED(md);
Q_UNUSED(id);
Q_UNUSED(idlen);
Q_UNUSED(sess);
#ifndef OPENSSL_NO_PSK
#ifdef QT_DEBUG
QSslSocketBackendPrivate *d = reinterpret_cast<QSslSocketBackendPrivate *>(q_SSL_get_ex_data(ssl, QSslSocketBackendPrivate::s_indexForSSLExtraData));
Q_ASSERT(d);
Q_ASSERT(d->mode == QSslSocket::SslClientMode);
#endif
// Temporarily rebind the psk because it will be called next. The function will restore it.
q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_restore_client);
#endif
return 1; // need to return 1 or else "the connection setup fails."
}
#endif // TLS1_3_VERSION
#endif
} // extern "C"
@ -411,6 +460,13 @@ bool QSslSocketBackendPrivate::initSslContext()
q_SSL_set_psk_server_callback(ssl, &q_ssl_psk_server_callback);
}
#endif
#if OPENSSL_VERSION_NUMBER >= 0x10101006L
// Set the client callback for TLSv1.3 PSK
if (mode == QSslSocket::SslClientMode
&& QSslSocket::sslLibraryBuildVersionNumber() >= 0x10101006L) {
q_SSL_set_psk_use_session_callback(ssl, &q_ssl_psk_use_session_callback);
}
#endif // openssl version >= 0x10101006L
return true;
}

View File

@ -178,4 +178,10 @@ void q_BIO_set_shutdown(BIO *a, int shut);
#define q_SSL_CTX_set_max_proto_version(ctx, version) \
q_SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, nullptr)
extern "C" {
typedef int (*q_SSL_psk_use_session_cb_func_t)(SSL *, const EVP_MD *, const unsigned char **, size_t *,
SSL_SESSION **);
}
void q_SSL_set_psk_use_session_callback(SSL *s, q_SSL_psk_use_session_cb_func_t);
#endif

View File

@ -163,6 +163,7 @@ DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return)
DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return)
#ifdef TLS1_3_VERSION
DEFINEFUNC2(int, SSL_CTX_set_ciphersuites, SSL_CTX *ctx, ctx, const char *str, str, return 0, return)
DEFINEFUNC2(void, SSL_set_psk_use_session_callback, SSL *ssl, ssl, q_SSL_psk_use_session_cb_func_t callback, callback, return, DUMMYARG)
#endif
DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return)
DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return)
@ -980,6 +981,7 @@ bool q_resolveOpenSslSymbols()
RESOLVEFUNC(SSL_CTX_set_options)
#ifdef TLS1_3_VERSION
RESOLVEFUNC(SSL_CTX_set_ciphersuites)
RESOLVEFUNC(SSL_set_psk_use_session_callback)
#endif // TLS 1.3 or OpenSSL > 1.1.1
RESOLVEFUNC(SSL_get_client_random)
RESOLVEFUNC(SSL_SESSION_get_master_key)

View File

@ -339,7 +339,7 @@ void tst_Http2::flowControlServerSide()
clearHTTP2State();
serverPort = 0;
nRequests = 30;
nRequests = 10;
const Http2::RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, 7}};

View File

@ -5014,6 +5014,9 @@ public:
// very similar to ioPostToHttpUploadProgress but for SSL
void tst_QNetworkReply::ioPostToHttpsUploadProgress()
{
#ifdef Q_OS_WIN
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
#endif
//QFile sourceFile(testDataDir + "/bigfile");
//QVERIFY(sourceFile.open(QIODevice::ReadOnly));
qint64 wantedSize = 2*1024*1024; // 2 MB
@ -6395,6 +6398,10 @@ void tst_QNetworkReply::encrypted()
void tst_QNetworkReply::abortOnEncrypted()
{
#ifdef Q_OS_WIN
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
#endif
SslServer server;
server.listen();
if (!server.isListening())
@ -8472,7 +8479,9 @@ void tst_QNetworkReply::ioHttpRedirectErrors_data()
QTest::newRow("too-many-redirects") << "http://localhost" << tempRedirectReply << QNetworkReply::TooManyRedirectsError;
#if QT_CONFIG(ssl)
#ifndef Q_OS_WIN // QTBUG-76157
QTest::newRow("insecure-redirect") << "https://localhost" << tempRedirectReply << QNetworkReply::InsecureRedirectError;
#endif // Q_OS_WIN
#endif
QTest::newRow("unknown-redirect") << "http://localhost"<< tempRedirectReply.replace("http", "bad_protocol") << QNetworkReply::ProtocolUnknownError;
}
@ -8549,9 +8558,11 @@ void tst_QNetworkReply::ioHttpRedirectPolicy_data()
QTest::newRow("nolesssafe-nossl") << QNetworkRequest::NoLessSafeRedirectPolicy << false << 1 << 200;
QTest::newRow("same-origin-nossl") << QNetworkRequest::SameOriginRedirectPolicy << false << 1 << 200;
#if QT_CONFIG(ssl)
#ifndef Q_OS_WIN // QTBUG-76157
QTest::newRow("manual-ssl") << QNetworkRequest::ManualRedirectPolicy << true << 0 << 307;
QTest::newRow("nolesssafe-ssl") << QNetworkRequest::NoLessSafeRedirectPolicy << true << 1 << 200;
QTest::newRow("same-origin-ssl") << QNetworkRequest::SameOriginRedirectPolicy << true << 1 << 200;
#endif // Q_OS_WIN
#endif
}
@ -8605,33 +8616,41 @@ void tst_QNetworkReply::ioHttpRedirectPolicyErrors_data()
QTest::newRow("nolesssafe-nossl-nossl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
#if QT_CONFIG(ssl)
#ifndef Q_OS_WIN // QTBUG-76157
QTest::newRow("nolesssafe-ssl-ssl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
<< true << QString("https:/localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
QTest::newRow("nolesssafe-ssl-nossl-insecure-redirect") << QNetworkRequest::NoLessSafeRedirectPolicy
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
#endif // Q_OS_WIN
#endif
// 2. SameOriginRedirectsPolicy
QTest::newRow("same-origin-nossl-nossl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
#if QT_CONFIG(ssl)
#ifndef Q_OS_WIN // QTBUG-76157
QTest::newRow("same-origin-ssl-ssl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
<< true << QString("https://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
QTest::newRow("same-origin-https-http-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
#endif // Q_OS_WIN
#endif
QTest::newRow("same-origin-http-https-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
<< false << QString("https://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
QTest::newRow("same-origin-http-http-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
<< false << QString("http://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
#if QT_CONFIG(ssl)
#ifndef Q_OS_WIN // QTBUG-76157
QTest::newRow("same-origin-https-https-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
<< true << QString("https://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
#endif // Q_OS_WIN
#endif
QTest::newRow("same-origin-http-http-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
<< false << QString("http://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
#if QT_CONFIG(ssl)
#ifndef Q_OS_WIN // QTBUG-76157
QTest::newRow("same-origin-https-https-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
<< true << QString("https://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
#endif // Q_OS_WIN
#endif
}
@ -9106,6 +9125,10 @@ void tst_QNetworkReply::putWithServerClosingConnectionImmediately()
for (int s = 0; s <= 1; s++) {
withSsl = (s == 1);
#ifdef Q_OS_WIN
if (withSsl)
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
#endif // Q_OS_WIN
// Test also needs to run several times because of 9c2ecf89
for (int j = 0; j < 20; j++) {
// emulate a minimal https server

View File

@ -2171,7 +2171,7 @@ protected:
// delayed reading data
QTest::qSleep(100);
if (!socket->waitForReadyRead(2000))
if (!socket->waitForReadyRead(2000) && socket->bytesAvailable() == 0)
return; // error
socket->readAll();
dataReadSemaphore.release();
@ -2242,7 +2242,7 @@ void tst_QSslSocket::waitForMinusOne()
socket.write("How are you doing?");
QVERIFY(socket.bytesToWrite() != 0);
QVERIFY(socket.waitForBytesWritten(-1));
QVERIFY(server.dataReadSemaphore.tryAcquire(1, 2000));
QVERIFY(server.dataReadSemaphore.tryAcquire(1, 2500));
// third verification: it should wait for 100 ms:
QVERIFY(socket.waitForReadyRead(-1));
@ -3550,12 +3550,7 @@ protected:
socket = new QSslSocket(this);
socket->setSslConfiguration(config);
socket->setPeerVerifyMode(peerVerifyMode);
if (QSslSocket::sslLibraryVersionNumber() > 0x10101000L) {
// FIXME. With OpenSSL 1.1.1 and TLS 1.3 PSK auto-test is broken.
socket->setProtocol(QSsl::TlsV1_2);
} else {
socket->setProtocol(protocol);
}
socket->setProtocol(protocol);
if (ignoreSslErrors)
connect(socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
@ -3935,11 +3930,6 @@ void tst_QSslSocket::pskServer()
return;
QSslSocket socket;
#ifdef TLS1_3_VERSION
// FIXME: with OpenSSL 1.1.1 (thus TLS 1.3) test is known to fail
// due to the different PSK mechanism (?) - to be investigated ASAP.
socket.setProtocol(QSsl::TlsV1_2);
#endif
this->socket = &socket;
QSignalSpy connectedSpy(&socket, SIGNAL(connected()));