While the python-based AppArmor utils (aa-logprof etc.) are much easier to understand and maintain than the old perl code, there are still some terribly long functions like parseprofiledata() in aa.py that are not too easy to understand. Also, using hasher() (a recursive array) as storage can have some strange side effects. Another problem is that test coverage isn't too good, especially for the bigger functions.

I already wrote the CapabilityRule and CapabilityRuleset classes (and also the BaseRule and BaseRuleset classes) some months ago, and changed the code to use those classes. This code is already in upstream bzr.

My plan for hackweek is to convert more rule types into classes, and to add full test coverage for them. Besides much more readable code, this will also result in "accidently" fixing some bugs that were not noticed yet.

A side goal is to keep the upstream devs busy with patch reviews by continueing my patch flood I started some weeks ago *g*

I'll start with network rules / the NetworkRule and NetworkRuleset classes, and then maybe roll a dice to decide what I'll convert next ;-)

Looking for hackers with the skills:

apparmor python tests

This project is part of:

Hack Week 12


  • about 6 years ago: cboltz added keyword "apparmor" to this project.
  • about 6 years ago: cboltz added keyword "python" to this project.
  • about 6 years ago: cboltz added keyword "tests" to this project.
  • about 6 years ago: cboltz liked this project.
  • about 6 years ago: cboltz started this project.
  • about 6 years ago: cboltz originated this project.

  • Comments

    • cboltz
      almost 6 years ago by cboltz | Reply

      Some minutes ago, I finally commited the NetworkRule and NetworkRuleset classes (and the patch that actually uses them) to AppArmor bzr - they were delayed by some previous patches with a slower-than-usual review (dependencies not only happen for packages ;-)

      I'll continue to rewrite more rule types into classes, but that will probably have to wait after oSC15 and can also happen without formal hackweek tracking ;-)

    Similar Projects

    Create short "videos/screencasts" demoing cool stuff in 5 minutes by PSuarezHernandez

    [comment]: # (Please use the project descriptio...

    Language Server Protocol implementation for Salt States by cbosdonnat

    [Language Server Protocol](https://microsoft.gi...

    Learn python, python-gtk3, play with orangepi zero, experiment ili9341 and 20x4 LCD screen by aginies

    Project Description

    Learn python: get dat...

    Build Microservice Architecture with Kubernetes by aqsa_malik

    Project Description

    The aim of the project ...

    k8s-rook-client by haass

    [comment]: # (Please use the project descriptio...