[InterNetNews/inn] 05d6e0: ovsqlite-util: Add vacuum support

Julien ÉLIE noreply at github.com
Sat Aug 1 14:40:18 UTC 2026


  Branch: refs/heads/2.7
  Home:   https://github.com/InterNetNews/inn
  Commit: 05d6e05c8e5bb6f751ff91089e10f5ce60b8ab76
      https://github.com/InterNetNews/inn/commit/05d6e05c8e5bb6f751ff91089e10f5ce60b8ab76
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M doc/pod/news.pod
    M doc/pod/ovsqlite-util.pod
    M doc/pod/ovsqlite.pod
    M scripts/innreport_inn.pm
    M storage/ovsqlite/ovsqlite-util.in
    M tests/overview/ovsqlite-integ.t

  Log Message:
  -----------
  ovsqlite-util: Add vacuum support

Add a -v flag that runs SQLite VACUUM to reclaim freelist pages after
permanent retention shrinks or bulk deletes.  Document why vacuuming is
not automatic and why a freelist high-water mark is usually desirable
for an expiring spool.  Pause a running innd when possible; work
offline when the news system is stopped.

Closes #364.
Closes #368.


  Commit: 930d40bb9827da8d6b6eb2246e80401bb8071d99
      https://github.com/InterNetNews/inn/commit/930d40bb9827da8d6b6eb2246e80401bb8071d99
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M backends/innxmit.c

  Log Message:
  -----------
  Reset innxmit write pointers after buffer growth

Reset the active write pointer after growing the output buffer and make
the capacity arithmetic overflow-safe.

see #370


  Commit: 168adc4a64f8073553bedb6aeef4e2f8f5c1428f
      https://github.com/InterNetNews/inn/commit/168adc4a64f8073553bedb6aeef4e2f8f5c1428f
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innd/innd.c

  Log Message:
  -----------
  Clear stale mode reason on repeated options

Reset ModeReason after freeing it so a later -m option without a reason
cannot leave a dangling pointer for shutdown cleanup.

see #370


  Commit: 428d715dd8d0f7f93fe00719684ad22422b48b0f
      https://github.com/InterNetNews/inn/commit/428d715dd8d0f7f93fe00719684ad22422b48b0f
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M .gitignore
    M MANIFEST
    M lib/reservedfd.c
    M support/mkmanifest
    M tests/Makefile
    M tests/TESTS
    A tests/lib/reservedfd-t.c

  Log Message:
  -----------
  Fix reserved file descriptor reuse

Repair shrink and regrow handling, use an exclusive slot bound, and
replenish slots with fresh streams after freopen failures.  Preserve the
original error and propagate close failures, with focused regression
coverage.

see #370


  Commit: de7106f1aafaaef3e24bab68bcebd6b49f90e2fb
      https://github.com/InterNetNews/inn/commit/de7106f1aafaaef3e24bab68bcebd6b49f90e2fb
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M frontends/encode.c

  Log Message:
  -----------
  Initialize partial legacy encoder input

Zero the final short encoder group so a partial input does not consume
indeterminate padding bytes.

see #370


  Commit: 61e4333151549fdd241beb9cfd7cfec679d68667
      https://github.com/InterNetNews/inn/commit/61e4333151549fdd241beb9cfd7cfec679d68667
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innfeed/imap_connection.c

  Log Message:
  -----------
  Fix IMAP and LMTP connection ownership

Handle failed read registration, preserve shared connection lifetime
while disconnecting both endpoints, and attach ownership to synthesized
To headers.

see #370


  Commit: 55c0c601937639a23bbf6c06cfdf7b6f52e0a37d
      https://github.com/InterNetNews/inn/commit/55c0c601937639a23bbf6c06cfdf7b6f52e0a37d
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M backends/innxbatch.c

  Log Message:
  -----------
  Close the batch file descriptor on innxbatch errors

Net-new: on fstat failure or zero-length batch, innxbatch called
close(i) where i held a leftover setsockopt buffer size, not the
open batch fd.  That leaked the batch fd and could close an unrelated
descriptor.  Close fd instead.

see #370


  Commit: 4ce20c96315d9795edd634f62f7dc81ca70fced2
      https://github.com/InterNetNews/inn/commit/4ce20c96315d9795edd634f62f7dc81ca70fced2
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M nnrpd/perm.c

  Log Message:
  -----------
  Reset virtual path when permissions change

PERMgetpermissions may run again after authentication.  Release
any prior virtual path before recomputing access so transitions to
non-virtual or default access cannot retain stale path state.

see #370


  Commit: 3f6a349bc6724a83b264a243eb4f41797f75b832
      https://github.com/InterNetNews/inn/commit/3f6a349bc6724a83b264a243eb4f41797f75b832
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M expire/expire.c

  Log Message:
  -----------
  Free replaced expire reason strings

Release a previous -r value before replacing it and discard an explicit
reason when -n disables server coordination.

see #370


  Commit: 78c7c7169dad5dd8c0a6b7872bf3370b56f886d5
      https://github.com/InterNetNews/inn/commit/78c7c7169dad5dd8c0a6b7872bf3370b56f886d5
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M nnrpd/perm.c

  Log Message:
  -----------
  Give inherited canlock settings independent storage

Deep-copy addcanlockuser along with the other access-group strings and
release it during teardown.  Overriding an inherited setting can no
longer free storage still owned by another group.

see #370


  Commit: 8a59d8df18075c1c51f796d097aa1d28c44bf53a
      https://github.com/InterNetNews/inn/commit/8a59d8df18075c1c51f796d097aa1d28c44bf53a
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innd/chan.c

  Log Message:
  -----------
  Reject one-past channel descriptors

Channel table indices end at table_size - 1; treat table_size itself as
invalid before returning a channel pointer.

see #370


  Commit: 7dfdd10a61ec340208197ac6b2bfb171c366bc9d
      https://github.com/InterNetNews/inn/commit/7dfdd10a61ec340208197ac6b2bfb171c366bc9d
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innd/cc.c

  Log Message:
  -----------
  Bound control-channel string comparisons

Compare site names before indexing their separator and derive active
flag lengths from the terminating newline.  Short newsfeeds entries and
longer replacement flags no longer cause out-of-bounds reads.

see #370


  Commit: 9603885f3a947bf75292330213ef95b667a5f13a
      https://github.com/InterNetNews/inn/commit/9603885f3a947bf75292330213ef95b667a5f13a
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M nnrpd/commands.c

  Log Message:
  -----------
  Close generic authenticator pipes in the parent

Release both pipe ends on terminal fork failure and close the parent
read descriptor after consuming the child response.

see #370


  Commit: 1c04a0c58533f107dec2511d6cb668cd7447a782
      https://github.com/InterNetNews/inn/commit/1c04a0c58533f107dec2511d6cb668cd7447a782
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innfeed/endpoint.c

  Log Message:
  -----------
  Initialize the socket error result length

Pass getsockopt the capacity of optval instead of an indeterminate
socklen_t value.

see #370


  Commit: e0b8caf7bfbea28e2dff2e2f97926b3202b05c43
      https://github.com/InterNetNews/inn/commit/e0b8caf7bfbea28e2dff2e2f97926b3202b05c43
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lib/canlock.c

  Log Message:
  -----------
  Free generated canlock buffers through their output

Release *canbuff rather than the caller-owned pointer on generation
failures, clear it before returning false, and check the aggregate
output-size calculation before allocation.

see #370


  Commit: 5a25664e95a580c231985ccf4a5ddaf363956ae7
      https://github.com/InterNetNews/inn/commit/5a25664e95a580c231985ccf4a5ddaf363956ae7
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M storage/ovdb/ovdb.c

  Log Message:
  -----------
  Close the OVDB client connection on shutdown

Release the read-server socket after sending QUIT before clearing the
cached descriptor.

see #370


  Commit: cf65a0ecefc82c5f9b76143d607c1d97b07d9f75
      https://github.com/InterNetNews/inn/commit/cf65a0ecefc82c5f9b76143d607c1d97b07d9f75
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lib/network-innbind.c

  Log Message:
  -----------
  Close innbind helper resources on every path

Release both pipe ends and the helper path after fork failure, close
the duplicated child write descriptor, and close the parent read end
after receiving the helper response.

see #370


  Commit: 83c273c3e5ba4750725263834e648ee80626e97e
      https://github.com/InterNetNews/inn/commit/83c273c3e5ba4750725263834e648ee80626e97e
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M nnrpd/auth-ext.c
    M tests/nnrpd/auth-ext-t.c

  Log Message:
  -----------
  Clean up external authenticator startup resources

Reject empty helper commands and release parsed arguments, allocated
paths, and partially created pipe descriptors on startup failures.

see #370


  Commit: a88be6aafeb694d50fc5ebb50392ca9a528ad0bd
      https://github.com/InterNetNews/inn/commit/a88be6aafeb694d50fc5ebb50392ca9a528ad0bd
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innfeed/imap_connection.c

  Log Message:
  -----------
  Restore successful AddControlMsg returns

A warning cleanup accidentally made AddControlMsg return RET_FAIL
unconditionally. Return the accumulated result so successfully queued
control messages can transfer ownership to the IMAP queue.

see #370


  Commit: a3abca8561f4b1d98cba1454e1fe8c4ed70fdaec
      https://github.com/InterNetNews/inn/commit/a3abca8561f4b1d98cba1454e1fe8c4ed70fdaec
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innfeed/imap_connection.c

  Log Message:
  -----------
  Preserve active IMAP and LMTP work ownership

Return dequeued operations to the host on disconnect, transfer buffer
arrays explicitly to endpoints, and attach command-string lifetime to
their buffers.

see #370


  Commit: b6f377b828c54de7b9b6c742f49da0a7ca5c4beb
      https://github.com/InterNetNews/inn/commit/b6f377b828c54de7b9b6c742f49da0a7ca5c4beb
  Author: Kevin Bowling <kevin.bowling at kev009.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M innfeed/imap_connection.c

  Log Message:
  -----------
  Close IMAP and LMTP sockets on every path

Close failed connect sockets, clean up sockets rejected by endpoint
or SASL setup, tear endpoints down on disconnect, and route successful
QUIT replies through the same cleanup path.

see #370


  Commit: 0d5ef891a09b53aa32e81a9d183d5ddadfac842e
      https://github.com/InterNetNews/inn/commit/0d5ef891a09b53aa32e81a9d183d5ddadfac842e
  Author: Julien ÉLIE <Julien-Elie at users.noreply.github.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M doc/pod/news.pod
    M frontends/encode.c
    M nnrpd/perm.c
    M tests/lib/reservedfd-t.c

  Log Message:
  -----------
  Update NEWS and copyright years

close #370


Compare: https://github.com/InterNetNews/inn/compare/4abde8bae2ed...0d5ef891a09b

To unsubscribe from these emails, change your notification settings at https://github.com/InterNetNews/inn/settings/notifications


More information about the inn-committers mailing list