Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package MistServer for openSUSE:Factory checked in at 2025-11-28 16:53:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MistServer (Old) and /work/SRC/openSUSE:Factory/.MistServer.new.14147 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MistServer" Fri Nov 28 16:53:05 2025 rev:7 rq:1320389 version:3.9.2 Changes: -------- --- /work/SRC/openSUSE:Factory/MistServer/MistServer.changes 2025-11-26 17:16:08.535975608 +0100 +++ /work/SRC/openSUSE:Factory/.MistServer.new.14147/MistServer.changes 2025-11-28 16:54:52.699202168 +0100 @@ -1,0 +2,11 @@ +Thu Nov 27 20:42:40 UTC 2025 - Yoshio Sato <[email protected]> + +- Update to the new upstream release 3.9.2 + * Feature: The .html output now supports several new URL parameters (see documentation for details) + * Improvement: An Alpine-based Dockerfile is now part of the main repository + * Bugfix: Proxied IP addresses are now correctly passed again (regression introduced in 3.9) + * Bugfix: API port will now also consider X-Forwarded-For to consider traffic non-local (instead of only X-Real-IP, as before) + * Bugfix: RIST input profile setting could not be set, now it can + * Bugfix: Fixed support for wildcard certificates for HTTPS/RTMPS, fixed default certificate fallback + +------------------------------------------------------------------- Old: ---- MistServer-3.9.1.tar.gz New: ---- MistServer-3.9.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MistServer.spec ++++++ --- /var/tmp/diff_new_pack.cGzsMD/_old 2025-11-28 16:54:55.007299349 +0100 +++ /var/tmp/diff_new_pack.cGzsMD/_new 2025-11-28 16:54:55.027300192 +0100 @@ -17,7 +17,7 @@ Name: MistServer -Version: 3.9.1 +Version: 3.9.2 Release: 0 Summary: Internet streaming media toolkit License: Unlicense ++++++ MistServer-3.9.1.tar.gz -> MistServer-3.9.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/.dockerignore new/mistserver-3.9.2/.dockerignore --- old/mistserver-3.9.1/.dockerignore 1970-01-01 01:00:00.000000000 +0100 +++ new/mistserver-3.9.2/.dockerignore 2025-11-27 16:49:50.000000000 +0100 @@ -0,0 +1,4 @@ +build +.git +Dockerfile.* + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/Dockerfile.mistserver new/mistserver-3.9.2/Dockerfile.mistserver --- old/mistserver-3.9.1/Dockerfile.mistserver 1970-01-01 01:00:00.000000000 +0100 +++ new/mistserver-3.9.2/Dockerfile.mistserver 2025-11-27 16:49:50.000000000 +0100 @@ -0,0 +1,53 @@ +FROM alpine AS mist_build +# Pull in build requirements +RUN apk add --no-cache git patch meson ninja gcc g++ linux-headers pigz curl cjson pkgconfig + +# Build dependencies librist, libsrt, libsrtp2, usrsctplib, mbedtls +RUN mkdir -p /deps/build/mbedtls /deps/build/libsrtp /deps/build/libsrt /deps/build/librist /deps/build/usrsctp /deps/mbedtls /deps/libsrtp /deps/libsrt /deps/librist /deps/usrsctp + +# mbedtls +ADD --unpack=true https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-3.6.5/mbedtls-3.6.5.tar.bz2 /deps +ADD subprojects/packagefiles/mbedtls/meson.build /deps/mbedtls-3.6.5/ +ADD subprojects/packagefiles/mbedtls/include/mbedtls/mbedtls_config.h /deps/mbedtls-3.6.5/include/mbedtls/ +RUN cd /deps/build/mbedtls/ && meson setup /deps/mbedtls-3.6.5 -Dstrip=true && meson install + +# srtp +ADD https://github.com/cisco/libsrtp.git#v2.6.0 /deps/libsrtp +RUN cd /deps/build/libsrtp/ && meson setup /deps/libsrtp -Dstrip=true && meson install + +# srt +ADD https://github.com/Haivision/srt.git#v1.5.4 /deps/libsrt +ADD subprojects/packagefiles/libsrt/meson.build /deps/libsrt/ +ADD subprojects/packagefiles/libsrt/srt/meson.build /deps/libsrt/srt/ +RUN cd /deps/build/libsrt/ && meson setup /deps/libsrt -Dstrip=true && meson install + +# librist +ADD https://code.videolan.org/rist/librist.git#v0.2.11 /deps/librist +RUN cd /deps/build/librist/ && meson setup /deps/librist -Dstrip=true && meson install + +# usrsctp +ADD https://github.com/sctplab/usrsctp.git#0.9.5.0 /deps/usrsctp +RUN cd /deps/build/usrsctp/ && meson setup /deps/usrsctp -Dstrip=true && meson install + +# Build MistServer from local source +ADD . /src/ +ARG MIST_OPTS +ARG DEBUG=3 +ARG VERSION=Unknown +ARG TARGETPLATFORM +ARG RELEASE=Docker_${TARGETPLATFORM} +RUN mkdir /build/ && cd /build && meson setup /src -DDOCKERRUN=true -DNOUPDATE=true -DDEBUG=${DEBUG} -DVERSION=${VERSION} -DRELEASE=${RELEASE} -Dstrip=true ${MIST_OPTS} && ninja install + +# Upload debug symbols if requested +ARG OUTPUT_DBG +RUN if [ -n "${OUTPUT_DBG+x}" ]; then tar cf - /build /src /deps | pigz -6 | curl --upload-file - "${OUTPUT_DBG}" ; fi + +# Prepare final image from stripped (installed) copy of build +FROM alpine +RUN apk add --no-cache libstdc++ cjson +COPY --from=mist_build /usr/local/ /usr/local/ +LABEL org.opencontainers.image.authors="Jaron Viƫtor <[email protected]>" +EXPOSE 4242 8080 1935 5554 8889/udp 18203/udp +ENTRYPOINT ["MistController"] +HEALTHCHECK CMD ["MistUtilHealth"] + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/lib/bitfields.cpp new/mistserver-3.9.2/lib/bitfields.cpp --- old/mistserver-3.9.1/lib/bitfields.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/lib/bitfields.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -36,6 +36,7 @@ /// WARNING: UNFINISHED. DO NOT USE. /// \todo Finish writing this - untested atm. void Bit::setMSB(char *pointer, unsigned int offsetBits, unsigned int dataBits, unsigned long long value){ + WARN_MSG("setMSB is unfinished"); // Set the pointer to the last byte we need to be setting pointer += (offsetBits + dataBits) >> 3; // The offset is now guaranteed less than a whole byte. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/lib/config.cpp new/mistserver-3.9.2/lib/config.cpp --- old/mistserver-3.9.1/lib/config.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/lib/config.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -26,7 +26,7 @@ #include <windows.h> #endif -#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__MACH__) +#ifdef HASSYSWAIT #include <sys/wait.h> #else #include <wait.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/lib/procs.cpp new/mistserver-3.9.2/lib/procs.cpp --- old/mistserver-3.9.1/lib/procs.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/lib/procs.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -15,7 +15,7 @@ #include <sys/types.h> #include <thread> -#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__MACH__) +#ifdef HASSYSWAIT #include <sys/wait.h> #else #include <wait.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/meson.build new/mistserver-3.9.2/meson.build --- old/mistserver-3.9.1/meson.build 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/meson.build 2025-11-27 16:49:50.000000000 +0100 @@ -31,7 +31,7 @@ if fs.is_file('VERSION') version = fs.read('VERSION').strip() else - version = 'Unknown' + version = get_option('VERSION') endif endif else @@ -39,7 +39,7 @@ if fs.is_file('VERSION') version = fs.read('VERSION').strip() else - version = 'Unknown' + version = get_option('VERSION') endif endif @@ -101,6 +101,10 @@ option_defines += '-DNOLLHLS=1' endif +if get_option('DOCKERRUN') + option_defines += '-DDOCKERRUN' +endif + # End of options message('Building release @0@ for version @1@ @ debug level @2@'.format(release, version, get_option('DEBUG'))) @@ -123,6 +127,10 @@ option_defines += '-DHASEXECINFO' endif +if ccpp.has_header('sys/wait.h') + option_defines += '-DHASSYSWAIT' +endif + if usessl mbedtls = ccpp.find_library('mbedtls', required: false) mbedx509 = ccpp.find_library('mbedx509', required: false) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/meson_options.txt new/mistserver-3.9.2/meson_options.txt --- old/mistserver-3.9.1/meson_options.txt 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/meson_options.txt 2025-11-27 16:49:50.000000000 +0100 @@ -17,6 +17,7 @@ option('NORIST', description: 'Disable building RIST support, regardless of library being present (by default RIST is enabled if libraries are installed)', type : 'boolean', value : false) option('NOSRT', description: 'Disable building SRT support, regardless of library being present (by default SRT is enabled if libraries are installed)', type : 'boolean', value : false) option('RELEASE', description: 'Release string used in the reported version information', type: 'string', value: 'DEFAULT') +option('VERSION', description: 'Version string used in the reported version information', type: 'string', value: 'Unknown') option('DEBUG', description: 'Default debug level. Recommended value for development is 4, recommended value for production is 3', type: 'integer', value: 4) option('NOGA', description: 'Disables Google Analytics entirely in the LSP', type: 'boolean', value: false) option('LOAD_BALANCE', description: 'Build the load balancer (WIP)', type: 'boolean', value: false) @@ -24,4 +25,5 @@ option('WITH_SANITY', description: 'Enable MistOutSanityCheck output for testing purposes', type: 'boolean', value: false) option('LSP_MINIFY', description: 'Try to minify LSP JS via java closure-compiler, generally not needed unless changing JS code as a minified version is part of the repository already', type: 'boolean', value: false) option('LOCAL_GENERATORS', description: 'Attempts to find a locally-installed version of sourcery and make_html, instead of compiling it', type: 'boolean', value: false) +option('DOCKERRUN', description: 'Enables the controller to execute a command that is passed as the first parameter to pass official Docker image requirements', type: 'boolean', value: false) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/controller/controller.cpp new/mistserver-3.9.2/src/controller/controller.cpp --- old/mistserver-3.9.1/src/controller/controller.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/controller/controller.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -604,6 +604,27 @@ // Not sure if this is the right way, but it seems to help! umask(0); #endif + +#ifdef DOCKERRUN + // Docker-specific code to run any command passed to the controller + if(argc > 1) { + char *path = getenv("PATH"); + std::deque<std::string> paths; + if (path) { + Util::splitString(path, ':', paths); + } else { + paths.emplace_back("/usr/local/bin/"); + paths.emplace_back("/usr/bin/"); + } + + for (const std::string &p : paths) { + struct stat buf; + if(stat((p + '/' + argv[1]).c_str(), &buf)) continue; + if (buf.st_mode & S_IXOTH) execvp(argv[1], argv + 1); + } + } +#endif + Controller::conf = Util::Config(argv[0]); Util::Config::binaryType = Util::CONTROLLER; Controller::conf.activate(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/controller/controller_api.cpp new/mistserver-3.9.2/src/controller/controller_api.cpp --- old/mistserver-3.9.1/src/controller/controller_api.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/controller/controller_api.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -492,7 +492,7 @@ } while (aConn->C.spool() && aConn->C.Received().size() && aConn->H.Read(aConn->C)) { // Are we local and not forwarded? Instant-authorized. - if (!aConn->authorized && !aConn->H.hasHeader("X-Real-IP") && aConn->C.isLocal()) { + if (!aConn->authorized && !aConn->H.hasHeader("X-Forwarded-For") && !aConn->H.hasHeader("X-Real-IP") && aConn->C.isLocal()) { MEDIUM_MSG("Local API access automatically authorized"); aConn->isLocal = true; aConn->authorized = true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/input/input_tsrist.cpp new/mistserver-3.9.2/src/input/input_tsrist.cpp --- old/mistserver-3.9.1/src/input/input_tsrist.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/input/input_tsrist.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -120,7 +120,7 @@ option["arg"] = "integer"; option["long"] = "profile"; - option["short"] = "P"; + option["short"] = "p"; option["help"] = "RIST profile (0=Simple, 1=Main)"; option["value"].append(1); config->addOption("profile", option); @@ -251,7 +251,9 @@ } bool InputTSRIST::openStreamSource(){ - if (rist_receiver_create(&receiver_ctx, (rist_profile)config->getInteger("profile"), &log_settings) != 0){ + int profile = config->getInteger("profile"); + INFO_MSG("RIST input starting in %s mode", (profile == 1) ? "main" : "simple"); + if (rist_receiver_create(&receiver_ctx, (rist_profile)profile, &log_settings) != 0) { onFail("Failed to create RIST receiver context"); return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/output/output_http.cpp new/mistserver-3.9.2/src/output/output_http.cpp --- old/mistserver-3.9.1/src/output/output_http.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/output/output_http.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -347,9 +347,8 @@ } fwdHostStr.clear(); }else{ - Socket::Connection tmp; - tmp.setHost(fwdHostStr); - fwdHostBin = tmp.getBinHost(); + std::deque<Socket::Address> addrs = Socket::getAddrs(fwdHostStr, 0); + if (addrs.size()) { fwdHostBin = addrs.begin()->binForm(); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/output/output_http_internal.cpp new/mistserver-3.9.2/src/output/output_http_internal.cpp --- old/mistserver-3.9.1/src/output/output_http_internal.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/output/output_http_internal.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -371,16 +371,28 @@ if (mistPath.size()){fullURL = mistPath;} std::string uAgent = req.GetHeader("User-Agent"); - std::string forceType = ""; - if (req.GetVar("forcetype").size()){ - forceType = ",forceType:\"" + req.GetVar("forcetype") + "\""; + JSON::Value opts; + opts["host"] = fullURL.getUrl(); + opts["urlappend"] = req.allVars(); + opts["fillSpace"] = true; + + // These parameters are checked if they are passed at all (unset is also accepted) + // This check works by comparing the global unset empty string pointer against the variables string pointer: + // If they match, it was not passed at all. If they mismatch, it was passed either with or without a value. + if (req.GetVar("dev").data() != req.GetVar("").data()) { opts["skin"] = "dev"; } + if (req.GetVar("muted").data() != req.GetVar("").data()) { opts["muted"] = true; } + if (req.GetVar("nounix").data() != req.GetVar("").data()) { opts["useDateTime"] = false; } + if (req.GetVar("nocatchup").data() != req.GetVar("").data()) { opts["liveCatchup"] = false; } + + // These parameters must have a non-empty value set to take effect + if (req.GetVar("forceType").size()) { opts["forceType"] = req.GetVar("forceType"); } + if (req.GetVar("forcetype").size()) { opts["forceType"] = req.GetVar("forcetype"); } + if (req.GetVar("forcePlayer").size()) { opts["forcePlayer"] = req.GetVar("forcePlayer"); } + if (req.GetVar("forceplayer").size()) { opts["forcePlayer"] = req.GetVar("forceplayer"); } + if (req.GetVar("autoplay").size()) { + if ((req.GetVar("autoplay") == "false") || (req.GetVar("autoplay") == "0")) { opts["autoplay"] = false; } } - std::string devSkin = ""; - if (req.GetVar("dev").size()){devSkin = ",skin:\"dev\"";} - devSkin += ",urlappend:\"" + req.allVars() + "\""; - H.SetVar("stream", streamName); - std::string seekTo = ""; if (req.GetVar("t").size()){ uint64_t autoSeekTime = 0; @@ -427,9 +439,9 @@ "\" type=\"application/vnd.apple.mpegurl\"><source src=\"" + mp4Url + "\" type=\"video/mp4\"><a href=\"" + hlsUrl + "\">Click here to play the video [Apple]</a><br><a href=\"" + mp4Url + "\">Click here to play the video [MP4]</a></video></noscript><script " - "src=\"player.js\"></script><script>var mv ={reference:false}; mistPlay('" + - streamName + "',{host:'" + fullURL.getUrl() + "',target:document.getElementById('" + streamName + - "'),MistVideoObject:mv" + forceType + devSkin + "});" + seekTo + "</script></div></body></html>"); + "src=\"player.js\"></script><script>var mv={reference:false}; var opts=" + + opts.toString() + ";opts.target=document.getElementById('" + streamName + + "');opts.MistVideoObject = mv;mistPlay('" + streamName + "',opts);" + seekTo + "</script></div></body></html>"); H.SendResponse("200", "OK", myConn); responded = true; H.Clean(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/output/output_https.cpp new/mistserver-3.9.2/src/output/output_https.cpp --- old/mistserver-3.9.1/src/output/output_https.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/output/output_https.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -31,6 +31,14 @@ found = true; break; } + if (cur->buf.len && cur->buf.p[0] == '*' && sniName.size() >= cur->buf.len) { + if (sniName.substr(sniName.size() - (cur->buf.len - 1)) == std::string((char *)cur->buf.p + 1, cur->buf.len - 1)) { + if (sniName.substr(0, sniName.size() - (cur->buf.len - 1)).find('.') == std::string::npos) { + found = true; + break; + } + } + } cur = cur->next; } if (!found) { continue; } @@ -42,7 +50,9 @@ return r; } WARN_MSG("Could not find matching certificate for %s; using default certificate instead", sniName.c_str()); - return 0; + int r = mbedtls_ssl_set_hs_own_cert(ssl, &(srvcerts.begin()->crt), &(srvcerts.begin()->key)); + if (r) { WARN_MSG("Could not set certificate!"); } + return r; } void OutHTTPS::init(Util::Config *cfg){ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/src/output/output_rtmp.cpp new/mistserver-3.9.2/src/output/output_rtmp.cpp --- old/mistserver-3.9.1/src/output/output_rtmp.cpp 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/src/output/output_rtmp.cpp 2025-11-27 16:49:50.000000000 +0100 @@ -38,6 +38,14 @@ found = true; break; } + if (cur->buf.len && cur->buf.p[0] == '*' && sniName.size() >= cur->buf.len) { + if (sniName.substr(sniName.size() - (cur->buf.len - 1)) == std::string((char *)cur->buf.p + 1, cur->buf.len - 1)) { + if (sniName.substr(0, sniName.size() - (cur->buf.len - 1)).find('.') == std::string::npos) { + found = true; + break; + } + } + } cur = cur->next; } if (!found) { continue; } @@ -49,7 +57,9 @@ return r; } WARN_MSG("Could not find matching certificate for %s; using default certificate instead", sniName.c_str()); - return 0; + int r = mbedtls_ssl_set_hs_own_cert(ssl, &(srvcerts.begin()->crt), &(srvcerts.begin()->key)); + if (r) { WARN_MSG("Could not set certificate!"); } + return r; } const char * trackType(char ID){ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mistserver-3.9.1/subprojects/packagefiles/mbedtls/meson.build new/mistserver-3.9.2/subprojects/packagefiles/mbedtls/meson.build --- old/mistserver-3.9.1/subprojects/packagefiles/mbedtls/meson.build 2025-11-24 21:42:37.000000000 +0100 +++ new/mistserver-3.9.2/subprojects/packagefiles/mbedtls/meson.build 2025-11-27 16:49:50.000000000 +0100 @@ -3,6 +3,108 @@ incl = include_directories('include') +install_headers( +'include/mbedtls/aes.h', +'include/mbedtls/aria.h', +'include/mbedtls/asn1.h', +'include/mbedtls/asn1write.h', +'include/mbedtls/base64.h', +'include/mbedtls/bignum.h', +'include/mbedtls/block_cipher.h', +'include/mbedtls/build_info.h', +'include/mbedtls/camellia.h', +'include/mbedtls/ccm.h', +'include/mbedtls/chacha20.h', +'include/mbedtls/chachapoly.h', +'include/mbedtls/check_config.h', +'include/mbedtls/cipher.h', +'include/mbedtls/cmac.h', +'include/mbedtls/compat-2.x.h', +'include/mbedtls/config_adjust_legacy_crypto.h', +'include/mbedtls/config_adjust_legacy_from_psa.h', +'include/mbedtls/config_adjust_psa_from_legacy.h', +'include/mbedtls/config_adjust_psa_superset_legacy.h', +'include/mbedtls/config_adjust_ssl.h', +'include/mbedtls/config_adjust_x509.h', +'include/mbedtls/config_psa.h', +'include/mbedtls/constant_time.h', +'include/mbedtls/ctr_drbg.h', +'include/mbedtls/debug.h', +'include/mbedtls/des.h', +'include/mbedtls/dhm.h', +'include/mbedtls/ecdh.h', +'include/mbedtls/ecdsa.h', +'include/mbedtls/ecjpake.h', +'include/mbedtls/ecp.h', +'include/mbedtls/entropy.h', +'include/mbedtls/error.h', +'include/mbedtls/gcm.h', +'include/mbedtls/hkdf.h', +'include/mbedtls/hmac_drbg.h', +'include/mbedtls/lms.h', +'include/mbedtls/md.h', +'include/mbedtls/md5.h', +'include/mbedtls/memory_buffer_alloc.h', +'include/mbedtls/net_sockets.h', +'include/mbedtls/nist_kw.h', +'include/mbedtls/oid.h', +'include/mbedtls/pem.h', +'include/mbedtls/pk.h', +'include/mbedtls/pkcs12.h', +'include/mbedtls/pkcs5.h', +'include/mbedtls/pkcs7.h', +'include/mbedtls/platform.h', +'include/mbedtls/platform_time.h', +'include/mbedtls/platform_util.h', +'include/mbedtls/poly1305.h', +'include/mbedtls/private_access.h', +'include/mbedtls/psa_util.h', +'include/mbedtls/ripemd160.h', +'include/mbedtls/rsa.h', +'include/mbedtls/sha1.h', +'include/mbedtls/sha256.h', +'include/mbedtls/sha3.h', +'include/mbedtls/sha512.h', +'include/mbedtls/ssl.h', +'include/mbedtls/ssl_cache.h', +'include/mbedtls/ssl_ciphersuites.h', +'include/mbedtls/ssl_cookie.h', +'include/mbedtls/ssl_ticket.h', +'include/mbedtls/threading.h', +'include/mbedtls/timing.h', +'include/mbedtls/version.h', +'include/mbedtls/x509.h', +'include/mbedtls/x509_crl.h', +'include/mbedtls/x509_crt.h', +'include/mbedtls/x509_csr.h', +'include/mbedtls/mbedtls_config.h', +subdir: 'mbedtls') +install_headers( +'include/psa/build_info.h', +'include/psa/crypto.h', +'include/psa/crypto_adjust_auto_enabled.h', +'include/psa/crypto_adjust_config_dependencies.h', +'include/psa/crypto_adjust_config_key_pair_types.h', +'include/psa/crypto_adjust_config_synonyms.h', +'include/psa/crypto_builtin_composites.h', +'include/psa/crypto_builtin_key_derivation.h', +'include/psa/crypto_builtin_primitives.h', +'include/psa/crypto_compat.h', +'include/psa/crypto_config.h', +'include/psa/crypto_driver_common.h', +'include/psa/crypto_driver_contexts_composites.h', +'include/psa/crypto_driver_contexts_key_derivation.h', +'include/psa/crypto_driver_contexts_primitives.h', +'include/psa/crypto_extra.h', +'include/psa/crypto_legacy.h', +'include/psa/crypto_platform.h', +'include/psa/crypto_se_driver.h', +'include/psa/crypto_sizes.h', +'include/psa/crypto_struct.h', +'include/psa/crypto_types.h', +'include/psa/crypto_values.h', + subdir:'psa') + libmbedcrypto = library('mbedcrypto', 'library/aes.c', 'library/aesni.c', @@ -143,3 +245,5 @@ include_directories: incl, ) +pkg = import('pkgconfig') +pkg.generate(libmbedtls,libraries:[libmbedtls, libmbedx509, libmbedcrypto])
