liboprf (0.9.3-1) unstable; urgency=medium

  * New upstream 0.9.3, shipped Dec 15, 2025.

    [ stf, Oct 2025 ]
     [fix] misset debug flag in toprf-update causing spurious debug output
     [mod] disable debug in multiplexer.py
     [enh] generate seperate debug info file from shared lib
     [mod] removed leaked local jdk21 include params from the makefile, use
      EXTRA_CFLAGS on the make cmdline to set them
     [fix] android target in makefile, seems to work now. also introduces
      a new EXTRA_CFLAGS param that can be used to expand the default
      cflags
     [fix] liboprf-corrupt-dkg.so is actually corrupting - was broken after
      visibility fixes and makefile makeovers
     [mod] added -g to default cflags
     [mod] renamed debug and log_file with a liboprf prefix and made them
      globally visible again
     [mod] display big red warning if corrupt test lib is loaded in pyoprf
      via BYZANTINE_DKG env var
     [fix] don't include jni.c in zig build
     [mod] update build.zig.zon libsodium dep to be compatible with zig
      v0.15.1

    [ András Veres-Szentkirályi <vsza@vsza.hu>, Oct 2025 ]
     * fixed yet another hardcoded uname invocation (#17)
     * Remaining changes for libsphinx-less Androsphinx (#16)
     * revert .so to SOEXT: without this, Android cross-compile only works
        on hosts with SOEXT=.so
     * added experimental JNI bindings
     * JNI getInputSizes: return bool as well
     * moved generic libsodium JNI bindings from libsphinx

    [ András Veres-Szentkirályi <vsza@vsza.hu>, Sept 2025 ]
     [enh] Experimental JNI bindings (#15)
     [ Added support for cross-compilation (#14) ]
     * remove `-g` and `-march=native`
     * make ld configurable
     * allow UNAME + ARCH to be supplied for cross-compile
     * ARMv7 does not support -fstack-clash-protection either
     * added Android-specific makefile targets

    [ stf, Sept 2025 ]
    [fix] noise xk example unterminated string error in modern compilers

    [ Joost van Baal-Ilić, Aug, Sep 2025 ]
     Current liboprf fails ci/cd because of "build log hardening check":
     The Debian build pipeline sets CPPFLAGS to pass e.g.
     -D_FORTIFY_SOURCE and liboprf's makefiles do not honor that
     everywhere.
    [mod] add CPPFLAGS to CC call in makefiles
    [fix] add CPPFLAGS to makefile targets


  * d/patches/series: drop cppflags.patch: applied upstream.

  * d/not-installed: add usr/lib/liboprf.so.debug and
    usr/lib/debug/usr/lib/liboprf.so.debug.

 -- Joost van Baal-Ilić <joostvb@debian.org>  Sat, 17 Jan 2026 10:12:28 +0100

liboprf (0.9.2-2) unstable; urgency=medium

  * d/control: add liboprf0t64 (= ${binary:Version}) to liboprf-dev
    Depends.  Thanks Adrian Bunk.  Closes: #1118959
  * d/control: tighten liboprf0t64 Depends in python3-pyoprf: add
    (>= ${binary:Version}).  Thanks again Adrian Bunk.  And keep this safely
    binNMUable; thanks lintian.
  * d/control: drop "Rules-Requires-Root: no", it is the default now.

 -- Joost van Baal-Ilić <joostvb@debian.org>  Tue, 28 Oct 2025 04:16:06 +0100

liboprf (0.9.2-1) unstable; urgency=medium

  * New upstream 0.9.2, shipped Aug 31, 2025. Closes: #1111937

    [ Joost van Baal-Ilic ]
     [fix] add CPPFLAGS to makefile targets
      Current liboprf fails ci/cd because of "build log hardening check":
      The Debian build pipeline sets CPPFLAGS to pass e.g.
      -D_FORTIFY_SOURCE and liboprf's makefiles do not honor that.

    [ stf ]
     [fix] filename to ignore in build.zig
     [mod] exclude xk-ex.c from zig build of static lib
     [enh] updated build.zig(.zon) to also link statically libsodium
     [enh] added build.zig - currently only producing a static lib, but
      that should be enough for usage as a zig module
     [fix] bad dep, correct pyserial-asyncio
     [fix] make noise_xk/example also packaging friendly


  * New upstream 0.9.1, shipped Aug 24, 2025.  (Missed 0.9.0, which _also_
    shipped Aug 24, 2025.)

    [ stf, Aug 2025 ]
     [enh] make makefiles more packaging friendly
     [mod] bumped pyoprf to v0.9.0
     [mod] bumped to v0.8.0
     [mod] undo some cleanup fixes
     [fix] some more sonarqube nits
     [fix] some sonarqube nits
     [fix] tests/makefile missing space
     Merge branch 'flynn162-build'
     [mod] replaced dynamic rules with one explicit rule for the sodium
       vendored source
     [fix] added missing uninstall files
     [mod] removed refs to liboprf.a from tests/makefile
     [enh] added support for usb/serial devices in multiplexer.py
     [enh] added alpn support, defaults to "oprf/1" protocol
     [enh] added support for usb/serial devices in multiplexer.py
     [enh] added alpn support, defaults to "oprf/1" protocol

    [ flynn162 <54922775+flynn162@users.noreply.g.c>, Jul 2025 ]
     makefile: fix uninstall-oprf rule
     makefile: Compile libsodium objects with static linking DEFINES
      - Pass in `-DSODIUM_STATIC=1 -DSODIUM_EXPORT=""` to hide the
          libsodium symbols that we vendorized into liboprf
      - In the previous commit, `-fvisibility=hidden` was over-ruled by
          SODIUM_EXPORT
      - Ref: <https://libsodium.gitbook.io/doc/usage>
     makefile: suppress implicit rules, add terminal colors
      - Build all objects explicitly. The rules are generated by putting
          `eval` inside a `foreach` loop. Guides for writing dynamic rules
          are in the comments.
      - `$(info )` : The space is strictly required.
     makefile: Clean up 'aux_/*.o'
     makefile: Build objects with -ffunction-sections -fdata-sections
     makefile: Package the merged localized object into liboprf_release.a
     makefile: filter out the .so file from compiler input, add rules for
      object merging
     Makefile improvements (#12)
      * makefile: Add -Werror=attributes -Werror=format-truncation
      * makefile: Use more robust detections for pkgconf and libsodium
      * makefile: Add an option to use '$ORIGIN' rpath in the final dylib

   [ stf, Jun 2025 ]
     [enh] adds support to be used as a zephyr module
     [fix] snprintf off-by-one overflow in stp-dkg.c and toprf-update.c
     [doc] fix spellings, add copyright to header files (#10)
     Merge branch 'hide-private-syms'
     [mod] start a new asyncio event loop if there is none
     [fix] pointer returned from fn with hidden symbol in dkg.c
     [mod] hidden symbol for invertedVDMmatrix
     [mod] prefixed expand_message_xmd with oprf_
     [fix] should hide some symbols that are mostly internal and likely
       collide with other symbols in linked projects
     Merge branch 'enjeck-uodate-header'
     [mod] minor doc & cosmetic fixes in header files
     [mod] minor cosmetic & documentation fixes in mpmult.[ch]
     [mod] minor cosmetic and documentation fixes in dkg.[ch]
     [mod] moved  dkg_vss_verify_commitments() to tests/, and some minor
       cosmetic or doc fixes
     Merge branch 'uodate-header' of github.com:enjeck/liboprf into
       enjeck-uodate-header
     Merge branch 'enjeck-update-readme'
     [doc] small updates to enjecks amazing readme edits
     Merge branch 'update-readme' of github.com:enjeck/liboprf into
       enjeck-update-readme
     [enh] multiplexer is now asyncio and has a new BLEPeer class that
       supports peers over Bluetooth LE if the ble_serial module is
       available
     [mod] added src/liboprf.pc to .gitignore
     [mod] added allocations to .gitignore
     [enh] added test that calculates the size of memory allocations for
       toprf-update

   [ Enjeck C <patrathewhiz@g.c> Jun 2025 +0100 ]
     [doc] fix spelling
     [doc] improve header file docs
     [doc] improve READMEs


  * debian/patches/{series,cppflags.patch}: patch added: patch in even more
    missing CPPFLAGS in makefiles.

 -- Joost van Baal-Ilić <joostvb@debian.org>  Wed, 03 Sep 2025 06:31:42 +0200

liboprf (0.8.0-2) unstable; urgency=medium

  * upload to unstable.

 -- Joost van Baal-Ilić <joostvb@debian.org>  Sat, 16 Aug 2025 06:23:41 +0200

liboprf (0.8.0-1) experimental; urgency=medium

  * New upstream, shipped 2025-05-30:
    [mod] tpupdate_start_stp() doesn't take a k0_commitments param anymore,
     following the change in the c library
    [mod] make the fuzz binaries fast
    [fix] liboprf.pc include path, and removed fixed prefix
    [mod] improved error message in multiplexer when not enough peers
     respond
    [fix] don't enable debug if not needed in toprf-update
    [mod] don't output commitment fails if there are none in stp-dkg
    [mod] also build liboprf.pc via makefile
    [doc] mentioned session id verification explicitly in stp-dkg spec
    [doc] mentioned session id verification explicitly in stp-update spec
    [doc] stp-update small change removing duplicity stuff
    [enh] check broadcast k0 commitments and abort if anyone has it wrong
     in toprf-update
    [mod] peers broadcast the commitment to their k0 share in their 1st
     step.
    [doc] moved comment to correct location
    [mod] moved noise_sk to toprf_update_peer_start() from set_bufs
    [mod] add install rules for toprf-update.h and utils.h
    [mod] renamed Err_ into STP_DKG_Err_* and TOPRF_Update_Err_* to avoid
     collisions
    [enh] added liboprf.pc
    [mod] small cosmetic fixes to toprf-update
    [enh] switched from parallel kc1/p dkg/ftmult, to p-only dkg/ftmult
    [mod] some small fixes in mpmult.c
    [mod] fixed some more types in toprf-update
    [fix] lots of type conversion warnings fixed in toprf-update.c
    [mod] also revert removing toprf_update_stp_input_sizes() from .h
    [doc] clusterbombed toprf_update.h with docstrings
    [mod] also removed toprf_update_peerstate_lt_sk() from py bindings
    [mod] actually abort if invalid n/t params in tests/toprf-update.c
    [mod] zeroize some bufs in toprf_update_peer_set_bufs()
    [mod] removed unnecessary toprf_update_peerstate_lt_sk()
    [doc] added some doc strings to tp-dkg.h
    [doc] fixes in stp-dkg.h comments
    [mod] clear complaints in stp_set_bufs of toprf-update
    [fix] cheaters list is now n^2-1 instead of t^2-1 in toprf-update test
    [mod] add assert to toprf-update.py where updated_test ==
     updated_oprfed_test
    [fix] abort protocol if cheaters list is full
    [fix] reciprocating delta in toprf-update
    [enh] added python wrappers for stp-dkg and toprf-update
    [fix] fuzz makefile for toprf-update builds corrupt version and
     correctly sets input tc dep
    [mod] disable some stuff for better fuzzing toprf-update
    [fix] honor noise handshake errors in toprf-update
    [enh] pass noise sk to start_peer() in toprf-update
    [enh] added extractors of commitments and kc1 share to toprf-update
    [mod] removed some comments/empty lines, and obsolete stuff from
     toprf-update
    [fix] provide noise sk in stp_dkg_start_peer()
    [fix] respect noise handshake errors in stp-dkg
    [enh] persist final commitments and provide extractors for them in
     stp-dkg
    [mod] dkg_dump_msg prints a trailing newline if debug==1
    [enh] added toprf-update to liboprf
    [mod] added toprf-update tests to make tests
    [enh] added fuzzing framework for toprf-update
    [enh] added fuzz harness to test/toprf-update.c
    [mod] renamed fuzz to fuzz-tp-dkg
    [mod] removed unused steps from toprf-update enums
    [fix] small fixes to toprf-update
    [doc] small update to stp-update.txt
    [doc] removed tp-update.txt
    [doc] massive update to the toprf-update spec - parity with
     implementation
    [mod] use disclose_shares() also in final mult disclose of toprf-update
    [mod] use disclose shares for zk disclose in toprf-update
    [enh] 1st half/third? done of not disclosing duplicate shares for
     reconstruction
    [mod] minor cosmetic changes mostly comment related in toprf-update
    [fix] robustness in toprf-update - now all corruptions are corrected -
     if they don't overlap and hide each other
    [mod] unsigned -> uint8_t in a loop var
    [mod] removed some "noisy" log msgs from dkg.c
    [mod] toprf-update is now robust, still needs testing and fixing
    [mod] removed dead code from dkg-vss (was from dkg)

  - d/liboprf-dev.install: install new files
    usr/include/oprf/{toprf-update,utils}.h and usr/share/pkgconfig/liboprf.pc

 -- Joost van Baal-Ilić <joostvb@debian.org>  Sat, 31 May 2025 05:43:51 +0200

liboprf (0.7.1-1) unstable; urgency=medium

  * New upstream, shipped 2025-03-21:
    [mod] use latest functionality in ft-mult fixing some conceptual issues
    [fix] don't crash dkg_vss_share() if t=0
    [mod] missing newline in test output fixed
    [fix] multiplexer actually uses timeouts provided by clients
    [mod] interpolate() doesn't need a return value

 -- Joost van Baal-Ilić <joostvb@debian.org>  Fri, 21 Mar 2025 09:28:02 +0100

liboprf (0.7.0-1) unstable; urgency=medium

  * Note to Debian Release Team: since nothing in current Debian sid reverse
    depends upon liboprf-dev, and only python3-pyoprf reverse depends upon
    liboprf0t64, upgrading from src:liboprf 0.6.1-1 to 0.7.0-1 does not
    "require changes (rebuilds or actual patches) to reverse dependencies";
    therefore does not constite a transition; and therefore, as I understand
    it, is allowed at the current "Transition and Toolchain Freeze" stage of
    the release cycle.

  * New upstream, shipped 2025-03-15:
    [enh] mult shares not validated by commitments are robust during
     toprf-update
    [fix] allow multiplexer to not connect to all peers
    [fix] actually reconstruct arbitrary share/secret in dkg_vss_reconstruct()
    [mod] adapted ft-mult and update-poc to use (and test) new
     dkg_vss_reconstruct
    [enh] added interpolate() to toprf, a much more versatile
     dkg_vss_reconstruct based on it, and refactored TOPRF_Share into toprf.h
    [mod] added ../toprf.c as dep to tests/ft-mult
    [fix] size of oprf input was limited to 255 bytes instead of 65535, thx
     stepanmracek
    [mod] merged commitment0 into commitments in toprf-update and related
     files
    [enh] added ft-mult test
    [mod] many small fixes in toprf-update
    [mod] removed useless lines from dkg-vss.c
    [doc] minor edits to stp-update.txt
    [fix] corruption was too much
    [fix] makefile typo
    [fix] trying to get the vendored kdf to work
    [fix] wrong bitsize for hkdf
    [mod] backward compatibility for hkdf_sha256
    [enh] adopted stp-dkg to stp-update
    [mod] updated gitignores
    [mod] added PoC for very barebones toprf update
    [doc] 1st stab at an stp-update.txt spec
    [fix] more robust deterministic rng in utils.c
    [mod] added toprf-update-corrupt to tests/makefile
    [doc] minor fixes to stp-dkg.txt
    [fix] dgk typo in stp-dkg
    [fix] size of noise peer name
    [fix] types in tp-dkg
    [fix] types in tests/mpmult.c
    [fix] small fixes to stp-dkg.[ch] - use KeyloaderCB type, stp_recv_msg()
     and a typo for SSTP_DKG_Message_Type
    [fix] not using greek letters as variable names in mpmult.c
    [mod] removed unneeded parens from dkg.h
    [mod] minor stp-dkg cleanups
    [doc] fully documented stp-dkg.h
    [doc] minor cleanups in tp-dkg.h
    [mod] refactored S?TP_DKG_Cheater into DKG_Cheater
    [fix] complaints len is not const in handler
    [fix] complaints len was wrongly incremented
    [fix]  is not a valid escape in strings according to some
    [mod] made corruption fns static in stp-dkg.c
    [mod] updated mpmult to match toprf-update stuff
    [mod] added WIP toprf-update impl
    [mod] removed corruption fns from tests/stp-dkg.c
    [mod] fixed stack size for tests
    [mod] added corruption functions to stp-dkg.c
    [mod] stp_dkg_corrupt.h not needed anymore
    [mod] fixed dkg_message size in py wrapper
    [doc] mentioned fig 7 for stp-dkg in readme
    [fix] added missing dkg-vss.c to library
    [mod] added tests/toprf-update.c
    [enh] switched stp-dkg impl to use ft-joint-dl-vss from grr98
    [mod] adding ansi colors to utils.h
    [mod] corrected type also in dkg.h
    [mod] corrected type in dkg.c
    [mod] added also version field to dkg message header
    [enh] added a protocol identifier to (s)tp-dkg messages header struct
    [mod] some more refactoring, and fixing steps in stpdkg_cheater_msg()
    [mod] removed obsolete include from stp-dkg.c
    [mod] refactored some of tp-dkg and stp-dkg into dkg.c
    [enh] added first stab at stp-dkg spec, impl and tests
    [mod] made tpdkg_sessionid_SIZE unsigned
    [mod] remove zero-size array undefined c behaviour for non gcc
    [doc] added ngi0 attribution to readme
    [doc] fixed typos in tp-dkg.txt
    [mod] added trace messages for allocation of memory for tp and peers

  * d/liboprf-dev.install: add new header file usr/include/oprf/stp-dkg.h .

 -- Joost van Baal-Ilić <joostvb@debian.org>  Wed, 19 Mar 2025 16:36:10 +0100

liboprf (0.6.1-1) unstable; urgency=medium

  * New upstream, shipped Jan 13, 2025:
    - [fix] make noise_xk makefile cflags ?= not += for packagers
    This should finally fix "unconditionally sets FORTIFY_SOURCE=2 flag".
    Thanks to Gianfranco Costamagna and Gui-Yue.  Closes: #1091671

  * d/rules: add a bunch of paths to -I in CFLAGS: deal with
    src/noise_xk/makefile and src/noise_xk/example/makefile.

 -- Joost van Baal-Ilić <joostvb@debian.org>  Wed, 15 Jan 2025 07:23:06 +0100

liboprf (0.6.0-1) unstable; urgency=medium

  * This release was never uploaded.
  * New upstream, shipped Jan 7, 2025. Changes in 0.6.0 and
    0.5.0, which shipped Jan 2, 2025:
    [fix] added also tpdkg_peerstate_step() needed by any peer
    [fix] replaced the hardcoded 64bit state structs in python with getters in
     c, making the whole of it much more portable if using python
    [fix] pyoprf tpdkg now works on i686
    [mod] define log_file as extern in tp-dkg.h
    [mod] flush logfile in dump()
    [enh] correctly working vsps check tests
    [enh] added some more trace msgs in case of unit testing to toprf.c
    [enh] added working toprf_mpc_vsps_check()
    [doc] added short comment to dkg.c:polynom()
    [doc] small fixes to tp-update.txt
    [enh] if UNIT_TEST warn only once for non random generator
    [doc] formatting in tp-dkg
    [mod] need to -U fortify source first
    [mod] using consistently -D_FORTIFY_SOURCE=3 everywhere
    [mod] toprf_thresholdcombine() returns 1 on error
    [fix] indexing correctly the indexes array
    [mod] bruteforcing vsps_check
    [mod] trying to get t right
    [mod] trying to implement vsps test from GRR98
    [mod] simplified slightly test makefile
    [enh] aded invertedVDMmatrix() wrapping and hiding genVDM and invert in
     mpmult
    [mod] some more references to the mp multiplication paper and a fix in the
     mpmult test
    [doc] started spec on tp-update protocol
    [enh] mpmult works for all peers even beyond 2t+1
    [enh] added multiparty multiplication - enabling barebones (hazard!)
     updating of tOPRF
    [mod] moved toprf test to tests, some cleanups in tests/makefile
    [enh] added debug target to makefile

  * d/patches/series: disable no-fortify-source.patch: no longer patch
    hardcoded -D_FORTIFY_SOURCE=2 out of makefile, but go with current
    upstream -D_FORTIFY_SOURCE=3. This is yet another attempt to
    close # 1091671.

 -- Joost van Baal-Ilić <joostvb@debian.org>  Sat, 11 Jan 2025 13:25:26 +0100

liboprf (0.4.0-1.1) unstable; urgency=medium

  * This release was never uploaded.
  * Add patch to stop enforcing fortify_source flag (Closes: #1091671)

 -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 11 Dec 2024 20:10:03 +0100

# For older changelog entries, run 'apt-get changelog liboprf0t64'
