<feed xmlns='http://www.w3.org/2005/Atom'>
<title>protector, branch master</title>
<subtitle>Bitweaver protector package repository
</subtitle>
<id>https://git.rdm1.uk/protector/.git/atom?h=master</id>
<link rel='self' href='https://git.rdm1.uk/protector/.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/'/>
<updated>2026-06-19T10:01:24Z</updated>
<entry>
<title>Fix protector_content_verify_access ignoring user roles when called via service</title>
<updated>2026-06-19T10:01:24Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-19T10:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=1a02613125a86ab54899a7ff46388a6c77c46869'/>
<id>urn:sha1:1a02613125a86ab54899a7ff46388a6c77c46869</id>
<content type='text'>
When invoked through invokeServices('content_verify_access'), $pHash is null,
so in_array always fails and protected content blocks everyone. Derive roles
from $gBitUser when $pHash is not supplied, matching protector_content_load.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove duplicate ipackage attributes from biticon calls</title>
<updated>2026-06-07T15:51:54Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-07T15:51:54Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=b326a848e0e82194ad2fbc6c205634a69a50f583'/>
<id>urn:sha1:b326a848e0e82194ad2fbc6c205634a69a50f583</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>protector: guard empty roles with ?: [-1] to prevent Firebird IN() error</title>
<updated>2026-06-06T19:10:23Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T19:10:23Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=487b42fa1c2d871f06dfb95f41387774852dbb7f'/>
<id>urn:sha1:487b42fa1c2d871f06dfb95f41387774852dbb7f</id>
<content type='text'>
For anonymous users getRoles() returns an empty array, producing IN()
with no values — invalid Firebird SQL (-104 Token unknown).

Apply the standard guard so anonymous requests get IN(-1) instead,
matching the anonymous role_id. Affects both protector_content_list()
and protector_content_load().

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Convert {booticon} to {biticon} — freedesktop/tango icon names throughout</title>
<updated>2026-06-04T10:31:57Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-04T10:31:57Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=63a2a4a41b4b25c2e582480d6a971a1206acc64b'/>
<id>urn:sha1:63a2a4a41b4b25c2e582480d6a971a1206acc64b</id>
<content type='text'>
Replace all {booticon iname="icon-*"} and {booticon iname="fa-*"} calls with
{biticon ipackage="icons" iname="&lt;freedesktop-name&gt;"} using the tango iconset.
Mapping covers ~70 distinct old names to tango equivalents (edit-delete,
document-properties, go-next, lock, internet-mail, etc.).

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix storeProtection can't reset to System Default; tidy getProtectionList</title>
<updated>2026-05-21T14:01:53Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-21T14:01:53Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=4077c49356aadbd2fe0498c1655966407c4165dd'/>
<id>urn:sha1:4077c49356aadbd2fe0498c1655966407c4165dd</id>
<content type='text'>
- storeProtection: check isset(role_id) and valid content_id rather than
  verifyId(role_id) — role_id=-1 (System Default) now correctly DELETEs
  any existing role restriction instead of being skipped entirely
- getProtectionList: remove garbled dead initialiser, use verifyId() guard

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>php-cs-fixer tidies to php8.5 standards</title>
<updated>2026-05-14T08:56:27Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-14T08:56:27Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=f8a1163dd190ecd2db88513a2dbb6138d67573f9'/>
<id>urn:sha1:f8a1163dd190ecd2db88513a2dbb6138d67573f9</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>php8.5 tidies</title>
<updated>2026-05-10T15:20:42Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-10T15:20:42Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=ff94347235de0c063f19521bbb35a6725a687a8e'/>
<id>urn:sha1:ff94347235de0c063f19521bbb35a6725a687a8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>default to no user set</title>
<updated>2026-05-09T14:24:54Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-09T14:24:54Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=b9f5c5ad7f6fc68b236af01f6cb886776714b800'/>
<id>urn:sha1:b9f5c5ad7f6fc68b236af01f6cb886776714b800</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use nginx download and protection of content in attachments</title>
<updated>2026-04-19T18:01:02Z</updated>
<author>
<name>lsces</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-04-19T18:01:02Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=d1693e586ed238efc0d579c2d39dac09015bbba8'/>
<id>urn:sha1:d1693e586ed238efc0d579c2d39dac09015bbba8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Style tidies for PHP8.4</title>
<updated>2026-04-16T10:52:09Z</updated>
<author>
<name>lsces</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-04-16T10:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=356549a1b3c8fc9c96647c2a599d18a3a2960ae0'/>
<id>urn:sha1:356549a1b3c8fc9c96647c2a599d18a3a2960ae0</id>
<content type='text'>
</content>
</entry>
</feed>
