<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/lhash, branch OPENBSD_7_6</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_6</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_6'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-07-14T14:32:45+00:00</updated>
<entry>
<title>Remove lhash_local.h.</title>
<updated>2024-07-14T14:32:45+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-07-14T14:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1ae23ffb91ba41cf24c39b874e0d6f164063cfe3'/>
<id>urn:sha1:1ae23ffb91ba41cf24c39b874e0d6f164063cfe3</id>
<content type='text'>
lhash_local.h was previously needed since conf/conf_api.c and
objects/obj_dat.c were fiddling with lhash internals when deleting via a
callback. Since we no longer need to do that, inline the structs in
lhash.c and remove the header.

ok tb@
</content>
</entry>
<entry>
<title>Remove lhash statistics.</title>
<updated>2024-06-30T14:13:08+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-06-30T14:13:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=483a1f1e260c531359332afefc57fdeaca0e43bb'/>
<id>urn:sha1:483a1f1e260c531359332afefc57fdeaca0e43bb</id>
<content type='text'>
These are not exactly useful and we previously stopped exposing them.

ok tb@
</content>
</entry>
<entry>
<title>Remove the less-than-useful change log.</title>
<updated>2024-06-22T16:38:31+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-06-22T16:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0887e34f971690ea1c39507a417ab9af2dffd5cb'/>
<id>urn:sha1:0887e34f971690ea1c39507a417ab9af2dffd5cb</id>
<content type='text'>
ok tb@
</content>
</entry>
<entry>
<title>Reorder functions and drop static function prototypes.</title>
<updated>2024-05-07T13:40:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-05-07T13:40:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e81acc84558973196803c486679341ec923e5414'/>
<id>urn:sha1:e81acc84558973196803c486679341ec923e5414</id>
<content type='text'>
No functional change.
</content>
</entry>
<entry>
<title>Fix function wrapping.</title>
<updated>2024-05-06T14:38:20+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-05-06T14:38:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=fc602bd5ac38ee7034363f1bb0b799a0453146dd'/>
<id>urn:sha1:fc602bd5ac38ee7034363f1bb0b799a0453146dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Guard call to contract() from doall_util_fn().</title>
<updated>2024-05-06T14:36:05+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-05-06T14:36:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=dbeee3adcf988a67916e3ed200288c03f120385f'/>
<id>urn:sha1:dbeee3adcf988a67916e3ed200288c03f120385f</id>
<content type='text'>
It is not safe to unconditionally call contract() - when called repeatedly
it will shrink the bucket array to zero and then attempt to access that
allocation on the next call. Use the same guard that is used in
lh_delete().

Issue found when investigating haproxy crashes reported by wizard-it on
GitHub.

ok tb@
</content>
</entry>
<entry>
<title>Make LHASH_OF() and STACK_OF() use opaque structs</title>
<updated>2024-03-02T11:11:11+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-02T11:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=26367add3db68a3e89bda58a3c85174507f8e71a'/>
<id>urn:sha1:26367add3db68a3e89bda58a3c85174507f8e71a</id>
<content type='text'>
This removes internals of these two special snowflakes and will allow
further simplifications. Unfortunately, there are some pieces of
software that actually use LHASH_OF() (looking at you, pound, Ruby, and
openssl(1)), so we get to keep exposing this garbage, at least for now.

Expose lh_error() as a symbol to replace a macro reaching into _LHASH.
lh_down_load() is no longer available. _LHASH and _STACK are now opaque,
LHASH_NODE becomes internal-only.

from jsing
</content>
</entry>
<entry>
<title>Remove lh stats</title>
<updated>2024-03-02T11:04:52+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-02T11:04:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=792421b3f220abcbd1405485edc9bf6b39485769'/>
<id>urn:sha1:792421b3f220abcbd1405485edc9bf6b39485769</id>
<content type='text'>
This could have been removed in an earlier bump. Now it's time for it to
say goodbye.

ok jsing
</content>
</entry>
<entry>
<title>Make it safe to delete entries from an lhash doall callback.</title>
<updated>2024-01-24T14:02:52+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-01-24T14:02:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=43687ee924fc2437d5b22b75c6b497ef06c60e4a'/>
<id>urn:sha1:43687ee924fc2437d5b22b75c6b497ef06c60e4a</id>
<content type='text'>
Currently, the callback cannot safely delete entries as it could lead to
contraction of the hash table, which in turn could lead to doall skipping
entries (and that typically leads to memory leaks). The recommended
workaround is to reach in and fiddle with the hash table internals in
order to prevent contraction, call the doall function and then restore
the internals that were changed.

Rather than just improving our documentation, actually make it safe to
delete entries from an lhash doall callback by pausing contractions prior
to starting the callback loop, then restoring the down load factor and
triggering contraction once completed. This means that callers no longer
need access to change hash table internals in order to achieve this same
behaviour.

ok tb@
</content>
</entry>
<entry>
<title>Hide symbols in lhash, pem, and rc2</title>
<updated>2023-07-07T13:40:44+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2023-07-07T13:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1355f5b75c135c6bbe53ddedd21c86e2952b9895'/>
<id>urn:sha1:1355f5b75c135c6bbe53ddedd21c86e2952b9895</id>
<content type='text'>
ok jsing@
</content>
</entry>
</feed>
