Leído el CMakeLists real de evolution-data-server 3.56.2, la frontera de la cima
son cuatro cosas, no una. Estas son tres; la cuarta (NSS) va aparte.
libsecret 0.21.7 b3:b75607c6 CMakeLists:932 la mete en el pkg_check_modules
(DATA_SERVER REQUIRED …) sin perilla, y libedataserver-1.2 es lo que
gnome-shell enlaza. En gcr se la había esquivado con -Dssh_agent=false;
acá no hay cómo: eds guarda ahí las credenciales de correo y calendario.
-Dcrypto=libgcrypt de las tres del combo — gnutls no existe en el corpus
y 'disabled' apagaría el cifrado justo en la pieza que guarda contraseñas.
libxml2-shared b3:87389636 en libical la libxml2 sólo la enlazaba un binario
de build y bastó la .a canónica; en eds entra en cuatro .so reales
(CMakeLists:932,936,937,938) y la .a no es PIC. Mismos patches de CVE que
la canónica: la superficie de seguridad no diverge.
libuuid-shared b3:d42cf850 `uuid` es REQUERIDA (:424). No es un
"util-linux-shared": --disable-all-programs apaga los ~100 binarios y deja
una sola librería. Duplicar la lista de --without-* del canónico para
conseguir un .so de 30 KB sería mantener esa superficie en dos lugares.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
33 lines
1.5 KiB
Diff
33 lines
1.5 KiB
Diff
diff --git a/parser.c b/parser.c
|
|
index 6e7621a86b5b9256b7a068f09a7e1650e7264aa5..85bc39b1c2739574ab90fde34a24459e5ef9928f 100644
|
|
--- a/parser.c
|
|
+++ b/parser.c
|
|
@@ -7261,10 +7261,10 @@ xmlParseReference(xmlParserCtxt *ctxt) {
|
|
if ((cur->type == XML_TEXT_NODE) ||
|
|
(ctxt->options & XML_PARSE_NOCDATA)) {
|
|
if (ctxt->sax->characters != NULL)
|
|
- ctxt->sax->characters(ctxt, cur->content, len);
|
|
+ ctxt->sax->characters(ctxt->userData, cur->content, len);
|
|
} else {
|
|
if (ctxt->sax->cdataBlock != NULL)
|
|
- ctxt->sax->cdataBlock(ctxt, cur->content, len);
|
|
+ ctxt->sax->cdataBlock(ctxt->userData, cur->content, len);
|
|
}
|
|
|
|
cur = cur->next;
|
|
@@ -7284,10 +7284,12 @@ xmlParseReference(xmlParserCtxt *ctxt) {
|
|
if ((cur->type == XML_TEXT_NODE) ||
|
|
(ctxt->options & XML_PARSE_NOCDATA)) {
|
|
if (ctxt->sax->characters != NULL)
|
|
- ctxt->sax->characters(ctxt, cur->content, len);
|
|
+ ctxt->sax->characters(ctxt->userData, cur->content,
|
|
+ len);
|
|
} else {
|
|
if (ctxt->sax->cdataBlock != NULL)
|
|
- ctxt->sax->cdataBlock(ctxt, cur->content, len);
|
|
+ ctxt->sax->cdataBlock(ctxt->userData, cur->content,
|
|
+ len);
|
|
}
|
|
|
|
break;
|