Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package confidential-computing.sgx for 
openSUSE:Factory checked in at 2026-03-26 21:07:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/confidential-computing.sgx (Old)
 and      /work/SRC/openSUSE:Factory/.confidential-computing.sgx.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "confidential-computing.sgx"

Thu Mar 26 21:07:53 2026 rev:2 rq:1342771 version:2.28

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/confidential-computing.sgx/confidential-computing.sgx.changes
    2026-03-09 16:11:21.504968360 +0100
+++ 
/work/SRC/openSUSE:Factory/.confidential-computing.sgx.new.8177/confidential-computing.sgx.changes
  2026-03-27 06:37:52.793225452 +0100
@@ -1,0 +2,5 @@
+Wed Mar 25 12:34:56 UTC 2026 - [email protected]
+
+- Handle /dev/sgx_provision for provisioning enclaves.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ confidential-computing.sgx.spec ++++++
--- /var/tmp/diff_new_pack.J4Sws7/_old  2026-03-27 06:37:53.533255953 +0100
+++ /var/tmp/diff_new_pack.J4Sws7/_new  2026-03-27 06:37:53.533255953 +0100
@@ -83,6 +83,21 @@
 %license License.txt
 %dir %_datadir/%pkg
 
+%package -n system-group-sgx_prv
+Summary:        System group sgx_prv
+Requires:       %pkg = %primary_pkg_version
+%?sysusers_requires
+%description -n system-group-sgx_prv
+System group sgx_prv for provisioning enclaves. 
+%if 0
+Any user which can create a provisioning enclave can access the
+processor-unique Provisioning Certificate Key via /dev/sgx_provision,
+which has privacy and fingerprinting implications.
+%endif
+%pre -n system-group-sgx_prv -f system-group-sgx_prv.pre
+%files -n system-group-sgx_prv
+%_sysusersdir/system-group-sgx_prv.conf
+
 %package -n system-user-aesmd
 Summary:        System user aesmd
 Requires:       %pkg = %primary_pkg_version
@@ -99,6 +114,7 @@
 %package -n system-user-qgsd
 Summary:        System user qgsd
 Requires:       %pkg = %primary_pkg_version
+Requires(pre):  group(sgx)
 %?sysusers_requires
 %description -n system-user-qgsd
 System user qgsd for Intel(R) TD Quoting Generation Service
@@ -134,11 +150,15 @@
 Conflicts:      libsgx-enclave-common
 Conflicts:      libsgx-enclave-common-debuginfo
 Requires:       %pkg = %primary_pkg_version
+Requires:       system-group-sgx_prv = %primary_pkg_version
 %description -n libsgx_enclave_common1
 Intel(R) Software Guard Extensions Enclave Common Loader
 %ldconfig_scriptlets -n libsgx_enclave_common1
+%posttrans  -n libsgx_enclave_common1
+%udev_trigger_with_reload -y sgx_provision
 %files -n libsgx_enclave_common1
 %_libdir/libsgx_enclave_common.so.*
+%_udevrulesdir/50-suse-sgx_provision.rules
 %package -n suse-libsgx-enclave-common-devel
 Summary:        SUSE build of Intel(R) SGX Enclave Common Loader for Developers
 Conflicts:      libsgx-enclave-common-devel
@@ -287,6 +307,7 @@
 Conflicts:      sgx-aesm-service
 Conflicts:      sgx-aesm-service-debuginfo
 Requires:       %pkg = %primary_pkg_version
+Requires:       libcurl4
 Requires:       suse-libsgx-aesm-ecdsa-plugin = %primary_pkg_version
 Requires:       suse-libsgx-aesm-pce-plugin = %primary_pkg_version
 Requires:       suse-libsgx-aesm-quote-ex-plugin = %primary_pkg_version
@@ -378,6 +399,7 @@
 Conflicts:      libsgx-dcap-ql
 Conflicts:      libsgx-dcap-ql-debuginfo
 Requires:       %pkg = %primary_pkg_version
+Requires:       libsgx_quote_ex1 = %primary_pkg_version
 %description -n libsgx_dcap_gl1
 Intel(R) Software Guard Extensions Data Center Attestation Primitives
 %ldconfig_scriptlets -n libsgx_dcap_gl1
@@ -403,6 +425,7 @@
 Conflicts:      libsgx-pce-logic
 Conflicts:      libsgx-pce-logic-debuginfo
 Requires:       %pkg = %primary_pkg_version
+Requires:       suse-libsgx-prebuilt-signed
 %description -n suse-libsgx-pce-logic
 Intel(R) Software Guard Extensions Provisioning Certification Enclave Logic
 %ldconfig_scriptlets -n suse-libsgx-pce-logic
@@ -417,8 +440,8 @@
 Conflicts:      libsgx-qe3-logic
 Conflicts:      libsgx-qe3-logic-debuginfo
 Requires:       %pkg = %primary_pkg_version
-Requires:       suse-libsgx-ae-id-enclave
-Requires:       suse-libsgx-ae-qe3
+Requires:       libdcap_quoteprov1
+Requires:       suse-libsgx-prebuilt-signed
 %description -n suse-libsgx-qe3-logic
 Intel(R) Software Guard Extensions QE3 Logic
 %ldconfig_scriptlets -n suse-libsgx-qe3-logic
@@ -522,8 +545,8 @@
 Conflicts:      libsgx-tdx-logic
 Conflicts:      libsgx-tdx-logic-debuginfo
 Requires:       %pkg = %primary_pkg_version
-Requires:       suse-libsgx-ae-id-enclave
-Requires:       suse-libsgx-ae-tdqe
+Requires:       libdcap_quoteprov1 = %sgx_dcap_version-%release
+Requires:       suse-libsgx-prebuilt-signed
 %description -n libsgx_tdx_logic1
 Intel(R) Trust Domain Extensions QE logic library
 %ldconfig_scriptlets -n libsgx_tdx_logic1
@@ -543,29 +566,30 @@
 %files -n suse-libsgx-tdx-logic-devel
 %_includedir/td_ql_wrapper.h
 
-%package -n libsgx_dcap_quote_verify1
+%package -n libsgx_dcap_quoteverify1
 Version:        %sgx_dcap_version
 Summary:        SUSE build of Intel(R) SGX DCAP library
 URL:            https://github.com/intel/SGXDataCenterAttestationPrimitives
 Conflicts:      libsgx-dcap-quote-verify
 Conflicts:      libsgx-dcap-quote-verify-debuginfo
 Requires:       %pkg = %primary_pkg_version
-Requires:       suse-tee_appraisal_policy
-%description -n libsgx_dcap_quote_verify1
+Requires:       libsgx_urts1 = %primary_pkg_version
+Requires:       suse-libsgx-prebuilt-signed
+%description -n libsgx_dcap_quoteverify1
 SUSE build of Intel(R) SGX DCAP library
-%ldconfig_scriptlets -n libsgx_dcap_quote_verify1
-%files -n libsgx_dcap_quote_verify1
+%ldconfig_scriptlets -n libsgx_dcap_quoteverify1
+%files -n libsgx_dcap_quoteverify1
 %_libdir/libsgx_dcap_quoteverify.so.*
-%package -n suse-libsgx-dcap-quote-verify-devel
+%package -n suse-libsgx-dcap-quoteverify-devel
 Version:        %sgx_dcap_version
 Summary:        SUSE build of Intel(R) Trust Domain Extensions QE logic 
library For Developers
 URL:            https://github.com/intel/SGXDataCenterAttestationPrimitives
 Conflicts:      libsgx-dcap-quote-verify-devel
 Requires:       %pkg = %primary_pkg_version
-Requires:       libsgx_dcap_quote_verify1 = %sgx_dcap_version-%release
-%description -n suse-libsgx-dcap-quote-verify-devel
+Requires:       libsgx_dcap_quoteverify1 = %sgx_dcap_version-%release
+%description -n suse-libsgx-dcap-quoteverify-devel
 Intel(R) Trust Domain Extensions QE logic library For Developers
-%files -n suse-libsgx-dcap-quote-verify-devel
+%files -n suse-libsgx-dcap-quoteverify-devel
 %_includedir/sgx_dcap_qal.h
 %_includedir/sgx_dcap_quoteverify.h
 %_includedir/sgx_qve_header.h
@@ -602,6 +626,7 @@
 Conflicts:      libsgx-dcap-default-qpl
 Conflicts:      libsgx-dcap-default-qpl-debuginfo
 Requires:       %pkg = %primary_pkg_version
+Requires:       libcurl4
 %description -n libsgx_default_qcnl_wrapper1
 Intel(R) Software Guard Extensions Default Quote Provider Library
 %ldconfig_scriptlets -n libsgx_default_qcnl_wrapper1
@@ -630,8 +655,7 @@
 Requires:       %pkg = %primary_pkg_version
 Requires:       libmpa_uefi1 = %sgx_dcap_version-%release
 Requires:       libsgx_urts1 = %primary_pkg_version
-Requires:       suse-libsgx-ae-id-enclave
-Requires:       suse-libsgx-ae-pce
+Requires:       suse-libsgx-prebuilt-signed
 %description -n suse-sgx-pck-id-retrieval-tool
 Intel(R) Software Guard Extensions:this tool is used to collect the platform 
information to retrieve the PCK certs from PCS(Provisioning Certification 
Server)
 %files -n suse-sgx-pck-id-retrieval-tool
@@ -708,7 +732,18 @@
 %if "%build_flavor" == ""
 %cmake_install
 mkdir -p '%buildroot%_datadir/%pkg'
-mkdir -p '%buildroot%_tmpfilesdir' '%buildroot%_sysusersdir'
+mkdir -p '%buildroot%_tmpfilesdir' '%buildroot%_sysusersdir' 
'%buildroot%_udevrulesdir'
+#
+tee '%buildroot%_udevrulesdir/50-suse-sgx_provision.rules' <<_EOR_
+SUBSYSTEM=="misc",KERNEL=="sgx_provision",GROUP="sgx_prv",MODE="0660"
+_EOR_
+#
+suc='system-group-sgx_prv.conf'
+tee "${suc}" <<'_EOC_'
+g sgx_prv -
+_EOC_
+%sysusers_generate_pre "${suc}" system-group-sgx_prv
+mv -vt '%buildroot%_sysusersdir' "${suc}"
 #
 suc='system-user-aesmd.conf'
 tee "${suc}" <<'_EOC_'
@@ -725,6 +760,8 @@
 suc='system-user-qgsd.conf'
 tee "${suc}" <<'_EOC_'
 u qgsd - "TD Quoting Generation Service" %_localstatedir/lib/qgsd 
%_sbindir/nologin
+m qgsd sgx
+m qgsd sgx_prv
 _EOC_
 %sysusers_generate_pre "${suc}" system-user-qgsd
 mv -vt '%buildroot%_sysusersdir' "${suc}"

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.J4Sws7/_old  2026-03-27 06:37:53.569257438 +0100
+++ /var/tmp/diff_new_pack.J4Sws7/_new  2026-03-27 06:37:53.573257602 +0100
@@ -1,6 +1,6 @@
-mtime: 1772716141
-commit: df013ed29c9d784922daa7b353e1cd4388c21775d5f78ae6257780b36162d6e8
+mtime: 1774524289
+commit: 30e6705d0b05e9965eae5bc7d34187cda9f710719b97f60dd32b4f79b8824d3c
 url: https://src.opensuse.org/SGX/confidential-computing.sgx.git
-revision: df013ed29c9d784922daa7b353e1cd4388c21775d5f78ae6257780b36162d6e8
+revision: 30e6705d0b05e9965eae5bc7d34187cda9f710719b97f60dd32b4f79b8824d3c
 projectscmsync: https://src.opensuse.org/SGX/_ObsPrj
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-03-26 12:26:07.000000000 +0100
@@ -0,0 +1 @@
+.osc

++++++ confidential-computing.sgx.patch ++++++
--- /var/tmp/diff_new_pack.J4Sws7/_old  2026-03-27 06:37:53.761265351 +0100
+++ /var/tmp/diff_new_pack.J4Sws7/_new  2026-03-27 06:37:53.765265516 +0100
@@ -9,7 +9,7 @@
  external/CppMicroServices/framework/include/cppmicroservices/FrameworkEvent.h 
                        |    1 
  external/CppMicroServices/framework/src/service/ServiceListeners.cpp          
                        |    4 
  external/CppMicroServices/third_party/miniz.c                                 
                        |    5 
- external/dcap_source/QuoteGeneration/pce_wrapper/pce_wrapper.cpp              
                        |   29 
+ external/dcap_source/QuoteGeneration/pce_wrapper/pce_wrapper.cpp              
                        |   28 
  external/dcap_source/QuoteGeneration/qcnl/certification_provider.cpp          
                        |    2 
  external/dcap_source/QuoteGeneration/qcnl/inc/pccs_response_object.h          
                        |    2 
  external/dcap_source/QuoteGeneration/qcnl/inc/qcnl_config.h                   
                        |    2 
@@ -23,10 +23,10 @@
  external/dcap_source/QuoteGeneration/quote_wrapper/tdx_attest/tdx_attest.c    
                        |    6 
  external/dcap_source/QuoteVerification/appraisal/qae/qae.edl                  
                        |    3 
  external/dcap_source/QuoteVerification/appraisal/qal/opa_builtins.cpp         
                        |    5 
- external/dcap_source/QuoteVerification/appraisal/qal/qae_wrapper.cpp          
                        |   37 
+ external/dcap_source/QuoteVerification/appraisal/qal/qae_wrapper.cpp          
                        |   36 
  
external/dcap_source/QuoteVerification/appraisal/tee_appraisal_tool/gen_payload.cpp
                   |    1 
  
external/dcap_source/QuoteVerification/appraisal/tee_appraisal_tool/tee_appraisal_tool.cpp
            |    5 
- external/dcap_source/QuoteVerification/dcap_quoteverify/linux/qve_parser.cpp  
                        |   30 
+ external/dcap_source/QuoteVerification/dcap_quoteverify/linux/qve_parser.cpp  
                        |   29 
  external/dcap_source/QuoteVerification/dcap_quoteverify/tee_qv_class.cpp      
                        |    2 
  external/dcap_source/tools/PCKRetrievalTool/App/linux/network_wrapper.cpp     
                        |    6 
  external/dcap_source/tools/PCKRetrievalTool/App/utility.cpp                   
                        |    7 
@@ -45,7 +45,7 @@
  psw/urts/urts_com.h                                                           
                        |    2 
  sdk/CMakeLists.txt                                                            
                        |  357 +++
  sdk/tsetjmp/_setjmp.S                                                         
                        |    2 
- 46 files changed, 1502 insertions(+), 189 deletions(-)
+ 46 files changed, 1502 insertions(+), 186 deletions(-)
 
 --- /dev/null
 +++ b/CMakeLists.txt
@@ -1193,7 +1193,7 @@
    pStat->m_comp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_COMPRESSED_SIZE_OFS);
 --- a/external/dcap_source/QuoteGeneration/pce_wrapper/pce_wrapper.cpp
 +++ b/external/dcap_source/QuoteGeneration/pce_wrapper/pce_wrapper.cpp
-@@ -84,16 +84,16 @@ bool get_pce_path(
+@@ -84,16 +84,17 @@ bool get_pce_path(
      Dl_info dl_info;
      if(g_pce_status.pce_path[0])
      {
@@ -1208,15 +1208,15 @@
          NULL != dl_info.dli_fname)
      {
 -        if(strnlen(dl_info.dli_fname,buf_size)>=buf_size)
--            return false;
--        (void)strncpy(p_file_path,dl_info.dli_fname,buf_size);
 +        int r = ::snprintf(p_file_path, buf_size, "%s", dl_info.dli_fname);
 +        size_t out = r;
-+        return r > 0 && out < buf_size;
++        if (!(r > 0 && out < buf_size))
+             return false;
+-        (void)strncpy(p_file_path,dl_info.dli_fname,buf_size);
      }
      else //not a dynamic executable
      {
-@@ -109,21 +109,18 @@ bool get_pce_path(
+@@ -109,21 +110,18 @@ bool get_pce_path(
      if ( p_last_slash != NULL )
      {
          p_last_slash++;   //increment beyond the last slash
@@ -1573,7 +1573,7 @@
  #include "sgx_urts.h"
  #include "qae_u.h"
  #include "sgx_error.h"
-@@ -78,21 +79,21 @@ static bool get_qae_path(
+@@ -78,21 +79,22 @@ static bool get_qae_path(
      Dl_info dl_info;
      if (s_qae_info.m_qae_path[0])
      {
@@ -1588,11 +1588,11 @@
               NULL != dl_info.dli_fname)
      {
 -        if (strnlen(dl_info.dli_fname, buf_size) >= buf_size)
--            return false;
--        (void)strncpy(p_file_path, dl_info.dli_fname, buf_size);
 +        int r = ::snprintf(p_file_path, buf_size, "%s", dl_info.dli_fname);
 +        size_t out = r;
-+        return r > 0 && out < buf_size;
++        if (!(r > 0 && out < buf_size))
+             return false;
+-        (void)strncpy(p_file_path, dl_info.dli_fname, buf_size);
      }
      else // not a dynamic executable
      {
@@ -1602,7 +1602,7 @@
              return false;
          p_file_path[i] = '\0';
      }
-@@ -101,30 +102,22 @@ static bool get_qae_path(
+@@ -101,30 +103,22 @@ static bool get_qae_path(
      if (p_last_slash != NULL)
      {
          p_last_slash++;       // increment beyond the last slash
@@ -1638,7 +1638,7 @@
      }
      return true;
  }
-@@ -246,7 +239,7 @@ quote3_error_t ecall_appraise_quote_resu
+@@ -246,7 +240,7 @@ quote3_error_t ecall_appraise_quote_resu
      std::lock_guard<std::mutex> lock(s_qae_info.m_qae_mutex);
      sgx_status_t ret = qae_appraise_quote_result(s_qae_info.m_qae_eid,
                                                   &retval,
@@ -1647,7 +1647,7 @@
                                                   p_qaps,
                                                   qaps_count,
                                                   appraisal_check_date,
-@@ -337,4 +330,4 @@ quote3_error_t ecall_authenticate_policy
+@@ -337,4 +331,4 @@ quote3_error_t ecall_authenticate_policy
              retval = SGX_QL_ERROR_UNEXPECTED;
      }
      return retval;
@@ -1690,7 +1690,7 @@
      EC_GROUP *ec_group = NULL;
 --- 
a/external/dcap_source/QuoteVerification/dcap_quoteverify/linux/qve_parser.cpp
 +++ 
b/external/dcap_source/QuoteVerification/dcap_quoteverify/linux/qve_parser.cpp
-@@ -61,21 +61,21 @@ bool get_qve_path(
+@@ -61,21 +61,22 @@ bool get_qve_path(
      Dl_info dl_info;
      if(g_qve_path[0])
      {
@@ -1705,11 +1705,11 @@
          NULL != dl_info.dli_fname)
      {
 -        if(strnlen(dl_info.dli_fname,buf_size)>=buf_size)
--            return false;
--        (void)strncpy(p_file_path,dl_info.dli_fname,buf_size);
 +        int r = ::snprintf(p_file_path, buf_size, "%s", dl_info.dli_fname);
 +        size_t out = r;
-+        return r > 0 && out < buf_size;
++        if (!(r > 0 && out < buf_size))
+             return false;
+-        (void)strncpy(p_file_path,dl_info.dli_fname,buf_size);
      }
      else //not a dynamic executable
      {
@@ -1719,7 +1719,7 @@
              return false;
          p_file_path[i] = '\0';
      }
-@@ -84,21 +84,17 @@ bool get_qve_path(
+@@ -84,21 +85,17 @@ bool get_qve_path(
      if ( p_last_slash != NULL )
      {
          p_last_slash++;   //increment beyond the last slash

Reply via email to