mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2026-10-26 22:10:01 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c321dc5e81 | ||
|
|
72f37c9df4 | ||
|
|
544eac0c8a | ||
|
|
823593ddae | ||
|
|
3600e704c4 | ||
|
|
0c79d756a4 | ||
|
|
eb531a7a88 | ||
|
|
d6634d30dc | ||
|
|
f87806b1b4 | ||
|
|
2a5afeb5ff | ||
|
|
fc5495f1ec | ||
|
|
699cc361a2 |
No files matched your search
+2
-2
@@ -9,8 +9,8 @@ android {
|
|||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 30
|
targetSdkVersion 30
|
||||||
|
|
||||||
versionName "9.8.6"
|
versionName "9.8.7"
|
||||||
versionCode = 257
|
versionCode = 259
|
||||||
}
|
}
|
||||||
|
|
||||||
flavorDimensions "root"
|
flavorDimensions "root"
|
||||||
|
|||||||
@@ -473,6 +473,7 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
|||||||
.setAttachedGamepadMask(gamepadMask)
|
.setAttachedGamepadMask(gamepadMask)
|
||||||
.setClientRefreshRateX100((int)(displayRefreshRate * 100))
|
.setClientRefreshRateX100((int)(displayRefreshRate * 100))
|
||||||
.setAudioConfiguration(prefConfig.audioConfiguration)
|
.setAudioConfiguration(prefConfig.audioConfiguration)
|
||||||
|
.setAudioEncryption(true)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// Initialize the connection
|
// Initialize the connection
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
private Thread rendererThread;
|
private Thread rendererThread;
|
||||||
private boolean needsSpsBitstreamFixup, isExynos4;
|
private boolean needsSpsBitstreamFixup, isExynos4;
|
||||||
private boolean adaptivePlayback, directSubmit;
|
private boolean adaptivePlayback, directSubmit;
|
||||||
private boolean lowLatency;
|
|
||||||
private boolean constrainedHighProfile;
|
private boolean constrainedHighProfile;
|
||||||
private boolean refFrameInvalidationAvc, refFrameInvalidationHevc;
|
private boolean refFrameInvalidationAvc, refFrameInvalidationHevc;
|
||||||
private boolean refFrameInvalidationActive;
|
private boolean refFrameInvalidationActive;
|
||||||
@@ -85,6 +84,8 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
private int numSpsIn;
|
private int numSpsIn;
|
||||||
private int numPpsIn;
|
private int numPpsIn;
|
||||||
private int numVpsIn;
|
private int numVpsIn;
|
||||||
|
private int numFramesIn;
|
||||||
|
private int numFramesOut;
|
||||||
|
|
||||||
private MediaCodecInfo findAvcDecoder() {
|
private MediaCodecInfo findAvcDecoder() {
|
||||||
MediaCodecInfo decoder = MediaCodecHelper.findProbableSafeDecoder("video/avc", MediaCodecInfo.CodecProfileLevel.AVCProfileHigh);
|
MediaCodecInfo decoder = MediaCodecHelper.findProbableSafeDecoder("video/avc", MediaCodecInfo.CodecProfileLevel.AVCProfileHigh);
|
||||||
@@ -241,11 +242,11 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
this.refreshRate = redrawRate;
|
this.refreshRate = redrawRate;
|
||||||
|
|
||||||
String mimeType;
|
String mimeType;
|
||||||
String selectedDecoderName;
|
MediaCodecInfo selectedDecoderInfo;
|
||||||
|
|
||||||
if ((videoFormat & MoonBridge.VIDEO_FORMAT_MASK_H264) != 0) {
|
if ((videoFormat & MoonBridge.VIDEO_FORMAT_MASK_H264) != 0) {
|
||||||
mimeType = "video/avc";
|
mimeType = "video/avc";
|
||||||
selectedDecoderName = avcDecoder.getName();
|
selectedDecoderInfo = avcDecoder;
|
||||||
|
|
||||||
if (avcDecoder == null) {
|
if (avcDecoder == null) {
|
||||||
LimeLog.severe("No available AVC decoder!");
|
LimeLog.severe("No available AVC decoder!");
|
||||||
@@ -258,31 +259,28 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// These fixups only apply to H264 decoders
|
// These fixups only apply to H264 decoders
|
||||||
needsSpsBitstreamFixup = MediaCodecHelper.decoderNeedsSpsBitstreamRestrictions(selectedDecoderName);
|
needsSpsBitstreamFixup = MediaCodecHelper.decoderNeedsSpsBitstreamRestrictions(selectedDecoderInfo.getName());
|
||||||
needsBaselineSpsHack = MediaCodecHelper.decoderNeedsBaselineSpsHack(selectedDecoderName);
|
needsBaselineSpsHack = MediaCodecHelper.decoderNeedsBaselineSpsHack(selectedDecoderInfo.getName());
|
||||||
constrainedHighProfile = MediaCodecHelper.decoderNeedsConstrainedHighProfile(selectedDecoderName);
|
constrainedHighProfile = MediaCodecHelper.decoderNeedsConstrainedHighProfile(selectedDecoderInfo.getName());
|
||||||
isExynos4 = MediaCodecHelper.isExynos4Device();
|
isExynos4 = MediaCodecHelper.isExynos4Device();
|
||||||
if (needsSpsBitstreamFixup) {
|
if (needsSpsBitstreamFixup) {
|
||||||
LimeLog.info("Decoder "+selectedDecoderName+" needs SPS bitstream restrictions fixup");
|
LimeLog.info("Decoder "+selectedDecoderInfo.getName()+" needs SPS bitstream restrictions fixup");
|
||||||
}
|
}
|
||||||
if (needsBaselineSpsHack) {
|
if (needsBaselineSpsHack) {
|
||||||
LimeLog.info("Decoder "+selectedDecoderName+" needs baseline SPS hack");
|
LimeLog.info("Decoder "+selectedDecoderInfo.getName()+" needs baseline SPS hack");
|
||||||
}
|
}
|
||||||
if (constrainedHighProfile) {
|
if (constrainedHighProfile) {
|
||||||
LimeLog.info("Decoder "+selectedDecoderName+" needs constrained high profile");
|
LimeLog.info("Decoder "+selectedDecoderInfo.getName()+" needs constrained high profile");
|
||||||
}
|
}
|
||||||
if (isExynos4) {
|
if (isExynos4) {
|
||||||
LimeLog.info("Decoder "+selectedDecoderName+" is on Exynos 4");
|
LimeLog.info("Decoder "+selectedDecoderInfo.getName()+" is on Exynos 4");
|
||||||
}
|
}
|
||||||
|
|
||||||
refFrameInvalidationActive = refFrameInvalidationAvc;
|
refFrameInvalidationActive = refFrameInvalidationAvc;
|
||||||
|
|
||||||
lowLatency = MediaCodecHelper.decoderSupportsLowLatency(avcDecoder, mimeType);
|
|
||||||
adaptivePlayback = MediaCodecHelper.decoderSupportsAdaptivePlayback(avcDecoder, mimeType);
|
|
||||||
}
|
}
|
||||||
else if ((videoFormat & MoonBridge.VIDEO_FORMAT_MASK_H265) != 0) {
|
else if ((videoFormat & MoonBridge.VIDEO_FORMAT_MASK_H265) != 0) {
|
||||||
mimeType = "video/hevc";
|
mimeType = "video/hevc";
|
||||||
selectedDecoderName = hevcDecoder.getName();
|
selectedDecoderInfo = hevcDecoder;
|
||||||
|
|
||||||
if (hevcDecoder == null) {
|
if (hevcDecoder == null) {
|
||||||
LimeLog.severe("No available HEVC decoder!");
|
LimeLog.severe("No available HEVC decoder!");
|
||||||
@@ -290,9 +288,6 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
refFrameInvalidationActive = refFrameInvalidationHevc;
|
refFrameInvalidationActive = refFrameInvalidationHevc;
|
||||||
|
|
||||||
lowLatency = MediaCodecHelper.decoderSupportsLowLatency(hevcDecoder, mimeType);
|
|
||||||
adaptivePlayback = MediaCodecHelper.decoderSupportsAdaptivePlayback(hevcDecoder, mimeType);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Unknown format
|
// Unknown format
|
||||||
@@ -300,10 +295,12 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adaptivePlayback = MediaCodecHelper.decoderSupportsAdaptivePlayback(selectedDecoderInfo, mimeType);
|
||||||
|
|
||||||
// Codecs have been known to throw all sorts of crazy runtime exceptions
|
// Codecs have been known to throw all sorts of crazy runtime exceptions
|
||||||
// due to implementation problems
|
// due to implementation problems
|
||||||
try {
|
try {
|
||||||
videoDecoder = MediaCodec.createByCodecName(selectedDecoderName);
|
videoDecoder = MediaCodec.createByCodecName(selectedDecoderInfo.getName());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return -4;
|
return -4;
|
||||||
@@ -326,26 +323,7 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
videoFormat.setInteger(MediaFormat.KEY_MAX_HEIGHT, height);
|
videoFormat.setInteger(MediaFormat.KEY_MAX_HEIGHT, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && lowLatency) {
|
MediaCodecHelper.setDecoderLowLatencyOptions(videoFormat, selectedDecoderInfo, mimeType);
|
||||||
videoFormat.setInteger(MediaFormat.KEY_LOW_LATENCY, 1);
|
|
||||||
}
|
|
||||||
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
||||||
// Set the Qualcomm vendor low latency extension if the Android R option is unavailable
|
|
||||||
if (MediaCodecHelper.decoderSupportsQcomVendorLowLatency(selectedDecoderName)) {
|
|
||||||
// MediaCodec supports vendor-defined format keys using the "vendor.<extension name>.<parameter name>" syntax.
|
|
||||||
// These allow access to functionality that is not exposed through documented MediaFormat.KEY_* values.
|
|
||||||
// https://cs.android.com/android/platform/superproject/+/master:hardware/qcom/sdm845/media/mm-video-v4l2/vidc/common/inc/vidc_vendor_extensions.h;l=67
|
|
||||||
//
|
|
||||||
// Examples of Qualcomm's vendor extensions for Snapdragon 845:
|
|
||||||
// https://cs.android.com/android/platform/superproject/+/master:hardware/qcom/sdm845/media/mm-video-v4l2/vidc/vdec/src/omx_vdec_extensions.hpp
|
|
||||||
// https://cs.android.com/android/_/android/platform/hardware/qcom/sm8150/media/+/0621ceb1c1b19564999db8293574a0e12952ff6c
|
|
||||||
videoFormat.setInteger("vendor.qti-ext-dec-low-latency.enable", 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (MediaCodecHelper.decoderSupportsMaxOperatingRate(selectedDecoderName)) {
|
|
||||||
videoFormat.setInteger(MediaFormat.KEY_OPERATING_RATE, Short.MAX_VALUE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
configuredFormat = videoFormat;
|
configuredFormat = videoFormat;
|
||||||
LimeLog.info("Configuring with format: "+configuredFormat);
|
LimeLog.info("Configuring with format: "+configuredFormat);
|
||||||
@@ -375,7 +353,7 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
}, null);
|
}, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
LimeLog.info("Using codec "+selectedDecoderName+" for hardware decoding "+mimeType);
|
LimeLog.info("Using codec "+selectedDecoderInfo.getName()+" for hardware decoding "+mimeType);
|
||||||
|
|
||||||
// Start the decoder
|
// Start the decoder
|
||||||
videoDecoder.start();
|
videoDecoder.start();
|
||||||
@@ -454,10 +432,14 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
long presentationTimeUs = info.presentationTimeUs;
|
long presentationTimeUs = info.presentationTimeUs;
|
||||||
int lastIndex = outIndex;
|
int lastIndex = outIndex;
|
||||||
|
|
||||||
|
numFramesOut++;
|
||||||
|
|
||||||
// Get the last output buffer in the queue
|
// Get the last output buffer in the queue
|
||||||
while ((outIndex = videoDecoder.dequeueOutputBuffer(info, 0)) >= 0) {
|
while ((outIndex = videoDecoder.dequeueOutputBuffer(info, 0)) >= 0) {
|
||||||
videoDecoder.releaseOutputBuffer(lastIndex, false);
|
videoDecoder.releaseOutputBuffer(lastIndex, false);
|
||||||
|
|
||||||
|
numFramesOut++;
|
||||||
|
|
||||||
lastIndex = outIndex;
|
lastIndex = outIndex;
|
||||||
presentationTimeUs = info.presentationTimeUs;
|
presentationTimeUs = info.presentationTimeUs;
|
||||||
}
|
}
|
||||||
@@ -919,6 +901,8 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
|
|
||||||
submitCsdNextCall = false;
|
submitCsdNextCall = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
numFramesIn++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (decodeUnitLength > buf.limit() - buf.position()) {
|
if (decodeUnitLength > buf.limit() - buf.position()) {
|
||||||
@@ -1064,8 +1048,31 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String generateText(MediaCodecDecoderRenderer renderer, Exception originalException, ByteBuffer currentBuffer, int currentCodecFlags) {
|
private String generateText(MediaCodecDecoderRenderer renderer, Exception originalException, ByteBuffer currentBuffer, int currentCodecFlags) {
|
||||||
String str = "";
|
String str;
|
||||||
|
|
||||||
|
if (renderer.numVpsIn == 0 && renderer.numSpsIn == 0 && renderer.numPpsIn == 0) {
|
||||||
|
str = "PreSPSError";
|
||||||
|
}
|
||||||
|
else if (renderer.numSpsIn > 0 && renderer.numPpsIn == 0) {
|
||||||
|
str = "PrePPSError";
|
||||||
|
}
|
||||||
|
else if (renderer.numPpsIn > 0 && renderer.numFramesIn == 0) {
|
||||||
|
str = "PreIFrameError";
|
||||||
|
}
|
||||||
|
else if (renderer.numFramesIn > 0 && renderer.outputFormat == null) {
|
||||||
|
str = "PreOutputConfigError";
|
||||||
|
}
|
||||||
|
else if (renderer.outputFormat != null && renderer.numFramesOut == 0) {
|
||||||
|
str = "PreOutputError";
|
||||||
|
}
|
||||||
|
else if (renderer.numFramesOut <= renderer.refreshRate * 30) {
|
||||||
|
str = "EarlyOutputError";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
str = "ErrorWhileStreaming";
|
||||||
|
}
|
||||||
|
|
||||||
|
str += ":\n";
|
||||||
str += "Format: "+String.format("%x", renderer.videoFormat)+"\n";
|
str += "Format: "+String.format("%x", renderer.videoFormat)+"\n";
|
||||||
str += "AVC Decoder: "+((renderer.avcDecoder != null) ? renderer.avcDecoder.getName():"(none)")+"\n";
|
str += "AVC Decoder: "+((renderer.avcDecoder != null) ? renderer.avcDecoder.getName():"(none)")+"\n";
|
||||||
str += "HEVC Decoder: "+((renderer.hevcDecoder != null) ? renderer.hevcDecoder.getName():"(none)")+"\n";
|
str += "HEVC Decoder: "+((renderer.hevcDecoder != null) ? renderer.hevcDecoder.getName():"(none)")+"\n";
|
||||||
@@ -1103,11 +1110,11 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
|||||||
str += "Consecutive crashes: "+renderer.consecutiveCrashCount+"\n";
|
str += "Consecutive crashes: "+renderer.consecutiveCrashCount+"\n";
|
||||||
str += "RFI active: "+renderer.refFrameInvalidationActive+"\n";
|
str += "RFI active: "+renderer.refFrameInvalidationActive+"\n";
|
||||||
str += "Using modern SPS patching: "+(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)+"\n";
|
str += "Using modern SPS patching: "+(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)+"\n";
|
||||||
str += "Low latency mode: "+renderer.lowLatency+"\n";
|
|
||||||
str += "Video dimensions: "+renderer.initialWidth+"x"+renderer.initialHeight+"\n";
|
str += "Video dimensions: "+renderer.initialWidth+"x"+renderer.initialHeight+"\n";
|
||||||
str += "FPS target: "+renderer.refreshRate+"\n";
|
str += "FPS target: "+renderer.refreshRate+"\n";
|
||||||
str += "Bitrate: "+renderer.prefs.bitrate+" Kbps \n";
|
str += "Bitrate: "+renderer.prefs.bitrate+" Kbps \n";
|
||||||
str += "In stats: "+renderer.numVpsIn+", "+renderer.numSpsIn+", "+renderer.numPpsIn+"\n";
|
str += "CSD stats: "+renderer.numVpsIn+", "+renderer.numSpsIn+", "+renderer.numPpsIn+"\n";
|
||||||
|
str += "Frames in-out: "+renderer.numFramesIn+", "+renderer.numFramesOut+"\n";
|
||||||
str += "Total frames received: "+renderer.globalVideoStats.totalFramesReceived+"\n";
|
str += "Total frames received: "+renderer.globalVideoStats.totalFramesReceived+"\n";
|
||||||
str += "Total frames rendered: "+renderer.globalVideoStats.totalFramesRendered+"\n";
|
str += "Total frames rendered: "+renderer.globalVideoStats.totalFramesRendered+"\n";
|
||||||
str += "Frame losses: "+renderer.globalVideoStats.framesLost+" in "+renderer.globalVideoStats.frameLossEvents+" loss events\n";
|
str += "Frame losses: "+renderer.globalVideoStats.framesLost+" in "+renderer.globalVideoStats.frameLossEvents+" loss events\n";
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import android.media.MediaCodecInfo;
|
|||||||
import android.media.MediaCodecList;
|
import android.media.MediaCodecList;
|
||||||
import android.media.MediaCodecInfo.CodecCapabilities;
|
import android.media.MediaCodecInfo.CodecCapabilities;
|
||||||
import android.media.MediaCodecInfo.CodecProfileLevel;
|
import android.media.MediaCodecInfo.CodecProfileLevel;
|
||||||
|
import android.media.MediaFormat;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
import com.limelight.LimeLog;
|
import com.limelight.LimeLog;
|
||||||
@@ -39,6 +40,8 @@ public class MediaCodecHelper {
|
|||||||
private static final List<String> blacklisted49FpsDecoderPrefixes;
|
private static final List<String> blacklisted49FpsDecoderPrefixes;
|
||||||
private static final List<String> blacklisted59FpsDecoderPrefixes;
|
private static final List<String> blacklisted59FpsDecoderPrefixes;
|
||||||
private static final List<String> qualcommDecoderPrefixes;
|
private static final List<String> qualcommDecoderPrefixes;
|
||||||
|
private static final List<String> kirinDecoderPrefixes;
|
||||||
|
private static final List<String> exynosDecoderPrefixes;
|
||||||
|
|
||||||
public static final boolean IS_EMULATOR = Build.HARDWARE.equals("ranchu") || Build.HARDWARE.equals("cheets");
|
public static final boolean IS_EMULATOR = Build.HARDWARE.equals("ranchu") || Build.HARDWARE.equals("cheets");
|
||||||
|
|
||||||
@@ -146,7 +149,10 @@ public class MediaCodecHelper {
|
|||||||
// I know the Fire TV 2 and 3 works, so I'll whitelist Amazon devices which seem to actually be tested.
|
// I know the Fire TV 2 and 3 works, so I'll whitelist Amazon devices which seem to actually be tested.
|
||||||
if (Build.MANUFACTURER.equalsIgnoreCase("Amazon")) {
|
if (Build.MANUFACTURER.equalsIgnoreCase("Amazon")) {
|
||||||
whitelistedHevcDecoders.add("omx.mtk");
|
whitelistedHevcDecoders.add("omx.mtk");
|
||||||
whitelistedHevcDecoders.add("omx.amlogic");
|
|
||||||
|
// This broke at some point on the Fire TV 3 and now the decoder
|
||||||
|
// never produces any output frames.
|
||||||
|
//whitelistedHevcDecoders.add("omx.amlogic");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plot twist: On newer Sony devices (BRAVIA_ATV2, BRAVIA_ATV3_4K, BRAVIA_UR1_4K) the H.264 decoder crashes
|
// Plot twist: On newer Sony devices (BRAVIA_ATV2, BRAVIA_ATV3_4K, BRAVIA_UR1_4K) the H.264 decoder crashes
|
||||||
@@ -206,6 +212,18 @@ public class MediaCodecHelper {
|
|||||||
qualcommDecoderPrefixes.add("c2.qti");
|
qualcommDecoderPrefixes.add("c2.qti");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static {
|
||||||
|
kirinDecoderPrefixes = new LinkedList<>();
|
||||||
|
|
||||||
|
kirinDecoderPrefixes.add("omx.hisi");
|
||||||
|
}
|
||||||
|
|
||||||
|
static {
|
||||||
|
exynosDecoderPrefixes = new LinkedList<>();
|
||||||
|
|
||||||
|
exynosDecoderPrefixes.add("omx.exynos");
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean isPowerVR(String glRenderer) {
|
private static boolean isPowerVR(String glRenderer) {
|
||||||
return glRenderer.toLowerCase().contains("powervr");
|
return glRenderer.toLowerCase().contains("powervr");
|
||||||
}
|
}
|
||||||
@@ -352,7 +370,7 @@ public class MediaCodecHelper {
|
|||||||
return System.nanoTime() / 1000000L;
|
return System.nanoTime() / 1000000L;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean decoderSupportsLowLatency(MediaCodecInfo decoderInfo, String mimeType) {
|
private static boolean decoderSupportsAndroidRLowLatency(MediaCodecInfo decoderInfo, String mimeType) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
try {
|
try {
|
||||||
if (decoderInfo.getCapabilitiesForType(mimeType).isFeatureSupported(CodecCapabilities.FEATURE_LowLatency)) {
|
if (decoderInfo.getCapabilitiesForType(mimeType).isFeatureSupported(CodecCapabilities.FEATURE_LowLatency)) {
|
||||||
@@ -368,7 +386,7 @@ public class MediaCodecHelper {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean decoderSupportsMaxOperatingRate(String decoderName) {
|
private static boolean decoderSupportsMaxOperatingRate(String decoderName) {
|
||||||
// Operate at maximum rate to lower latency as much as possible on
|
// Operate at maximum rate to lower latency as much as possible on
|
||||||
// some Qualcomm platforms. We could also set KEY_PRIORITY to 0 (realtime)
|
// some Qualcomm platforms. We could also set KEY_PRIORITY to 0 (realtime)
|
||||||
// but that will actually result in the decoder crashing if it can't satisfy
|
// but that will actually result in the decoder crashing if it can't satisfy
|
||||||
@@ -383,6 +401,47 @@ public class MediaCodecHelper {
|
|||||||
!isAdreno620;
|
!isAdreno620;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setDecoderLowLatencyOptions(MediaFormat videoFormat, MediaCodecInfo decoderInfo, String mimeType) {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && decoderSupportsAndroidRLowLatency(decoderInfo, mimeType)) {
|
||||||
|
videoFormat.setInteger(MediaFormat.KEY_LOW_LATENCY, 1);
|
||||||
|
}
|
||||||
|
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
// MediaCodec supports vendor-defined format keys using the "vendor.<extension name>.<parameter name>" syntax.
|
||||||
|
// These allow access to functionality that is not exposed through documented MediaFormat.KEY_* values.
|
||||||
|
// https://cs.android.com/android/platform/superproject/+/master:hardware/qcom/sdm845/media/mm-video-v4l2/vidc/common/inc/vidc_vendor_extensions.h;l=67
|
||||||
|
//
|
||||||
|
// MediaCodec vendor extension support was introduced in Android 8.0:
|
||||||
|
// https://cs.android.com/android/_/android/platform/frameworks/av/+/01c10f8cdcd58d1e7025f426a72e6e75ba5d7fc2
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
// Try vendor-specific low latency options
|
||||||
|
if (isDecoderInList(qualcommDecoderPrefixes, decoderInfo.getName())) {
|
||||||
|
// Examples of Qualcomm's vendor extensions for Snapdragon 845:
|
||||||
|
// https://cs.android.com/android/platform/superproject/+/master:hardware/qcom/sdm845/media/mm-video-v4l2/vidc/vdec/src/omx_vdec_extensions.hpp
|
||||||
|
// https://cs.android.com/android/_/android/platform/hardware/qcom/sm8150/media/+/0621ceb1c1b19564999db8293574a0e12952ff6c
|
||||||
|
videoFormat.setInteger("vendor.qti-ext-dec-low-latency.enable", 1);
|
||||||
|
}
|
||||||
|
else if (isDecoderInList(kirinDecoderPrefixes, decoderInfo.getName())) {
|
||||||
|
// Kirin low latency options
|
||||||
|
// https://developer.huawei.com/consumer/cn/forum/topic/0202325564295980115
|
||||||
|
videoFormat.setInteger("vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-req", 1);
|
||||||
|
videoFormat.setInteger("vendor.hisi-ext-low-latency-video-dec.video-scene-for-low-latency-rdy", -1);
|
||||||
|
}
|
||||||
|
else if (isDecoderInList(exynosDecoderPrefixes, decoderInfo.getName())) {
|
||||||
|
// Exynos low latency option for H.264 decoder
|
||||||
|
videoFormat.setInteger("vendor.rtc-ext-dec-low-latency.enable", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (isDecoderInList(qualcommDecoderPrefixes, decoderInfo.getName())) {
|
||||||
|
// This is an older low latency option used on some Qualcomm devices
|
||||||
|
videoFormat.setInteger("vt-low-latency", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (MediaCodecHelper.decoderSupportsMaxOperatingRate(decoderInfo.getName())) {
|
||||||
|
videoFormat.setInteger(MediaFormat.KEY_OPERATING_RATE, Short.MAX_VALUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean decoderSupportsAdaptivePlayback(MediaCodecInfo decoderInfo, String mimeType) {
|
public static boolean decoderSupportsAdaptivePlayback(MediaCodecInfo decoderInfo, String mimeType) {
|
||||||
// Possibly enable adaptive playback on KitKat and above
|
// Possibly enable adaptive playback on KitKat and above
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||||
@@ -408,13 +467,6 @@ public class MediaCodecHelper {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean decoderSupportsQcomVendorLowLatency(String decoderName) {
|
|
||||||
// MediaCodec vendor extension support was introduced in Android 8.0:
|
|
||||||
// https://cs.android.com/android/_/android/platform/frameworks/av/+/01c10f8cdcd58d1e7025f426a72e6e75ba5d7fc2
|
|
||||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
|
|
||||||
isDecoderInList(qualcommDecoderPrefixes, decoderName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean decoderNeedsConstrainedHighProfile(String decoderName) {
|
public static boolean decoderNeedsConstrainedHighProfile(String decoderName) {
|
||||||
return isDecoderInList(constrainedHighProfilePrefixes, decoderName);
|
return isDecoderInList(constrainedHighProfilePrefixes, decoderName);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -284,6 +284,7 @@ public class NvConnection {
|
|||||||
context.negotiatedHdr,
|
context.negotiatedHdr,
|
||||||
context.streamConfig.getHevcBitratePercentageMultiplier(),
|
context.streamConfig.getHevcBitratePercentageMultiplier(),
|
||||||
context.streamConfig.getClientRefreshRateX100(),
|
context.streamConfig.getClientRefreshRateX100(),
|
||||||
|
context.streamConfig.getEncryptionFlags(),
|
||||||
context.riKey.getEncoded(), ib.array(),
|
context.riKey.getEncoded(), ib.array(),
|
||||||
context.videoCapabilities);
|
context.videoCapabilities);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ public class StreamConfiguration {
|
|||||||
private int hevcBitratePercentageMultiplier;
|
private int hevcBitratePercentageMultiplier;
|
||||||
private boolean enableHdr;
|
private boolean enableHdr;
|
||||||
private int attachedGamepadMask;
|
private int attachedGamepadMask;
|
||||||
|
private int encryptionFlags;
|
||||||
|
|
||||||
public static class Builder {
|
public static class Builder {
|
||||||
private StreamConfiguration config = new StreamConfiguration();
|
private StreamConfiguration config = new StreamConfiguration();
|
||||||
@@ -111,6 +112,16 @@ public class StreamConfiguration {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StreamConfiguration.Builder setAudioEncryption(boolean enable) {
|
||||||
|
if (enable) {
|
||||||
|
config.encryptionFlags |= MoonBridge.ENCFLG_AUDIO;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
config.encryptionFlags &= ~MoonBridge.ENCFLG_AUDIO;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public StreamConfiguration.Builder setAudioConfiguration(MoonBridge.AudioConfiguration audioConfig) {
|
public StreamConfiguration.Builder setAudioConfiguration(MoonBridge.AudioConfiguration audioConfig) {
|
||||||
config.audioConfiguration = audioConfig;
|
config.audioConfiguration = audioConfig;
|
||||||
return this;
|
return this;
|
||||||
@@ -211,4 +222,8 @@ public class StreamConfiguration {
|
|||||||
public int getClientRefreshRateX100() {
|
public int getClientRefreshRateX100() {
|
||||||
return clientRefreshRateX100;
|
return clientRefreshRateX100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getEncryptionFlags() {
|
||||||
|
return encryptionFlags;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -18,6 +18,10 @@ public class MoonBridge {
|
|||||||
public static final int VIDEO_FORMAT_MASK_H264 = 0x00FF;
|
public static final int VIDEO_FORMAT_MASK_H264 = 0x00FF;
|
||||||
public static final int VIDEO_FORMAT_MASK_H265 = 0xFF00;
|
public static final int VIDEO_FORMAT_MASK_H265 = 0xFF00;
|
||||||
|
|
||||||
|
public static final int ENCFLG_NONE = 0;
|
||||||
|
public static final int ENCFLG_AUDIO = 1;
|
||||||
|
public static final int ENCFLG_ALL = 0xFFFFFFFF;
|
||||||
|
|
||||||
public static final int BUFFER_TYPE_PICDATA = 0;
|
public static final int BUFFER_TYPE_PICDATA = 0;
|
||||||
public static final int BUFFER_TYPE_SPS = 1;
|
public static final int BUFFER_TYPE_SPS = 1;
|
||||||
public static final int BUFFER_TYPE_PPS = 2;
|
public static final int BUFFER_TYPE_PPS = 2;
|
||||||
@@ -255,6 +259,7 @@ public class MoonBridge {
|
|||||||
boolean enableHdr,
|
boolean enableHdr,
|
||||||
int hevcBitratePercentageMultiplier,
|
int hevcBitratePercentageMultiplier,
|
||||||
int clientRefreshRateX100,
|
int clientRefreshRateX100,
|
||||||
|
int encryptionFlags,
|
||||||
byte[] riAesKey, byte[] riAesIv,
|
byte[] riAesKey, byte[] riAesIv,
|
||||||
int videoCapabilities);
|
int videoCapabilities);
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ LOCAL_SRC_FILES := moonlight-common-c/src/AudioStream.c \
|
|||||||
moonlight-common-c/src/LinkedBlockingQueue.c \
|
moonlight-common-c/src/LinkedBlockingQueue.c \
|
||||||
moonlight-common-c/src/Misc.c \
|
moonlight-common-c/src/Misc.c \
|
||||||
moonlight-common-c/src/Platform.c \
|
moonlight-common-c/src/Platform.c \
|
||||||
|
moonlight-common-c/src/PlatformCrypto.c \
|
||||||
moonlight-common-c/src/PlatformSockets.c \
|
moonlight-common-c/src/PlatformSockets.c \
|
||||||
moonlight-common-c/src/RtpFecQueue.c \
|
moonlight-common-c/src/RtpFecQueue.c \
|
||||||
moonlight-common-c/src/RtpReorderQueue.c \
|
moonlight-common-c/src/RtpReorderQueue.c \
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
||||||
|
OUTPUT_DIR=~/openssl
|
||||||
|
|
||||||
|
BASE_ARGS="no-shared no-ssl3 no-stdio no-engine no-hw"
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
./Configure android-arm $BASE_ARGS -D__ANDROID_API__=16
|
||||||
|
make clean
|
||||||
|
make build_libs -j`nproc`
|
||||||
|
cp lib*.a $OUTPUT_DIR/armeabi-v7a/
|
||||||
|
|
||||||
|
./Configure android-arm64 $BASE_ARGS -D__ANDROID_API__=21
|
||||||
|
make clean
|
||||||
|
make build_libs -j`nproc`
|
||||||
|
cp lib*.a $OUTPUT_DIR/arm64-v8a/
|
||||||
|
|
||||||
|
./Configure android-x86 $BASE_ARGS -D__ANDROID_API__=16
|
||||||
|
make clean
|
||||||
|
make build_libs -j`nproc`
|
||||||
|
cp lib*.a $OUTPUT_DIR/x86/
|
||||||
|
|
||||||
|
./Configure android-x86_64 $BASE_ARGS -D__ANDROID_API__=21
|
||||||
|
make clean
|
||||||
|
make build_libs -j`nproc`
|
||||||
|
cp lib*.a $OUTPUT_DIR/x86_64/
|
||||||
|
cp -R include/ $OUTPUT_DIR/include
|
||||||
@@ -370,6 +370,7 @@ Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jclass c
|
|||||||
jboolean enableHdr,
|
jboolean enableHdr,
|
||||||
jint hevcBitratePercentageMultiplier,
|
jint hevcBitratePercentageMultiplier,
|
||||||
jint clientRefreshRateX100,
|
jint clientRefreshRateX100,
|
||||||
|
jint encryptionFlags,
|
||||||
jbyteArray riAesKey, jbyteArray riAesIv,
|
jbyteArray riAesKey, jbyteArray riAesIv,
|
||||||
jint videoCapabilities) {
|
jint videoCapabilities) {
|
||||||
SERVER_INFORMATION serverInfo = {
|
SERVER_INFORMATION serverInfo = {
|
||||||
@@ -388,7 +389,8 @@ Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jclass c
|
|||||||
.supportsHevc = supportsHevc,
|
.supportsHevc = supportsHevc,
|
||||||
.enableHdr = enableHdr,
|
.enableHdr = enableHdr,
|
||||||
.hevcBitratePercentageMultiplier = hevcBitratePercentageMultiplier,
|
.hevcBitratePercentageMultiplier = hevcBitratePercentageMultiplier,
|
||||||
.clientRefreshRateX100 = clientRefreshRateX100
|
.clientRefreshRateX100 = clientRefreshRateX100,
|
||||||
|
.encryptionFlags = encryptionFlags,
|
||||||
};
|
};
|
||||||
|
|
||||||
jbyte* riAesKeyBuf = (*env)->GetByteArrayElements(env, riAesKey, NULL);
|
jbyte* riAesKeyBuf = (*env)->GetByteArrayElements(env, riAesKey, NULL);
|
||||||
|
|||||||
Submodule app/src/main/jni/moonlight-core/moonlight-common-c updated: 5782246b30...13041e0323.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -8,9 +8,15 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file is only used by HP C on VMS, and is included automatically
|
* This file is only used by HP C/C++ on VMS, and is included automatically
|
||||||
* after each header file from this directory
|
* after each header file from this directory
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The C++ compiler doesn't understand these pragmas, even though it
|
||||||
|
* understands the corresponding command line qualifier.
|
||||||
|
*/
|
||||||
|
#ifndef __cplusplus
|
||||||
/* restore state. Must correspond to the save in __decc_include_prologue.h */
|
/* restore state. Must correspond to the save in __decc_include_prologue.h */
|
||||||
#pragma names restore
|
# pragma names restore
|
||||||
|
#endif
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -8,13 +8,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file is only used by HP C on VMS, and is included automatically
|
* This file is only used by HP C/C++ on VMS, and is included automatically
|
||||||
* after each header file from this directory
|
* after each header file from this directory
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The C++ compiler doesn't understand these pragmas, even though it
|
||||||
|
* understands the corresponding command line qualifier.
|
||||||
|
*/
|
||||||
|
#ifndef __cplusplus
|
||||||
/* save state */
|
/* save state */
|
||||||
#pragma names save
|
# pragma names save
|
||||||
/* have the compiler shorten symbols larger than 31 chars to 23 chars
|
/* have the compiler shorten symbols larger than 31 chars to 23 chars
|
||||||
* followed by a 8 hex char CRC
|
* followed by a 8 hex char CRC
|
||||||
*/
|
*/
|
||||||
#pragma names as_is,shortened
|
# pragma names as_is,shortened
|
||||||
|
#endif
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
#ifndef HEADER_ASN1ERR_H
|
#ifndef HEADER_ASN1ERR_H
|
||||||
# define HEADER_ASN1ERR_H
|
# define HEADER_ASN1ERR_H
|
||||||
|
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -49,6 +51,7 @@ int ERR_load_ASN1_strings(void);
|
|||||||
# define ASN1_F_ASN1_ITEM_DUP 191
|
# define ASN1_F_ASN1_ITEM_DUP 191
|
||||||
# define ASN1_F_ASN1_ITEM_EMBED_D2I 120
|
# define ASN1_F_ASN1_ITEM_EMBED_D2I 120
|
||||||
# define ASN1_F_ASN1_ITEM_EMBED_NEW 121
|
# define ASN1_F_ASN1_ITEM_EMBED_NEW 121
|
||||||
|
# define ASN1_F_ASN1_ITEM_EX_I2D 144
|
||||||
# define ASN1_F_ASN1_ITEM_FLAGS_I2D 118
|
# define ASN1_F_ASN1_ITEM_FLAGS_I2D 118
|
||||||
# define ASN1_F_ASN1_ITEM_I2D_BIO 192
|
# define ASN1_F_ASN1_ITEM_I2D_BIO 192
|
||||||
# define ASN1_F_ASN1_ITEM_I2D_FP 193
|
# define ASN1_F_ASN1_ITEM_I2D_FP 193
|
||||||
@@ -141,6 +144,7 @@ int ERR_load_ASN1_strings(void);
|
|||||||
# define ASN1_R_ASN1_SIG_PARSE_ERROR 204
|
# define ASN1_R_ASN1_SIG_PARSE_ERROR 204
|
||||||
# define ASN1_R_AUX_ERROR 100
|
# define ASN1_R_AUX_ERROR 100
|
||||||
# define ASN1_R_BAD_OBJECT_HEADER 102
|
# define ASN1_R_BAD_OBJECT_HEADER 102
|
||||||
|
# define ASN1_R_BAD_TEMPLATE 230
|
||||||
# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214
|
# define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214
|
||||||
# define ASN1_R_BN_LIB 105
|
# define ASN1_R_BN_LIB 105
|
||||||
# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106
|
# define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_ASYNCERR_H
|
#ifndef HEADER_ASYNCERR_H
|
||||||
# define HEADER_ASYNCERR_H
|
# define HEADER_ASYNCERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -20,10 +20,6 @@
|
|||||||
# include <openssl/crypto.h>
|
# include <openssl/crypto.h>
|
||||||
# include <openssl/bioerr.h>
|
# include <openssl/bioerr.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_SCTP
|
|
||||||
# include <openssl/e_os2.h>
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@@ -173,6 +169,7 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
# define BIO_FLAGS_MEM_RDONLY 0x200
|
# define BIO_FLAGS_MEM_RDONLY 0x200
|
||||||
# define BIO_FLAGS_NONCLEAR_RST 0x400
|
# define BIO_FLAGS_NONCLEAR_RST 0x400
|
||||||
|
# define BIO_FLAGS_IN_EOF 0x800
|
||||||
|
|
||||||
typedef union bio_addr_st BIO_ADDR;
|
typedef union bio_addr_st BIO_ADDR;
|
||||||
typedef struct bio_addrinfo_st BIO_ADDRINFO;
|
typedef struct bio_addrinfo_st BIO_ADDRINFO;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_BIOERR_H
|
#ifndef HEADER_BIOERR_H
|
||||||
# define HEADER_BIOERR_H
|
# define HEADER_BIOERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
@@ -56,7 +56,7 @@ extern "C" {
|
|||||||
* avoid leaking exponent information through timing,
|
* avoid leaking exponent information through timing,
|
||||||
* BN_mod_exp_mont() will call BN_mod_exp_mont_consttime,
|
* BN_mod_exp_mont() will call BN_mod_exp_mont_consttime,
|
||||||
* BN_div() will call BN_div_no_branch,
|
* BN_div() will call BN_div_no_branch,
|
||||||
* BN_mod_inverse() will call BN_mod_inverse_no_branch.
|
* BN_mod_inverse() will call bn_mod_inverse_no_branch.
|
||||||
*/
|
*/
|
||||||
# define BN_FLG_CONSTTIME 0x04
|
# define BN_FLG_CONSTTIME 0x04
|
||||||
# define BN_FLG_SECURE 0x08
|
# define BN_FLG_SECURE 0x08
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_BNERR_H
|
#ifndef HEADER_BNERR_H
|
||||||
# define HEADER_BNERR_H
|
# define HEADER_BNERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_BUFERR_H
|
#ifndef HEADER_BUFERR_H
|
||||||
# define HEADER_BUFERR_H
|
# define HEADER_BUFERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -284,8 +284,6 @@ int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si,
|
|||||||
void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid,
|
void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid,
|
||||||
int lastpos, int type);
|
int lastpos, int type);
|
||||||
|
|
||||||
# ifdef HEADER_X509V3_H
|
|
||||||
|
|
||||||
int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr);
|
int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr);
|
||||||
CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen,
|
CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen,
|
||||||
int allorfirst,
|
int allorfirst,
|
||||||
@@ -298,7 +296,6 @@ void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr,
|
|||||||
int *pallorfirst,
|
int *pallorfirst,
|
||||||
STACK_OF(GENERAL_NAMES) **plist,
|
STACK_OF(GENERAL_NAMES) **plist,
|
||||||
STACK_OF(GENERAL_NAMES) **prto);
|
STACK_OF(GENERAL_NAMES) **prto);
|
||||||
# endif
|
|
||||||
int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri,
|
int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri,
|
||||||
X509_ALGOR **palg,
|
X509_ALGOR **palg,
|
||||||
ASN1_OCTET_STRING **pukm);
|
ASN1_OCTET_STRING **pukm);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_CMSERR_H
|
#ifndef HEADER_CMSERR_H
|
||||||
# define HEADER_CMSERR_H
|
# define HEADER_CMSERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_CMS
|
# ifndef OPENSSL_NO_CMS
|
||||||
@@ -101,6 +105,7 @@ int ERR_load_CMS_strings(void);
|
|||||||
# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153
|
# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153
|
||||||
# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154
|
# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154
|
||||||
# define CMS_F_CMS_SIGN_RECEIPT 163
|
# define CMS_F_CMS_SIGN_RECEIPT 163
|
||||||
|
# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 183
|
||||||
# define CMS_F_CMS_STREAM 155
|
# define CMS_F_CMS_STREAM 155
|
||||||
# define CMS_F_CMS_UNCOMPRESS 156
|
# define CMS_F_CMS_UNCOMPRESS 156
|
||||||
# define CMS_F_CMS_VERIFY 157
|
# define CMS_F_CMS_VERIFY 157
|
||||||
@@ -110,6 +115,7 @@ int ERR_load_CMS_strings(void);
|
|||||||
* CMS reason codes.
|
* CMS reason codes.
|
||||||
*/
|
*/
|
||||||
# define CMS_R_ADD_SIGNER_ERROR 99
|
# define CMS_R_ADD_SIGNER_ERROR 99
|
||||||
|
# define CMS_R_ATTRIBUTE_ERROR 161
|
||||||
# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175
|
# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175
|
||||||
# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160
|
# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160
|
||||||
# define CMS_R_CERTIFICATE_VERIFY_ERROR 100
|
# define CMS_R_CERTIFICATE_VERIFY_ERROR 100
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_COMPERR_H
|
#ifndef HEADER_COMPERR_H
|
||||||
# define HEADER_COMPERR_H
|
# define HEADER_COMPERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_COMP
|
# ifndef OPENSSL_NO_COMP
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_CONFERR_H
|
#ifndef HEADER_CONFERR_H
|
||||||
# define HEADER_CONFERR_H
|
# define HEADER_CONFERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,12 +11,13 @@
|
|||||||
#ifndef HEADER_CRYPTOERR_H
|
#ifndef HEADER_CRYPTOERR_H
|
||||||
# define HEADER_CRYPTOERR_H
|
# define HEADER_CRYPTOERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# include <openssl/symhacks.h>
|
|
||||||
|
|
||||||
int ERR_load_CRYPTO_strings(void);
|
int ERR_load_CRYPTO_strings(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -463,8 +463,6 @@ __owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file);
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Loads the default CT log list into a |store|.
|
* Loads the default CT log list into a |store|.
|
||||||
* See internal/cryptlib.h for the environment variable and file path that are
|
|
||||||
* consulted to find the default file.
|
|
||||||
* Returns 1 if loading is successful, or 0 otherwise.
|
* Returns 1 if loading is successful, or 0 otherwise.
|
||||||
*/
|
*/
|
||||||
__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store);
|
__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_CTERR_H
|
#ifndef HEADER_CTERR_H
|
||||||
# define HEADER_CTERR_H
|
# define HEADER_CTERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_CT
|
# ifndef OPENSSL_NO_CT
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_DHERR_H
|
#ifndef HEADER_DHERR_H
|
||||||
# define HEADER_DHERR_H
|
# define HEADER_DHERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_DH
|
# ifndef OPENSSL_NO_DH
|
||||||
|
|||||||
@@ -162,6 +162,12 @@ DH *DSA_dup_DH(const DSA *r);
|
|||||||
# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \
|
# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \
|
||||||
EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \
|
EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \
|
||||||
EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL)
|
EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL)
|
||||||
|
# define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \
|
||||||
|
EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \
|
||||||
|
EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, NULL)
|
||||||
|
# define EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md) \
|
||||||
|
EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \
|
||||||
|
EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md))
|
||||||
|
|
||||||
# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1)
|
# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1)
|
||||||
# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2)
|
# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_DSAERR_H
|
#ifndef HEADER_DSAERR_H
|
||||||
# define HEADER_DSAERR_H
|
# define HEADER_DSAERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_DSA
|
# ifndef OPENSSL_NO_DSA
|
||||||
@@ -57,6 +61,7 @@ int ERR_load_DSA_strings(void);
|
|||||||
# define DSA_R_INVALID_DIGEST_TYPE 106
|
# define DSA_R_INVALID_DIGEST_TYPE 106
|
||||||
# define DSA_R_INVALID_PARAMETERS 112
|
# define DSA_R_INVALID_PARAMETERS 112
|
||||||
# define DSA_R_MISSING_PARAMETERS 101
|
# define DSA_R_MISSING_PARAMETERS 101
|
||||||
|
# define DSA_R_MISSING_PRIVATE_KEY 111
|
||||||
# define DSA_R_MODULUS_TOO_LARGE 103
|
# define DSA_R_MODULUS_TOO_LARGE 103
|
||||||
# define DSA_R_NO_PARAMETERS_SET 107
|
# define DSA_R_NO_PARAMETERS_SET 107
|
||||||
# define DSA_R_PARAMETER_ENCODING_ERROR 105
|
# define DSA_R_PARAMETER_ENCODING_ERROR 105
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ extern "C" {
|
|||||||
|
|
||||||
# define DTLS1_AL_HEADER_LENGTH 2
|
# define DTLS1_AL_HEADER_LENGTH 2
|
||||||
|
|
||||||
/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */
|
/* Timeout multipliers */
|
||||||
# define DTLS1_TMO_READ_COUNT 2
|
# define DTLS1_TMO_READ_COUNT 2
|
||||||
# define DTLS1_TMO_WRITE_COUNT 2
|
# define DTLS1_TMO_WRITE_COUNT 2
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -241,7 +241,7 @@ typedef UINT64 uint64_t;
|
|||||||
defined(__osf__) || defined(__sgi) || defined(__hpux) || \
|
defined(__osf__) || defined(__sgi) || defined(__hpux) || \
|
||||||
defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__)
|
defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__)
|
||||||
# include <inttypes.h>
|
# include <inttypes.h>
|
||||||
# elif defined(_MSC_VER) && _MSC_VER<=1500
|
# elif defined(_MSC_VER) && _MSC_VER<1600
|
||||||
/*
|
/*
|
||||||
* minimally required typdefs for systems not supporting inttypes.h or
|
* minimally required typdefs for systems not supporting inttypes.h or
|
||||||
* stdint.h: currently just older VC++
|
* stdint.h: currently just older VC++
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
@@ -142,7 +142,7 @@ const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group);
|
|||||||
*/
|
*/
|
||||||
int EC_METHOD_get_field_type(const EC_METHOD *meth);
|
int EC_METHOD_get_field_type(const EC_METHOD *meth);
|
||||||
|
|
||||||
/** Sets the generator and it's order/cofactor of a EC_GROUP object.
|
/** Sets the generator and its order/cofactor of a EC_GROUP object.
|
||||||
* \param group EC_GROUP object
|
* \param group EC_GROUP object
|
||||||
* \param generator EC_POINT object with the generator.
|
* \param generator EC_POINT object with the generator.
|
||||||
* \param order the order of the group generated by the generator.
|
* \param order the order of the group generated by the generator.
|
||||||
@@ -829,6 +829,8 @@ void EC_KEY_set_flags(EC_KEY *key, int flags);
|
|||||||
|
|
||||||
void EC_KEY_clear_flags(EC_KEY *key, int flags);
|
void EC_KEY_clear_flags(EC_KEY *key, int flags);
|
||||||
|
|
||||||
|
int EC_KEY_decoded_from_explicit_params(const EC_KEY *key);
|
||||||
|
|
||||||
/** Creates a new EC_KEY object using a named curve as underlying
|
/** Creates a new EC_KEY object using a named curve as underlying
|
||||||
* EC_GROUP object.
|
* EC_GROUP object.
|
||||||
* \param nid NID of the named curve.
|
* \param nid NID of the named curve.
|
||||||
@@ -1138,7 +1140,8 @@ void ECDSA_SIG_free(ECDSA_SIG *sig);
|
|||||||
* (*pp += length of the DER encoded signature)).
|
* (*pp += length of the DER encoded signature)).
|
||||||
* \param sig pointer to the ECDSA_SIG object
|
* \param sig pointer to the ECDSA_SIG object
|
||||||
* \param pp pointer to a unsigned char pointer for the output or NULL
|
* \param pp pointer to a unsigned char pointer for the output or NULL
|
||||||
* \return the length of the DER encoded ECDSA_SIG object or 0
|
* \return the length of the DER encoded ECDSA_SIG object or a negative value
|
||||||
|
* on error
|
||||||
*/
|
*/
|
||||||
int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp);
|
int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_ECERR_H
|
#ifndef HEADER_ECERR_H
|
||||||
# define HEADER_ECERR_H
|
# define HEADER_ECERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_EC
|
# ifndef OPENSSL_NO_EC
|
||||||
@@ -239,6 +243,7 @@ int ERR_load_EC_strings(void);
|
|||||||
# define EC_R_LADDER_POST_FAILURE 136
|
# define EC_R_LADDER_POST_FAILURE 136
|
||||||
# define EC_R_LADDER_PRE_FAILURE 153
|
# define EC_R_LADDER_PRE_FAILURE 153
|
||||||
# define EC_R_LADDER_STEP_FAILURE 162
|
# define EC_R_LADDER_STEP_FAILURE 162
|
||||||
|
# define EC_R_MISSING_OID 167
|
||||||
# define EC_R_MISSING_PARAMETERS 124
|
# define EC_R_MISSING_PARAMETERS 124
|
||||||
# define EC_R_MISSING_PRIVATE_KEY 125
|
# define EC_R_MISSING_PRIVATE_KEY 125
|
||||||
# define EC_R_NEED_NEW_SETUP_VALUES 157
|
# define EC_R_NEED_NEW_SETUP_VALUES 157
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_ENGINEERR_H
|
#ifndef HEADER_ENGINEERR_H
|
||||||
# define HEADER_ENGINEERR_H
|
# define HEADER_ENGINEERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_ENGINE
|
# ifndef OPENSSL_NO_ENGINE
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -37,6 +37,7 @@ extern "C" {
|
|||||||
# define ERR_TXT_STRING 0x02
|
# define ERR_TXT_STRING 0x02
|
||||||
|
|
||||||
# define ERR_FLAG_MARK 0x01
|
# define ERR_FLAG_MARK 0x01
|
||||||
|
# define ERR_FLAG_CLEAR 0x02
|
||||||
|
|
||||||
# define ERR_NUM_ERRORS 16
|
# define ERR_NUM_ERRORS 16
|
||||||
typedef struct err_state_st {
|
typedef struct err_state_st {
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
|
|||||||
* if the following flag is set.
|
* if the following flag is set.
|
||||||
*/
|
*/
|
||||||
# define EVP_MD_CTX_FLAG_FINALISE 0x0200
|
# define EVP_MD_CTX_FLAG_FINALISE 0x0200
|
||||||
/* NOTE: 0x0400 is reserved for internal usage in evp_int.h */
|
/* NOTE: 0x0400 is reserved for internal usage */
|
||||||
|
|
||||||
EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
|
EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
|
||||||
EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher);
|
EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher);
|
||||||
@@ -260,6 +260,8 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
|
|||||||
# define EVP_CIPH_RAND_KEY 0x200
|
# define EVP_CIPH_RAND_KEY 0x200
|
||||||
/* cipher has its own additional copying logic */
|
/* cipher has its own additional copying logic */
|
||||||
# define EVP_CIPH_CUSTOM_COPY 0x400
|
# define EVP_CIPH_CUSTOM_COPY 0x400
|
||||||
|
/* Don't use standard iv length function */
|
||||||
|
# define EVP_CIPH_CUSTOM_IV_LENGTH 0x800
|
||||||
/* Allow use default ASN1 get/set iv */
|
/* Allow use default ASN1 get/set iv */
|
||||||
# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000
|
# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000
|
||||||
/* Buffer length in bits not bytes: CFB1 mode only */
|
/* Buffer length in bits not bytes: CFB1 mode only */
|
||||||
@@ -349,6 +351,8 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
|
|||||||
/* Set the input buffer lengths to use for a pipelined operation */
|
/* Set the input buffer lengths to use for a pipelined operation */
|
||||||
# define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24
|
# define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24
|
||||||
|
|
||||||
|
# define EVP_CTRL_GET_IVLEN 0x25
|
||||||
|
|
||||||
/* Padding modes */
|
/* Padding modes */
|
||||||
#define EVP_PADDING_PKCS7 1
|
#define EVP_PADDING_PKCS7 1
|
||||||
#define EVP_PADDING_ISO7816_4 2
|
#define EVP_PADDING_ISO7816_4 2
|
||||||
@@ -995,6 +999,7 @@ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len);
|
|||||||
int EVP_PKEY_set_alias_type(EVP_PKEY *pkey, int type);
|
int EVP_PKEY_set_alias_type(EVP_PKEY *pkey, int type);
|
||||||
# ifndef OPENSSL_NO_ENGINE
|
# ifndef OPENSSL_NO_ENGINE
|
||||||
int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e);
|
int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e);
|
||||||
|
ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey);
|
||||||
# endif
|
# endif
|
||||||
int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key);
|
int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key);
|
||||||
void *EVP_PKEY_get0(const EVP_PKEY *pkey);
|
void *EVP_PKEY_get0(const EVP_PKEY *pkey);
|
||||||
@@ -1507,6 +1512,20 @@ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth,
|
|||||||
const char *type,
|
const char *type,
|
||||||
const char *value));
|
const char *value));
|
||||||
|
|
||||||
|
void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth,
|
||||||
|
int (*digestsign) (EVP_MD_CTX *ctx,
|
||||||
|
unsigned char *sig,
|
||||||
|
size_t *siglen,
|
||||||
|
const unsigned char *tbs,
|
||||||
|
size_t tbslen));
|
||||||
|
|
||||||
|
void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth,
|
||||||
|
int (*digestverify) (EVP_MD_CTX *ctx,
|
||||||
|
const unsigned char *sig,
|
||||||
|
size_t siglen,
|
||||||
|
const unsigned char *tbs,
|
||||||
|
size_t tbslen));
|
||||||
|
|
||||||
void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth,
|
void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth,
|
||||||
int (*check) (EVP_PKEY *pkey));
|
int (*check) (EVP_PKEY *pkey));
|
||||||
|
|
||||||
@@ -1612,6 +1631,20 @@ void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth,
|
|||||||
const char *type,
|
const char *type,
|
||||||
const char *value));
|
const char *value));
|
||||||
|
|
||||||
|
void EVP_PKEY_meth_get_digestsign(EVP_PKEY_METHOD *pmeth,
|
||||||
|
int (**digestsign) (EVP_MD_CTX *ctx,
|
||||||
|
unsigned char *sig,
|
||||||
|
size_t *siglen,
|
||||||
|
const unsigned char *tbs,
|
||||||
|
size_t tbslen));
|
||||||
|
|
||||||
|
void EVP_PKEY_meth_get_digestverify(EVP_PKEY_METHOD *pmeth,
|
||||||
|
int (**digestverify) (EVP_MD_CTX *ctx,
|
||||||
|
const unsigned char *sig,
|
||||||
|
size_t siglen,
|
||||||
|
const unsigned char *tbs,
|
||||||
|
size_t tbslen));
|
||||||
|
|
||||||
void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth,
|
void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth,
|
||||||
int (**pcheck) (EVP_PKEY *pkey));
|
int (**pcheck) (EVP_PKEY *pkey));
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
#ifndef HEADER_EVPERR_H
|
#ifndef HEADER_EVPERR_H
|
||||||
# define HEADER_EVPERR_H
|
# define HEADER_EVPERR_H
|
||||||
|
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -20,11 +22,14 @@ int ERR_load_EVP_strings(void);
|
|||||||
* EVP function codes.
|
* EVP function codes.
|
||||||
*/
|
*/
|
||||||
# define EVP_F_AESNI_INIT_KEY 165
|
# define EVP_F_AESNI_INIT_KEY 165
|
||||||
|
# define EVP_F_AESNI_XTS_INIT_KEY 207
|
||||||
# define EVP_F_AES_GCM_CTRL 196
|
# define EVP_F_AES_GCM_CTRL 196
|
||||||
# define EVP_F_AES_INIT_KEY 133
|
# define EVP_F_AES_INIT_KEY 133
|
||||||
# define EVP_F_AES_OCB_CIPHER 169
|
# define EVP_F_AES_OCB_CIPHER 169
|
||||||
# define EVP_F_AES_T4_INIT_KEY 178
|
# define EVP_F_AES_T4_INIT_KEY 178
|
||||||
|
# define EVP_F_AES_T4_XTS_INIT_KEY 208
|
||||||
# define EVP_F_AES_WRAP_CIPHER 170
|
# define EVP_F_AES_WRAP_CIPHER 170
|
||||||
|
# define EVP_F_AES_XTS_INIT_KEY 209
|
||||||
# define EVP_F_ALG_MODULE_INIT 177
|
# define EVP_F_ALG_MODULE_INIT 177
|
||||||
# define EVP_F_ARIA_CCM_INIT_KEY 175
|
# define EVP_F_ARIA_CCM_INIT_KEY 175
|
||||||
# define EVP_F_ARIA_GCM_CTRL 197
|
# define EVP_F_ARIA_GCM_CTRL 197
|
||||||
@@ -115,6 +120,7 @@ int ERR_load_EVP_strings(void);
|
|||||||
# define EVP_F_PKEY_SET_TYPE 158
|
# define EVP_F_PKEY_SET_TYPE 158
|
||||||
# define EVP_F_RC2_MAGIC_TO_METH 109
|
# define EVP_F_RC2_MAGIC_TO_METH 109
|
||||||
# define EVP_F_RC5_CTRL 125
|
# define EVP_F_RC5_CTRL 125
|
||||||
|
# define EVP_F_R_32_12_16_INIT_KEY 242
|
||||||
# define EVP_F_S390X_AES_GCM_CTRL 201
|
# define EVP_F_S390X_AES_GCM_CTRL 201
|
||||||
# define EVP_F_UPDATE 173
|
# define EVP_F_UPDATE 173
|
||||||
|
|
||||||
@@ -124,6 +130,7 @@ int ERR_load_EVP_strings(void);
|
|||||||
# define EVP_R_AES_KEY_SETUP_FAILED 143
|
# define EVP_R_AES_KEY_SETUP_FAILED 143
|
||||||
# define EVP_R_ARIA_KEY_SETUP_FAILED 176
|
# define EVP_R_ARIA_KEY_SETUP_FAILED 176
|
||||||
# define EVP_R_BAD_DECRYPT 100
|
# define EVP_R_BAD_DECRYPT 100
|
||||||
|
# define EVP_R_BAD_KEY_LENGTH 195
|
||||||
# define EVP_R_BUFFER_TOO_SMALL 155
|
# define EVP_R_BUFFER_TOO_SMALL 155
|
||||||
# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157
|
# define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157
|
||||||
# define EVP_R_CIPHER_PARAMETER_ERROR 122
|
# define EVP_R_CIPHER_PARAMETER_ERROR 122
|
||||||
@@ -151,6 +158,7 @@ int ERR_load_EVP_strings(void);
|
|||||||
# define EVP_R_INPUT_NOT_INITIALIZED 111
|
# define EVP_R_INPUT_NOT_INITIALIZED 111
|
||||||
# define EVP_R_INVALID_DIGEST 152
|
# define EVP_R_INVALID_DIGEST 152
|
||||||
# define EVP_R_INVALID_FIPS_MODE 168
|
# define EVP_R_INVALID_FIPS_MODE 168
|
||||||
|
# define EVP_R_INVALID_IV_LENGTH 194
|
||||||
# define EVP_R_INVALID_KEY 163
|
# define EVP_R_INVALID_KEY 163
|
||||||
# define EVP_R_INVALID_KEY_LENGTH 130
|
# define EVP_R_INVALID_KEY_LENGTH 130
|
||||||
# define EVP_R_INVALID_OPERATION 148
|
# define EVP_R_INVALID_OPERATION 148
|
||||||
@@ -169,6 +177,7 @@ int ERR_load_EVP_strings(void);
|
|||||||
# define EVP_R_ONLY_ONESHOT_SUPPORTED 177
|
# define EVP_R_ONLY_ONESHOT_SUPPORTED 177
|
||||||
# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150
|
# define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150
|
||||||
# define EVP_R_OPERATON_NOT_INITIALIZED 151
|
# define EVP_R_OPERATON_NOT_INITIALIZED 151
|
||||||
|
# define EVP_R_OUTPUT_WOULD_OVERFLOW 184
|
||||||
# define EVP_R_PARTIALLY_OVERLAPPING 162
|
# define EVP_R_PARTIALLY_OVERLAPPING 162
|
||||||
# define EVP_R_PBKDF2_ERROR 181
|
# define EVP_R_PBKDF2_ERROR 181
|
||||||
# define EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED 179
|
# define EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED 179
|
||||||
@@ -190,5 +199,6 @@ int ERR_load_EVP_strings(void);
|
|||||||
# define EVP_R_UNSUPPORTED_SALT_TYPE 126
|
# define EVP_R_UNSUPPORTED_SALT_TYPE 126
|
||||||
# define EVP_R_WRAP_MODE_NOT_ALLOWED 170
|
# define EVP_R_WRAP_MODE_NOT_ALLOWED 170
|
||||||
# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109
|
# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109
|
||||||
|
# define EVP_R_XTS_DUPLICATED_KEYS 183
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_KDFERR_H
|
#ifndef HEADER_KDFERR_H
|
||||||
# define HEADER_KDFERR_H
|
# define HEADER_KDFERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -120,9 +120,8 @@ void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out);
|
|||||||
|
|
||||||
# define DEFINE_LHASH_OF(type) \
|
# define DEFINE_LHASH_OF(type) \
|
||||||
LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \
|
LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \
|
||||||
static ossl_inline LHASH_OF(type) * \
|
static ossl_unused ossl_inline LHASH_OF(type) *lh_##type##_new(unsigned long (*hfn)(const type *), \
|
||||||
lh_##type##_new(unsigned long (*hfn)(const type *), \
|
int (*cfn)(const type *, const type *)) \
|
||||||
int (*cfn)(const type *, const type *)) \
|
|
||||||
{ \
|
{ \
|
||||||
return (LHASH_OF(type) *) \
|
return (LHASH_OF(type) *) \
|
||||||
OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \
|
OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* WARNING: do not edit!
|
* WARNING: do not edit!
|
||||||
* Generated by crypto/objects/objects.pl
|
* Generated by crypto/objects/objects.pl
|
||||||
*
|
*
|
||||||
* Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
* in the file LICENSE in the source distribution or at
|
* in the file LICENSE in the source distribution or at
|
||||||
@@ -1290,12 +1290,12 @@
|
|||||||
#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
|
#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
|
||||||
|
|
||||||
#define SN_ms_smartcard_login "msSmartcardLogin"
|
#define SN_ms_smartcard_login "msSmartcardLogin"
|
||||||
#define LN_ms_smartcard_login "Microsoft Smartcardlogin"
|
#define LN_ms_smartcard_login "Microsoft Smartcard Login"
|
||||||
#define NID_ms_smartcard_login 648
|
#define NID_ms_smartcard_login 648
|
||||||
#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L
|
#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L
|
||||||
|
|
||||||
#define SN_ms_upn "msUPN"
|
#define SN_ms_upn "msUPN"
|
||||||
#define LN_ms_upn "Microsoft Universal Principal Name"
|
#define LN_ms_upn "Microsoft User Principal Name"
|
||||||
#define NID_ms_upn 649
|
#define NID_ms_upn 649
|
||||||
#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L
|
#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L
|
||||||
|
|
||||||
@@ -4280,7 +4280,7 @@
|
|||||||
|
|
||||||
#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15"
|
#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15"
|
||||||
#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1183
|
#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1183
|
||||||
#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_magma,1L
|
#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik,1L
|
||||||
|
|
||||||
#define SN_id_tc26_constants "id-tc26-constants"
|
#define SN_id_tc26_constants "id-tc26-constants"
|
||||||
#define NID_id_tc26_constants 994
|
#define NID_id_tc26_constants 994
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_OBJERR_H
|
#ifndef HEADER_OBJERR_H
|
||||||
# define HEADER_OBJERR_H
|
# define HEADER_OBJERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -123,7 +123,7 @@ typedef struct ocsp_service_locator_st OCSP_SERVICELOC;
|
|||||||
(char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \
|
(char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \
|
||||||
bp,(char **)(x),cb,NULL)
|
bp,(char **)(x),cb,NULL)
|
||||||
|
|
||||||
# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\
|
# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb) (OCSP_RESPONSE *)PEM_ASN1_read_bio(\
|
||||||
(char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \
|
(char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \
|
||||||
bp,(char **)(x),cb,NULL)
|
bp,(char **)(x),cb,NULL)
|
||||||
|
|
||||||
@@ -229,8 +229,8 @@ int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs,
|
|||||||
int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath,
|
int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath,
|
||||||
int *pssl);
|
int *pssl);
|
||||||
|
|
||||||
int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b);
|
int OCSP_id_issuer_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b);
|
||||||
int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b);
|
int OCSP_id_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b);
|
||||||
|
|
||||||
int OCSP_request_onereq_count(OCSP_REQUEST *req);
|
int OCSP_request_onereq_count(OCSP_REQUEST *req);
|
||||||
OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i);
|
OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_OCSPERR_H
|
#ifndef HEADER_OCSPERR_H
|
||||||
# define HEADER_OCSPERR_H
|
# define HEADER_OCSPERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_OCSP
|
# ifndef OPENSSL_NO_OCSP
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* WARNING: do not edit!
|
* WARNING: do not edit!
|
||||||
* Generated by Makefile from include/openssl/opensslconf.h.in
|
* Generated by Makefile from include/openssl/opensslconf.h.in
|
||||||
*
|
*
|
||||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -24,9 +24,6 @@ extern "C" {
|
|||||||
* OpenSSL was configured with the following options:
|
* OpenSSL was configured with the following options:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_COMP
|
|
||||||
# define OPENSSL_NO_COMP
|
|
||||||
#endif
|
|
||||||
#ifndef OPENSSL_NO_MD2
|
#ifndef OPENSSL_NO_MD2
|
||||||
# define OPENSSL_NO_MD2
|
# define OPENSSL_NO_MD2
|
||||||
#endif
|
#endif
|
||||||
@@ -48,9 +45,6 @@ extern "C" {
|
|||||||
#ifndef OPENSSL_NO_ASAN
|
#ifndef OPENSSL_NO_ASAN
|
||||||
# define OPENSSL_NO_ASAN
|
# define OPENSSL_NO_ASAN
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_ASM
|
|
||||||
# define OPENSSL_NO_ASM
|
|
||||||
#endif
|
|
||||||
#ifndef OPENSSL_NO_CAPIENG
|
#ifndef OPENSSL_NO_CAPIENG
|
||||||
# define OPENSSL_NO_CAPIENG
|
# define OPENSSL_NO_CAPIENG
|
||||||
#endif
|
#endif
|
||||||
@@ -120,9 +114,6 @@ extern "C" {
|
|||||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||||
# define OPENSSL_NO_DYNAMIC_ENGINE
|
# define OPENSSL_NO_DYNAMIC_ENGINE
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_AFALGENG
|
|
||||||
# define OPENSSL_NO_AFALGENG
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -144,6 +135,11 @@ extern "C" {
|
|||||||
# undef DECLARE_DEPRECATED
|
# undef DECLARE_DEPRECATED
|
||||||
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||||
# endif
|
# endif
|
||||||
|
# elif defined(__SUNPRO_C)
|
||||||
|
# if (__SUNPRO_C >= 0x5130)
|
||||||
|
# undef DECLARE_DEPRECATED
|
||||||
|
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* {- join("\n * ", @autowarntext) -}
|
* {- join("\n * ", @autowarntext) -}
|
||||||
*
|
*
|
||||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -77,6 +77,11 @@ extern "C" {
|
|||||||
# undef DECLARE_DEPRECATED
|
# undef DECLARE_DEPRECATED
|
||||||
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||||
# endif
|
# endif
|
||||||
|
# elif defined(__SUNPRO_C)
|
||||||
|
# if (__SUNPRO_C >= 0x5130)
|
||||||
|
# undef DECLARE_DEPRECATED
|
||||||
|
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -39,8 +39,8 @@ extern "C" {
|
|||||||
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
|
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
|
||||||
* major minor fix final patch/beta)
|
* major minor fix final patch/beta)
|
||||||
*/
|
*/
|
||||||
# define OPENSSL_VERSION_NUMBER 0x1010102fL
|
# define OPENSSL_VERSION_NUMBER 0x101010bfL
|
||||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1b 26 Feb 2019"
|
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1k 25 Mar 2021"
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* The macros below are to be used for shared library (.so, .dll, ...)
|
* The macros below are to be used for shared library (.so, .dll, ...)
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ typedef struct dsa_method DSA_METHOD;
|
|||||||
|
|
||||||
typedef struct rsa_st RSA;
|
typedef struct rsa_st RSA;
|
||||||
typedef struct rsa_meth_st RSA_METHOD;
|
typedef struct rsa_meth_st RSA_METHOD;
|
||||||
|
typedef struct rsa_pss_params_st RSA_PSS_PARAMS;
|
||||||
|
|
||||||
typedef struct ec_key_st EC_KEY;
|
typedef struct ec_key_st EC_KEY;
|
||||||
typedef struct ec_key_method_st EC_KEY_METHOD;
|
typedef struct ec_key_method_st EC_KEY_METHOD;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_PEMERR_H
|
#ifndef HEADER_PEMERR_H
|
||||||
# define HEADER_PEMERR_H
|
# define HEADER_PEMERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -57,6 +61,7 @@ int ERR_load_PEM_strings(void);
|
|||||||
# define PEM_F_PEM_SIGNFINAL 112
|
# define PEM_F_PEM_SIGNFINAL 112
|
||||||
# define PEM_F_PEM_WRITE 113
|
# define PEM_F_PEM_WRITE 113
|
||||||
# define PEM_F_PEM_WRITE_BIO 114
|
# define PEM_F_PEM_WRITE_BIO 114
|
||||||
|
# define PEM_F_PEM_WRITE_BIO_PRIVATEKEY_TRADITIONAL 147
|
||||||
# define PEM_F_PEM_WRITE_PRIVATEKEY 139
|
# define PEM_F_PEM_WRITE_PRIVATEKEY 139
|
||||||
# define PEM_F_PEM_X509_INFO_READ 115
|
# define PEM_F_PEM_X509_INFO_READ 115
|
||||||
# define PEM_F_PEM_X509_INFO_READ_BIO 116
|
# define PEM_F_PEM_X509_INFO_READ_BIO 116
|
||||||
@@ -95,5 +100,6 @@ int ERR_load_PEM_strings(void);
|
|||||||
# define PEM_R_UNSUPPORTED_CIPHER 113
|
# define PEM_R_UNSUPPORTED_CIPHER 113
|
||||||
# define PEM_R_UNSUPPORTED_ENCRYPTION 114
|
# define PEM_R_UNSUPPORTED_ENCRYPTION 114
|
||||||
# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126
|
# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126
|
||||||
|
# define PEM_R_UNSUPPORTED_PUBLIC_KEY_TYPE 110
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_PKCS12ERR_H
|
#ifndef HEADER_PKCS12ERR_H
|
||||||
# define HEADER_PKCS12ERR_H
|
# define HEADER_PKCS12ERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_PKCS7ERR_H
|
#ifndef HEADER_PKCS7ERR_H
|
||||||
# define HEADER_PKCS7ERR_H
|
# define HEADER_PKCS7ERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
#ifndef HEADER_RANDERR_H
|
#ifndef HEADER_RANDERR_H
|
||||||
# define HEADER_RANDERR_H
|
# define HEADER_RANDERR_H
|
||||||
|
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -19,6 +21,7 @@ int ERR_load_RAND_strings(void);
|
|||||||
/*
|
/*
|
||||||
* RAND function codes.
|
* RAND function codes.
|
||||||
*/
|
*/
|
||||||
|
# define RAND_F_DATA_COLLECT_METHOD 127
|
||||||
# define RAND_F_DRBG_BYTES 101
|
# define RAND_F_DRBG_BYTES 101
|
||||||
# define RAND_F_DRBG_GET_ENTROPY 105
|
# define RAND_F_DRBG_GET_ENTROPY 105
|
||||||
# define RAND_F_DRBG_SETUP 117
|
# define RAND_F_DRBG_SETUP 117
|
||||||
@@ -42,7 +45,9 @@ int ERR_load_RAND_strings(void);
|
|||||||
# define RAND_F_RAND_POOL_ADD_END 114
|
# define RAND_F_RAND_POOL_ADD_END 114
|
||||||
# define RAND_F_RAND_POOL_ATTACH 124
|
# define RAND_F_RAND_POOL_ATTACH 124
|
||||||
# define RAND_F_RAND_POOL_BYTES_NEEDED 115
|
# define RAND_F_RAND_POOL_BYTES_NEEDED 115
|
||||||
|
# define RAND_F_RAND_POOL_GROW 125
|
||||||
# define RAND_F_RAND_POOL_NEW 116
|
# define RAND_F_RAND_POOL_NEW 116
|
||||||
|
# define RAND_F_RAND_PSEUDO_BYTES 126
|
||||||
# define RAND_F_RAND_WRITE_FILE 112
|
# define RAND_F_RAND_WRITE_FILE 112
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -224,6 +224,7 @@ const BIGNUM *RSA_get0_q(const RSA *d);
|
|||||||
const BIGNUM *RSA_get0_dmp1(const RSA *r);
|
const BIGNUM *RSA_get0_dmp1(const RSA *r);
|
||||||
const BIGNUM *RSA_get0_dmq1(const RSA *r);
|
const BIGNUM *RSA_get0_dmq1(const RSA *r);
|
||||||
const BIGNUM *RSA_get0_iqmp(const RSA *r);
|
const BIGNUM *RSA_get0_iqmp(const RSA *r);
|
||||||
|
const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r);
|
||||||
void RSA_clear_flags(RSA *r, int flags);
|
void RSA_clear_flags(RSA *r, int flags);
|
||||||
int RSA_test_flags(const RSA *r, int flags);
|
int RSA_test_flags(const RSA *r, int flags);
|
||||||
void RSA_set_flags(RSA *r, int flags);
|
void RSA_set_flags(RSA *r, int flags);
|
||||||
@@ -279,14 +280,14 @@ int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2);
|
|||||||
DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey)
|
DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey)
|
||||||
DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey)
|
DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey)
|
||||||
|
|
||||||
typedef struct rsa_pss_params_st {
|
struct rsa_pss_params_st {
|
||||||
X509_ALGOR *hashAlgorithm;
|
X509_ALGOR *hashAlgorithm;
|
||||||
X509_ALGOR *maskGenAlgorithm;
|
X509_ALGOR *maskGenAlgorithm;
|
||||||
ASN1_INTEGER *saltLength;
|
ASN1_INTEGER *saltLength;
|
||||||
ASN1_INTEGER *trailerField;
|
ASN1_INTEGER *trailerField;
|
||||||
/* Decoded hash algorithm from maskGenAlgorithm */
|
/* Decoded hash algorithm from maskGenAlgorithm */
|
||||||
X509_ALGOR *maskHash;
|
X509_ALGOR *maskHash;
|
||||||
} RSA_PSS_PARAMS;
|
};
|
||||||
|
|
||||||
DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
|
DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_RSAERR_H
|
#ifndef HEADER_RSAERR_H
|
||||||
# define HEADER_RSAERR_H
|
# define HEADER_RSAERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -126,6 +130,7 @@ int ERR_load_RSA_strings(void);
|
|||||||
# define RSA_R_KEY_PRIME_NUM_INVALID 165
|
# define RSA_R_KEY_PRIME_NUM_INVALID 165
|
||||||
# define RSA_R_KEY_SIZE_TOO_SMALL 120
|
# define RSA_R_KEY_SIZE_TOO_SMALL 120
|
||||||
# define RSA_R_LAST_OCTET_INVALID 134
|
# define RSA_R_LAST_OCTET_INVALID 134
|
||||||
|
# define RSA_R_MISSING_PRIVATE_KEY 179
|
||||||
# define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152
|
# define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152
|
||||||
# define RSA_R_MODULUS_TOO_LARGE 105
|
# define RSA_R_MODULUS_TOO_LARGE 105
|
||||||
# define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R 168
|
# define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R 168
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||||
* Copyright 2005 Nokia. All rights reserved.
|
* Copyright 2005 Nokia. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -1364,24 +1364,24 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
|
|||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
|
||||||
# define SSL_CTX_set1_chain_cert_store(ctx,st) \
|
# define SSL_CTX_set1_chain_cert_store(ctx,st) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
|
||||||
# define SSL_set0_chain(ctx,sk) \
|
# define SSL_set0_chain(s,sk) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk))
|
SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk))
|
||||||
# define SSL_set1_chain(ctx,sk) \
|
# define SSL_set1_chain(s,sk) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk))
|
SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk))
|
||||||
# define SSL_add0_chain_cert(ctx,x509) \
|
# define SSL_add0_chain_cert(s,x509) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509))
|
SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509))
|
||||||
# define SSL_add1_chain_cert(ctx,x509) \
|
# define SSL_add1_chain_cert(s,x509) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509))
|
SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509))
|
||||||
# define SSL_get0_chain_certs(ctx,px509) \
|
# define SSL_get0_chain_certs(s,px509) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509)
|
SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509)
|
||||||
# define SSL_clear_chain_certs(ctx) \
|
# define SSL_clear_chain_certs(s) \
|
||||||
SSL_set0_chain(ctx,NULL)
|
SSL_set0_chain(s,NULL)
|
||||||
# define SSL_build_cert_chain(s, flags) \
|
# define SSL_build_cert_chain(s, flags) \
|
||||||
SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL)
|
SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL)
|
||||||
# define SSL_select_current_cert(ctx,x509) \
|
# define SSL_select_current_cert(s,x509) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509))
|
SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509))
|
||||||
# define SSL_set_current_cert(ctx,op) \
|
# define SSL_set_current_cert(s,op) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL)
|
SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL)
|
||||||
# define SSL_set0_verify_cert_store(s,st) \
|
# define SSL_set0_verify_cert_store(s,st) \
|
||||||
SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st))
|
SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st))
|
||||||
# define SSL_set1_verify_cert_store(s,st) \
|
# define SSL_set1_verify_cert_store(s,st) \
|
||||||
@@ -1390,34 +1390,34 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
|
|||||||
SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
|
SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st))
|
||||||
# define SSL_set1_chain_cert_store(s,st) \
|
# define SSL_set1_chain_cert_store(s,st) \
|
||||||
SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
|
SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st))
|
||||||
# define SSL_get1_groups(ctx, s) \
|
# define SSL_get1_groups(s, glist) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_GET_GROUPS,0,(char *)(s))
|
SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist))
|
||||||
# define SSL_CTX_set1_groups(ctx, glist, glistlen) \
|
# define SSL_CTX_set1_groups(ctx, glist, glistlen) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(int *)(glist))
|
||||||
# define SSL_CTX_set1_groups_list(ctx, s) \
|
# define SSL_CTX_set1_groups_list(ctx, s) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s))
|
||||||
# define SSL_set1_groups(ctx, glist, glistlen) \
|
# define SSL_set1_groups(s, glist, glistlen) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist))
|
SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist))
|
||||||
# define SSL_set1_groups_list(ctx, s) \
|
# define SSL_set1_groups_list(s, str) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s))
|
SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str))
|
||||||
# define SSL_get_shared_group(s, n) \
|
# define SSL_get_shared_group(s, n) \
|
||||||
SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL)
|
SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL)
|
||||||
# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \
|
# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
|
||||||
# define SSL_CTX_set1_sigalgs_list(ctx, s) \
|
# define SSL_CTX_set1_sigalgs_list(ctx, s) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s))
|
||||||
# define SSL_set1_sigalgs(ctx, slist, slistlen) \
|
# define SSL_set1_sigalgs(s, slist, slistlen) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
|
SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist))
|
||||||
# define SSL_set1_sigalgs_list(ctx, s) \
|
# define SSL_set1_sigalgs_list(s, str) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s))
|
SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str))
|
||||||
# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \
|
# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
|
||||||
# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \
|
# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \
|
||||||
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s))
|
SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s))
|
||||||
# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \
|
# define SSL_set1_client_sigalgs(s, slist, slistlen) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)(slist))
|
SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist))
|
||||||
# define SSL_set1_client_sigalgs_list(ctx, s) \
|
# define SSL_set1_client_sigalgs_list(s, str) \
|
||||||
SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s))
|
SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str))
|
||||||
# define SSL_get0_certificate_types(s, clist) \
|
# define SSL_get0_certificate_types(s, clist) \
|
||||||
SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist))
|
SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist))
|
||||||
# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \
|
# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \
|
||||||
@@ -2139,7 +2139,7 @@ size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx);
|
|||||||
# define SSL_cache_hit(s) SSL_session_reused(s)
|
# define SSL_cache_hit(s) SSL_session_reused(s)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
__owur int SSL_session_reused(SSL *s);
|
__owur int SSL_session_reused(const SSL *s);
|
||||||
__owur int SSL_is_server(const SSL *s);
|
__owur int SSL_is_server(const SSL *s);
|
||||||
|
|
||||||
__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void);
|
__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
@@ -292,6 +292,9 @@ extern "C" {
|
|||||||
|
|
||||||
# define TLS1_FLAGS_STATELESS 0x0800
|
# define TLS1_FLAGS_STATELESS 0x0800
|
||||||
|
|
||||||
|
/* Set if extended master secret extension required on renegotiation */
|
||||||
|
# define TLS1_FLAGS_REQUIRED_EXTMS 0x1000
|
||||||
|
|
||||||
# define SSL3_MT_HELLO_REQUEST 0
|
# define SSL3_MT_HELLO_REQUEST 0
|
||||||
# define SSL3_MT_CLIENT_HELLO 1
|
# define SSL3_MT_CLIENT_HELLO 1
|
||||||
# define SSL3_MT_SERVER_HELLO 2
|
# define SSL3_MT_SERVER_HELLO 2
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_SSLERR_H
|
#ifndef HEADER_SSLERR_H
|
||||||
# define HEADER_SSLERR_H
|
# define HEADER_SSLERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -84,6 +88,7 @@ int ERR_load_SSL_strings(void);
|
|||||||
# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431
|
# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431
|
||||||
# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601
|
# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601
|
||||||
# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602
|
# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602
|
||||||
|
# define SSL_F_OSSL_STATEM_SERVER_PRE_WORK 640
|
||||||
# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603
|
# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603
|
||||||
# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418
|
# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418
|
||||||
# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604
|
# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -85,7 +85,7 @@ OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx);
|
|||||||
int OSSL_STORE_eof(OSSL_STORE_CTX *ctx);
|
int OSSL_STORE_eof(OSSL_STORE_CTX *ctx);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if an error occured
|
* Check if an error occurred
|
||||||
* Returns 1 if it did, 0 otherwise.
|
* Returns 1 if it did, 0 otherwise.
|
||||||
*/
|
*/
|
||||||
int OSSL_STORE_error(OSSL_STORE_CTX *ctx);
|
int OSSL_STORE_error(OSSL_STORE_CTX *ctx);
|
||||||
@@ -117,7 +117,7 @@ int OSSL_STORE_close(OSSL_STORE_CTX *ctx);
|
|||||||
* Functions to generate OSSL_STORE_INFOs, one function for each type we
|
* Functions to generate OSSL_STORE_INFOs, one function for each type we
|
||||||
* support having in them, as well as a generic constructor.
|
* support having in them, as well as a generic constructor.
|
||||||
*
|
*
|
||||||
* In all cases, ownership of the object is transfered to the OSSL_STORE_INFO
|
* In all cases, ownership of the object is transferred to the OSSL_STORE_INFO
|
||||||
* and will therefore be freed when the OSSL_STORE_INFO is freed.
|
* and will therefore be freed when the OSSL_STORE_INFO is freed.
|
||||||
*/
|
*/
|
||||||
OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name);
|
OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_OSSL_STOREERR_H
|
#ifndef HEADER_OSSL_STOREERR_H
|
||||||
# define HEADER_OSSL_STOREERR_H
|
# define HEADER_OSSL_STOREERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||||
* Copyright 2005 Nokia. All rights reserved.
|
* Copyright 2005 Nokia. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -1222,7 +1222,7 @@ __owur int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain)
|
|||||||
/*
|
/*
|
||||||
* extended master secret
|
* extended master secret
|
||||||
*/
|
*/
|
||||||
# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "\x65\x78\x74\x65\x63\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74"
|
# define TLS_MD_EXTENDED_MASTER_SECRET_CONST "\x65\x78\x74\x65\x6e\x64\x65\x64\x20\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* TLS Session Ticket extension struct */
|
/* TLS Session Ticket extension struct */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_TSERR_H
|
#ifndef HEADER_TSERR_H
|
||||||
# define HEADER_TSERR_H
|
# define HEADER_TSERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# include <openssl/opensslconf.h>
|
# include <openssl/opensslconf.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_NO_TS
|
# ifndef OPENSSL_NO_TS
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_UIERR_H
|
#ifndef HEADER_UIERR_H
|
||||||
# define HEADER_UIERR_H
|
# define HEADER_UIERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
@@ -478,6 +478,7 @@ void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype,
|
|||||||
const void **ppval, const X509_ALGOR *algor);
|
const void **ppval, const X509_ALGOR *algor);
|
||||||
void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md);
|
void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md);
|
||||||
int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
|
int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
|
||||||
|
int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src);
|
||||||
|
|
||||||
X509_NAME *X509_NAME_dup(X509_NAME *xn);
|
X509_NAME *X509_NAME_dup(X509_NAME *xn);
|
||||||
X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);
|
X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);
|
||||||
@@ -679,6 +680,8 @@ X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req);
|
|||||||
int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name);
|
int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name);
|
||||||
void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
|
void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
|
||||||
const X509_ALGOR **palg);
|
const X509_ALGOR **palg);
|
||||||
|
void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig);
|
||||||
|
int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg);
|
||||||
int X509_REQ_get_signature_nid(const X509_REQ *req);
|
int X509_REQ_get_signature_nid(const X509_REQ *req);
|
||||||
int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
|
int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
|
||||||
int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
|
int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
|
||||||
@@ -930,7 +933,7 @@ STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE)
|
|||||||
int type,
|
int type,
|
||||||
const unsigned char *bytes,
|
const unsigned char *bytes,
|
||||||
int len);
|
int len);
|
||||||
void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x,
|
void *X509at_get0_data_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *x,
|
||||||
const ASN1_OBJECT *obj, int lastpos, int type);
|
const ASN1_OBJECT *obj, int lastpos, int type);
|
||||||
X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid,
|
X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid,
|
||||||
int atrtype, const void *data,
|
int atrtype, const void *data,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -184,6 +184,10 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
|||||||
# define X509_V_ERR_OCSP_VERIFY_NEEDED 73 /* Need OCSP verification */
|
# define X509_V_ERR_OCSP_VERIFY_NEEDED 73 /* Need OCSP verification */
|
||||||
# define X509_V_ERR_OCSP_VERIFY_FAILED 74 /* Couldn't verify cert through OCSP */
|
# define X509_V_ERR_OCSP_VERIFY_FAILED 74 /* Couldn't verify cert through OCSP */
|
||||||
# define X509_V_ERR_OCSP_CERT_UNKNOWN 75 /* Certificate wasn't recognized by the OCSP responder */
|
# define X509_V_ERR_OCSP_CERT_UNKNOWN 75 /* Certificate wasn't recognized by the OCSP responder */
|
||||||
|
# define X509_V_ERR_SIGNATURE_ALGORITHM_MISMATCH 76
|
||||||
|
# define X509_V_ERR_NO_ISSUER_PUBLIC_KEY 77
|
||||||
|
# define X509_V_ERR_UNSUPPORTED_SIGNATURE_ALGORITHM 78
|
||||||
|
# define X509_V_ERR_EC_KEY_EXPLICIT_PARAMS 79
|
||||||
|
|
||||||
/* Certificate verify flags */
|
/* Certificate verify flags */
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
#ifndef HEADER_X509ERR_H
|
#ifndef HEADER_X509ERR_H
|
||||||
# define HEADER_X509ERR_H
|
# define HEADER_X509ERR_H
|
||||||
|
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
@@ -61,6 +63,7 @@ int ERR_load_X509_strings(void);
|
|||||||
# define X509_F_X509_OBJECT_NEW 150
|
# define X509_F_X509_OBJECT_NEW 150
|
||||||
# define X509_F_X509_PRINT_EX_FP 118
|
# define X509_F_X509_PRINT_EX_FP 118
|
||||||
# define X509_F_X509_PUBKEY_DECODE 148
|
# define X509_F_X509_PUBKEY_DECODE 148
|
||||||
|
# define X509_F_X509_PUBKEY_GET 161
|
||||||
# define X509_F_X509_PUBKEY_GET0 119
|
# define X509_F_X509_PUBKEY_GET0 119
|
||||||
# define X509_F_X509_PUBKEY_SET 120
|
# define X509_F_X509_PUBKEY_SET 120
|
||||||
# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144
|
# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144
|
||||||
@@ -93,6 +96,7 @@ int ERR_load_X509_strings(void);
|
|||||||
# define X509_R_CRL_ALREADY_DELTA 127
|
# define X509_R_CRL_ALREADY_DELTA 127
|
||||||
# define X509_R_CRL_VERIFY_FAILURE 131
|
# define X509_R_CRL_VERIFY_FAILURE 131
|
||||||
# define X509_R_IDP_MISMATCH 128
|
# define X509_R_IDP_MISMATCH 128
|
||||||
|
# define X509_R_INVALID_ATTRIBUTES 138
|
||||||
# define X509_R_INVALID_DIRECTORY 113
|
# define X509_R_INVALID_DIRECTORY 113
|
||||||
# define X509_R_INVALID_FIELD_NAME 119
|
# define X509_R_INVALID_FIELD_NAME 119
|
||||||
# define X509_R_INVALID_TRUST 123
|
# define X509_R_INVALID_TRUST 123
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -364,8 +364,9 @@ struct ISSUING_DIST_POINT_st {
|
|||||||
|
|
||||||
# define EXFLAG_INVALID_POLICY 0x800
|
# define EXFLAG_INVALID_POLICY 0x800
|
||||||
# define EXFLAG_FRESHEST 0x1000
|
# define EXFLAG_FRESHEST 0x1000
|
||||||
/* Self signed */
|
# define EXFLAG_SS 0x2000 /* cert is apparently self-signed */
|
||||||
# define EXFLAG_SS 0x2000
|
|
||||||
|
# define EXFLAG_NO_FINGERPRINT 0x100000
|
||||||
|
|
||||||
# define KU_DIGITAL_SIGNATURE 0x0080
|
# define KU_DIGITAL_SIGNATURE 0x0080
|
||||||
# define KU_NON_REPUDIATION 0x0040
|
# define KU_NON_REPUDIATION 0x0040
|
||||||
@@ -497,10 +498,10 @@ DECLARE_ASN1_FUNCTIONS(OTHERNAME)
|
|||||||
DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
|
DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
|
||||||
int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
|
int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
|
||||||
void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
|
void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
|
||||||
void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype);
|
void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype);
|
||||||
int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
|
int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
|
||||||
ASN1_OBJECT *oid, ASN1_TYPE *value);
|
ASN1_OBJECT *oid, ASN1_TYPE *value);
|
||||||
int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen,
|
int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,
|
||||||
ASN1_OBJECT **poid, ASN1_TYPE **pvalue);
|
ASN1_OBJECT **poid, ASN1_TYPE **pvalue);
|
||||||
|
|
||||||
char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
|
char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
|
||||||
@@ -661,6 +662,8 @@ uint32_t X509_get_key_usage(X509 *x);
|
|||||||
uint32_t X509_get_extended_key_usage(X509 *x);
|
uint32_t X509_get_extended_key_usage(X509 *x);
|
||||||
const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x);
|
const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x);
|
||||||
const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x);
|
const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x);
|
||||||
|
const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x);
|
||||||
|
const ASN1_INTEGER *X509_get0_authority_serial(X509 *x);
|
||||||
|
|
||||||
int X509_PURPOSE_get_count(void);
|
int X509_PURPOSE_get_count(void);
|
||||||
X509_PURPOSE *X509_PURPOSE_get0(int idx);
|
X509_PURPOSE *X509_PURPOSE_get0(int idx);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@@ -11,6 +11,10 @@
|
|||||||
#ifndef HEADER_X509V3ERR_H
|
#ifndef HEADER_X509V3ERR_H
|
||||||
# define HEADER_X509V3ERR_H
|
# define HEADER_X509V3ERR_H
|
||||||
|
|
||||||
|
# ifndef HEADER_SYMHACKS_H
|
||||||
|
# include <openssl/symhacks.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
# endif
|
# endif
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
|||||||
|
- Improved video latency on some HiSilicon, Samsung, and Qualcomm devices
|
||||||
|
- Added support for audio stream encryption with GFE 3.22
|
||||||
Reference in new issue
Block a user