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])

Reply via email to