Closed Bug 1629655 Opened 4 years ago Closed 4 years ago

ckfw needs to support temporary session objects.

Categories

(NSS :: Libraries, enhancement, P1)

3.44
enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rrelyea, Assigned: rrelyea)

Details

Attachments

(1 file)

libcurl uses libpem which uses ckfw to create temporary objects whose space needs to be freed after use (rather than at token shutdown). Currently only token objects are supported and they are allocated out of a global arena owned by the slot, so the objects only go away when the slot is closed. This is a problem for long running servers.

The overall fix requires changes to libcurl and libpem, but we also need support in nss's ckfw. This bug is only for NSS's portion of the fix. Downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=1688958

Assignee: nobody → rrelyea
Status: NEW → ASSIGNED

libckfw needs to create temporary objects whose space will to be freed after
use (rather than at token shutdown). Currently only token objects are supported
and they are allocated out of a global arena owned by the slot, so the objects
only go away when the slot is closed.

This patch sets the arena to NULL in nssCKFWObject_Create() if the object is
a session object. This tells nssCKFWObject_Create() to create a new arena
specifically for this object. That arena is stored in localArena. When the
object is destroyed, any localArena's will be freed.

Priority: -- → P1
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.52
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: