Skip to content

Conversation

@SolidWallOfCode
Copy link
Member

@SolidWallOfCode SolidWallOfCode commented Nov 13, 2022

Update IPAllow with libswoc, removing any dependence on the precursor utilities. This also removes support for the original format, leaving YAML as the only valid format.

To integrate Errata, I needed to move the diagnostic levels to plugin accessible header file. I am unwilling to create additional circular dependencies by making fundamental libraries (such as "tscpp/util") dependent on higher level libraries ("Diags"). One of the changes in Errata between the old and libswoc versions is this ability to adapt Errata to local error severities.

There was a bit of cleanup in libswoc for this, which is currently mixed in. Before this becomes a ready PR, I will cut a new release of libswoc and merge that in.

The IPAllow config was changed to use a MemArena because I think overall it's easier. The use of std::vector meant the records couldn't be directly stored during parsing, because a re-allocation of the vector would scrozzle the pointers, but I didn't want to separately allocate all of them. MemArena means these can be cheaply allocated and stored as parsed without a funky fix up later. At that point there's a bit of additional work to put all of the config data in the arena so there is no cleanup.

I got tired of dealing with optional pairs of addresses (IPv4 and/or IPv6) and added some classes to deal with that more cleanly. That could be split out in to a separate PR.

See this libswoc PR.

@brbzull0
Copy link
Contributor

Looks good to me, I need this changes in for my records.yaml support.
The only think I don't like but you will be fixing is that we have swoc changes in here.

@SolidWallOfCode SolidWallOfCode merged commit 74dd418 into apache:10-Dev Dec 4, 2022
@zwoop zwoop modified the milestones: 10-Dev, 10.0.0 Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants