Files
sergioandClaude Opus 5 fd73295c94 gnome onda 3: las tres piezas de soporte de eds — libsecret, libxml2-shared, libuuid-shared
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>
2026-07-28 20:04:14 -04:00

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;