Security Advisories (4)
CVE-2026-61484 (2026-08-05)

Apache Lucy: LucyX::Remote::SearchServer unauthenticated remote Storable::thaw -> RCE/DoS ** UNSUPPORTED WHEN ASSIGNED ** Deserialization of Untrusted Data vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61483 (2026-08-05)

Apache Lucy: QueryParser unbounded recursion on deeply-nested query -> C-stack-overflow DoS ** UNSUPPORTED WHEN ASSIGNED ** Uncontrolled Recursion vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61485 (2026-08-05)

Apache Lucy: Freezer/InStream deserialization bomb - unbounded allocation reading an index ** UNSUPPORTED WHEN ASSIGNED ** Uncontrolled Recursion vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61486 (2026-08-05)

Apache Lucy: stack-buffer-overflow in JSON parser error reporter on malformed input ** UNSUPPORTED WHEN ASSIGNED ** Stack-based Buffer Overflow vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

NAME

Clownfish::File - Structured representation of the contents of a Clownfish source file.

DESCRIPTION

An abstraction representing a file which contains Clownfish code.

METHODS

new

my $file_obj = Clownfish::File->new(
    source_class => 'Crustacean::Lobster',    # required
);
  • source_class - The class name associated with the source file, regardless of how what classes are defined in the source file. Example: If source_class is "Foo::Bar", that implies that the source file could be found at 'Foo/Bar.cfh' within the source directory and that the output C header file should be 'Foo/Bar.h' within the target include directory.

add_block

$file_obj->add_block($block);

Add an element to the blocks array. The block must be either a Clownfish::Class, a Clownfish::Parcel, or a Clownfish::CBlock.

blocks

my $blocks = $file->blocks;

Return all blocks as an arrayref.

classes

my $classes = $file->classes;

Return all Clownfish::Class blocks from the file as an arrayref.

get_modified set_modified

Accessors for the file's "modified" property, which is initially false.

get_source_class

Accessor.

c_path h_path cfh_path

# '/path/to/Source/Class.c', etc.
my $c_path   = $file->c_path('/path/to');
my $h_path   = $file->h_path('/path/to');
my $cfh_path = $file->cfh_path('/path/to');

Given a base directory, return a path name derived from the File's source_class with the specified extension.

guard_name

# e.g. "H_CRUSTACEAN_LOBSTER"
my $guard_name = $file->guard_name

Return a string used for an include guard in a C header, unique per file.

guard_start

Return a string opening the include guard.

guard_close

Return a string closing the include guard. Other classes count on being able to match this string.