libapache2-mod-papi (0.0.2-22) unstable; urgency=low
 
   * Corregidas todas las comprobaciones de cabeceras para
     que sean case-insensitive
   
 -- Hector Rulot <Hector.Rulot@uv.es>  Sat, 24 Oct 2026  05:10:24 +0200
  
libapache2-mod-papi (0.0.2-21) unstable; urgency=low
 
   * Reescrita post_read_body (otra vez) para que soporte datos binarios;
     cambio de la gestión de memoria y encode64/decode64 del post 
     al salvar/leer de la DB sqlite.

   * Versión de post_ read_body que lee a fichero para el caso de ReqDB dir.

   * El "replay" de los post sigue limitado por la RAM para leer y enviar
     via curl y, en su caso, por lo que admite el sqlite.
   
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 26 Jun 2025 20:42:12 +0200
  
libapache2-mod-papi (0.0.2-20) unstable; urgency=low

  * Soporte para PCRE2 y PCRE2 activado por defecto.
    PCRE está obsoleto y ya no existe en Debian Trixie.
    
  * Permisos por defecto más estrictos para la DB sqlite.
  
  * Filtrado de la cabecera "Authorization" tanto en modo sqlite como
    en modo directorio.
    
  * Encriptado de los valores de las cabeceras salvados en
    sqlite o en directorio.  

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 10 Sep 2024 20:42:12 +0200

libapache2-mod-papi (0.0.2-19) unstable; urgency=low

  * El Lcook pone ahora explícitamente el SameSite=Lax, aunque se 
    supone que ése es el valor si no se pone.
    
  * Al renovar la sesión en medio de una petición POST, mod_papi
    ahora pone los parámetros del URI (antes los perdía).
    
  * Al renovar la sesión en medio de una petición POST, mod_papi
    devuelve las cabeceras de la aplicación (filtra Date, 
    Content-Length, Keep-Alive, Connection, Transfer-Encoding, Server).
    
  * Soporte CORS.
  
  * CORS: Nueva opción "PAPISetCORSHeaders" (Off|On, defecto On). 
    Si es "On" mod_papi procura contestar a las peticiones OPTIONS
    preflight del CORS devolviendo las cabeceras CORS y contenido
    vacío; también pone las cabeceras CORS cuando existe la cabecera 
    "Origin" en cualquier petición; mirroriza siempre 
    "Access-Control-Request-Headers" en "Access-Control-Allow-Headers" 
    y mirroriza el Origin en "Access-Control-Allow-Origin" en las 
    peticiones OPTIONS, dejando "null" en el resto. Esto 
    permite que las sesiones se renueven cumpliendo el
    CORS cuando la sesión AS sigue activa y el AS devuelve las
    cabeceras CORS.
  
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 09 Mar 2023 00:42:12 +0200

libapache2-mod-papi (0.0.2-18) unstable; urgency=low

  * Reescrita papi_read_body OTRA vez: truncaba y destrozaba los
    POST cuando eran de más de 17KB.
  
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 23 Jun 2022 00:42:12 +0200

libapache2-mod-papi (0.0.2-17) unstable; urgency=low

  * Corregido problema con la DB: cuando hay varios servicios
    (DB's) PAPI en los mismos apache, cada apache utiliza la primera
    DB que abre en lugar de la que toca; bug debido a que
    mod_papi intenta reutilizar el file-handler. Ahora solo reutiliza 
    el handler si es el mismo servicio.
    
  * Soporte de DB's en fichero en vez de SQLite3. Se consigue
    definiendo "PAPIReqDB /dev/shm/serviceid.dir" (fichero DB que
    termina en .dir en lugar de .db). Incluye limpieza periódica
    del directorio.
    
  * Bug: error al crear la DB porque intenta limpiarla antes de crear
    esquema.
    
  * Bug: error al usar DB si se borra sin reinicializar apache.
    
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 17 Jun 2022 00:42:12 +0200

libapache2-mod-papi (0.0.2-16) unstable; urgency=low

  * Reescrita papi_read_body para que no use funciones de string
    (problemáticas) para leer el request body en caso de almacenar
    un POST para autenticar. Síntoma: leak inmenso de memoria.
  
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 06 Aug 2021 00:42:12 +0200

libapache2-mod-papi (0.0.2-15) unstable; urgency=low

  * Corregido "error 500" cuando se usa PAPIPassURLPattern en apache 2.4
  * Añadido r->user = ""; en todos los sitios en los que devuelve OK.
  * En vez de ERROR 500 da Forbidden cuando no se define o encuentra el remote user attribute.
  * Avisa si existe PAPIauth y no encuentra ANTES el usuario.
  
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 06 Jul 2021 00:42:12 +0200

libapache2-mod-papi (0.0.2-14) unstable; urgency=low

  * Corregido redirecciones repetidas al recargar un ACTION=CHECKED expirado en la DB. 
    Ahora ya hace correctamente una única redirección al URL original (SIN argumentos, 
    puesto que ya no están en la DB).
  
 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 09 Jun 2021 00:42:12 +0200

libapache2-mod-papi (0.0.2-13) unstable; urgency=low

  * Parche para que no casque si se usa <if ...> en Apache dentro del <location> del PAPI.
  * Rebajado nivel en logs de warning a debug de los mensajes Lcook (deleted|invalid|empty)
  * Corregido error 500 en logs en ACTION=LOGOUT.

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 09 Jun 2021 00:42:12 +0200

libapache2-mod-papi (0.0.2-12) unstable; urgency=low

  * Corregido PAPIUserDataRewrite (aplicar una regexp+replace a la assertion) ahora funciona y puede usarse varias veces: las aplica por orden.

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 09 Mar 2021 02:21:12 +0200

libapache2-mod-papi (0.0.2-11) unstable; urgency=low

  * Quitado el ; despues de HTTPOnly en la asignación de Lcook
  * Añadido Secure donde se asigna el Lcook (ahora se requiere si asigna el valor "None" )


 -- Carmen Mifsut <Maria.C.Mifsut@uv.es>  Thu, 11 Feb 2021 18:21:12 +0200

libapache2-mod-papi (0.0.2-10) unstable; urgency=low

  * Corregido bug cuando el filename es null en request: cascaba sqlite3
  * Añadido HTTPOnly en otros dos lugares donde se pone el Lcook (AV genera DOS cookies si no)

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 30 Mar 2017 02:21:12 +0200

libapache2-mod-papi (0.0.2-9) unstable; urgency=low

  * Quitado expires=0 (craso error) en el cookie de balanceador!
  * Corregido bug segmentation fault en caso reload de CHECKED

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 25 jun 2014 02:21:12 +0200

libapache2-mod-papi (0.0.2-8) unstable; urgency=low

  * Agnadido cookie Lcook (no valido) en la primera redireccion para poder usar PAPI con balanceadores por cookie (Lcook)
  * Corregido CURL para envio de formulario en fase de autenticacion para que admita Deflate gzip (por defecto en apache!)

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 8 Apr 2013 02:21:12 +0200

libapache2-mod-papi (0.0.2-7) unstable; urgency=low

  * PAPILcookMaxTimeout cambiaba PAPILcookTimeout en vez de su valor. Al no poder cambiarlo, los Lcook expiraban simpre en DEFAULT_LCOOK_MAX_TIMEOUT 3600
  * Corregidas las comprobaciones de PAPILcookMaxTimeout y PAPILcookTimeout, que estaban cruzadas.
  * Acepta el logout aunque el Lcook no sea valido (haya expirado,...)

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 8 Apr 2013 02:21:12 +0200

libapache2-mod-papi (0.0.2-6) unstable; urgency=low

  * Supresion de la redireccion para seleccionar AS (wayf: built-in) si solo hay UN unico AS
  * Si el login es mediante un GET, en vez de "simular" la peticion original, hace un REDIRECT una vez comprobada la autorizacion. Mas costoso, pero mas limpio.
  * Corregido de nuevo el pase de los parametros de un formulario POST al conectar.

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 8 Aug 2012 02:21:12 +0200

libapache2-mod-papi (0.0.2-5) unstable; urgency=low

  * Mecanismo de limpieza de la DB sqlite: Cada 30 minutos borra registros de mas de 6 horas.

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 9 Feb 2012 02:21:12 +0200

libapache2-mod-papi (0.0.2-4) unstable; urgency=low

  * Incluidos todos los inserts de "save" en una unica transaccion sqlite3
  * Ahora se reutiliza la conexion a la DB sqlite3. Antes se cerraba a cada peticion.
  * Ahora se crean indices en las tablas sqlite. Enorme mejora en rapidez cuando la DB es grande.
  * Lo anterior obliga a BORRAR las .db despues de instalar la nueva version!

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 8 Feb 2012 02:21:12 +0200

libapache2-mod-papi (0.0.2-3) unstable; urgency=low

  * Puesto un timeout en las operaciones sqlite3 para evitar el "database locked".
  * Corregido bug en punteros de papi_post_handler (read_body). Ahora envia bien POSTs.
  * Quitada la comprobacion de certificados del CURL. No necesaria y complica config.
  * Ahora da error en caso de no poder salvar en la DB
  * Un reload de la pagina con ACTION=CHECKED funciona si existe Lcook, salva datos y reinicia login si no.
  * NOTA: un reload de un POST no funciona porque el NAVEGADOR no vuelve a enviar los datos (por las redirecciones intermedias).

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 23 Jun 2011 02:21:12 +0200

libapache2-mod-papi (0.0.2-2) unstable; urgency=low

  * No es necesario ya que exista el fichero referido en "PAPIAuthLocation"
  * Todo acceso a "PAPIAuthLocation" devuelve un contenido vacío (0 bytes). 
  * El envío de los ficheros PAPIAcceptFile y PAPIRejectFile no utiliza una "subrequest".
  * Si se define el atributo "PAPIauth", su valor se pone como contraseña en una cabecera "Authorization".
  * El cookie "Lcook" tiene ahora el atributo "HttpOnly".
  * Al enviar la imagen de OK, que pone el Lcook, se añade la cabecera P3P.
  * Aumentada la resolucion temporal (microsegundos) de la "key" que se utiliza para la DB

 -- Hector Rulot <Hector.Rulot@uv.es>  Tue, 22 Mar 2011 09:21:12 +0200

libapache2-mod-papi (0.0.2-1) unstable; urgency=low

  * New release
  * PAPILCookMaxTimeout added
  * Bug fixed: GPoA/AS ID in assert not should be added to the last attribute.

 -- Sergio Gomez <sergio@uco.es>  Tue, 5 Mar 2009 09:21:12 +0200

libapache2-mod-papi (0.0.1-1) unstable; urgency=low

  * Init release.

 -- Sergio Gomez <sergio@uco.es>  Tue, 15 Apr 2008 09:21:12 +0200

