{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":32012681,"defaultBranch":"main","name":"firewalld","ownerLogin":"firewalld","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-03-11T10:51:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21956798?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712952856.0","currentOid":""},"activityList":{"items":[{"before":"385fbbf0edc2626a812385abd15c965a3714eff4","after":"7fa79562aa70a639778fb2c6622ea14176cd41b9","ref":"refs/heads/main","pushedAt":"2024-05-06T20:37:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"fix(polkit): allow 60 seconds for authorization\n\nAllow up to 60 seconds for polkit authorization. The current default is\n25 seconds which can be a bit short for a user to type a password.\n\nFixes: #1328","shortMessageHtmlLink":"fix(polkit): allow 60 seconds for authorization"}},{"before":"f514a3ea4b59a0be11467d1b68a992329b6dc8dd","after":"385fbbf0edc2626a812385abd15c965a3714eff4","ref":"refs/heads/main","pushedAt":"2024-04-23T13:53:15.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(dbus_utils): remove unused functions\n\nMaybe these functions should be kept, as being useful and valuable to have\nin the toolbox, for the future.\n\nInstead, drop them. It's unused, and it's not clear that they are the\nbest implementation we can have. When we need them again, we should consider\nwhat the best implementation would be.","shortMessageHtmlLink":"chore(dbus_utils): remove unused functions"}},{"before":"9bc43fced6387799520c7239704e593db9b032b3","after":"f514a3ea4b59a0be11467d1b68a992329b6dc8dd","ref":"refs/heads/main","pushedAt":"2024-04-22T14:17:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"fix(service): update highest port number for ceph\n\nThe highest port number used by Ceph was updated in\nhttps://github.com/ceph/ceph/pull/42210.\n\nFixes https://github.com/firewalld/firewalld/issues/1329","shortMessageHtmlLink":"fix(service): update highest port number for ceph"}},{"before":"37d5fe83900583cde504c7f72cc5051c0567b5bb","after":"fc95843d0708d736c0d808bc65fb41222863ad99","ref":"refs/heads/stable-2.0","pushedAt":"2024-04-12T20:13:14.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(release): v2.0.4","shortMessageHtmlLink":"chore(release): v2.0.4"}},{"before":"2b9835f382c8e3eece8b3990ba3750b2ea0420f5","after":"9bc43fced6387799520c7239704e593db9b032b3","ref":"refs/heads/main","pushedAt":"2024-04-12T19:24:36.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"fix(translation): fix bogus format string in \"po/sl.po\"\n\nSome texts are used via str.format(). It's important that even for\ntranslated strings, the names of the replacement fields still match.\n\nOtherwise, with `LANG=sl_SI.UTF-8 firewall-applet` we hit an exception\nat\n\n binding = _(\"{entry} (Zone: {zone})\")\n ...\n action = QAction(\n escape(binding.format(zone=zone, entry=connection_name)), self\n )\n\nTranslations in this sense become part of the program code itself. They\ncannot just contain bogus formats. Instead, it's a bug if a translation\nmangles the format string. Optimally, _() (gettext.gettext()) would\nnotice this and ignore the translation, but it doesn't.\n\nhttps://github.com/firewalld/firewalld/issues/1310\n\nFixes: ce6d81d7e424 ('chore(translation): update (Slovenian) via Weblate')","shortMessageHtmlLink":"fix(translation): fix bogus format string in \"po/sl.po\""}},{"before":"55264cfb6e1d04e6a6c9e4c53a5b9c87d055481f","after":"370d628160db50bb068e8c76aec374ed6764bf31","ref":"refs/heads/stable-2.1","pushedAt":"2024-04-12T16:49:40.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(release): v2.1.2","shortMessageHtmlLink":"chore(release): v2.1.2"}},{"before":"67e04210ebfe144377780c599c927e183f7207d2","after":"2b9835f382c8e3eece8b3990ba3750b2ea0420f5","ref":"refs/heads/main","pushedAt":"2024-04-12T16:36:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(functions): nftables: normalize icmp reject codes\n\nThis changed in nftables commit 5fecd2a6ef61 (\"src: disentangle ICMP\ncode types\").","shortMessageHtmlLink":"test(functions): nftables: normalize icmp reject codes"}},{"before":"94dc89b12477623c7ef14eb764a49eba9eba4955","after":"67e04210ebfe144377780c599c927e183f7207d2","ref":"refs/heads/main","pushedAt":"2024-04-03T19:22:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"fix(policy): allow forward ports w/ to-addr for egress-zone=HOST\n\nIf the destination address is the host then this is necessary. A policy\nwith egress-zone=ANY does not work because the policy dispatch will\nmatch the egress zones \"source\" in the destination address.","shortMessageHtmlLink":"fix(policy): allow forward ports w/ to-addr for egress-zone=HOST"}},{"before":"984c321f7d66f49c84c20b79d8e2fcc45766269f","after":"94dc89b12477623c7ef14eb764a49eba9eba4955","ref":"refs/heads/main","pushedAt":"2024-03-07T14:43:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"feat: add a service for MNPD protocol\n\nIt's used by winbox to find devices over network using MNPD or CDP\nprotocol.\n\nSigned-off-by: Mariusz Fik ","shortMessageHtmlLink":"feat: add a service for MNPD protocol"}},{"before":"1632f93544be8a26c278ac0012993c27f865bfa3","after":"984c321f7d66f49c84c20b79d8e2fcc45766269f","ref":"refs/heads/main","pushedAt":"2024-03-07T14:25:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"feat(service): add WS-Discovery host\n\nAdd a generic service definition for a WS-Discovery host implementation,\nwhich, e.g., allows to discover Samba file sharing services via Windows.\nAs per https://learn.microsoft.com/en-us/windows/win32/wsdapi/additional-ws-discovery-functionality,\nTCP port 5357 is used by the service and respective implementations (see\nbelow).\n\nThe file re-uses the already existing UDP multicast service definition.\n\nThe service file is taken from openSUSE (see\nhttps://build.opensuse.org/package/view_file/openSUSE:Leap:15.5/wsdd/wsdd.xml),\nwhich did not validate against the firewalld serivce schema. Thus, the\ninclude statement was moved. The original author of the openSUSE\npackage, suggested to upstream a generic service definition that is\nagnostic to a specific implementation, like wsdd\n(https://github.com/christgau/wsdd) or wsdd2\n(https://github.com/Netgear/wsdd2).\n\nSee also: https://github.com/christgau/wsdd/pull/186\n\nCo-authored-by: Herbert Graeber ","shortMessageHtmlLink":"feat(service): add WS-Discovery host"}},{"before":"88346beae9dbc0f0516c724e2569bd95f162b03d","after":"1632f93544be8a26c278ac0012993c27f865bfa3","ref":"refs/heads/main","pushedAt":"2024-03-01T16:44:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(config): update Systemd security settings","shortMessageHtmlLink":"improvement(config): update Systemd security settings"}},{"before":"e2258bf33be3e47d2279e3cd975ed600bba0564b","after":"88346beae9dbc0f0516c724e2569bd95f162b03d","ref":"refs/heads/main","pushedAt":"2024-02-29T18:18:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"ci(github): update actions","shortMessageHtmlLink":"ci(github): update actions"}},{"before":"9ed40b83516ed619691eeaca1b32858423847e83","after":"e2258bf33be3e47d2279e3cd975ed600bba0564b","ref":"refs/heads/main","pushedAt":"2024-02-29T18:17:38.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(fw-in-container): support (re)setting size with \"--setup-host\"\n\nBy default, the \"--setup-host\" bumps the sysctls to 4000k, which should\nallow our tests to pass inside fw-in-container.\n\n $ sudo ./contrib/fw-in-container/fw-in-container -S\n\nNow, also accept an optional size argument to \"-S\". With this,\n\n $ sudo ./contrib/fw-in-container/fw-in-container -S $((8000*1024))\n\nexplicitly selects the requested size.\n\nThe main use is however\n\n $ sudo ./contrib/fw-in-container/fw-in-container 0\n\nto reset the value sysctl. In this case, \"0\" is an alias for \"212992\",\nwhich is the default on my Fedora machine. The point is to be able to\nreset the default.","shortMessageHtmlLink":"improvement(fw-in-container): support (re)setting size with \"--setup-…"}},{"before":"9b434f79dbcc951e06989f599e518b7fb44a1150","after":"9ed40b83516ed619691eeaca1b32858423847e83","ref":"refs/heads/main","pushedAt":"2024-02-27T19:32:25.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"ci(github): update action versions","shortMessageHtmlLink":"ci(github): update action versions"}},{"before":"a21b401f6d8dd6eb65adba1878a29d63086b15e7","after":"9b434f79dbcc951e06989f599e518b7fb44a1150","ref":"refs/heads/main","pushedAt":"2024-02-27T17:09:22.000Z","pushType":"pr_merge","commitsCount":13,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(zone): remove unused allow_apply arguments","shortMessageHtmlLink":"chore(zone): remove unused allow_apply arguments"}},{"before":"faefec855c6a3fbe41707016819dd159bda4430a","after":"a21b401f6d8dd6eb65adba1878a29d63086b15e7","ref":"refs/heads/main","pushedAt":"2024-02-12T21:11:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"feat: add iperf{2,3} services","shortMessageHtmlLink":"feat: add iperf{2,3} services"}},{"before":"4b57ea2be9d2a12951cc833b7c445b2facc32eab","after":"faefec855c6a3fbe41707016819dd159bda4430a","ref":"refs/heads/main","pushedAt":"2024-02-12T20:57:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(tests): automatically add the file name to AT_KEYWORDS()\n\nMake it possible to select a test to run more explicitily. For example,\nmany tests only have \"rich\" as keywords. So \"-k rich\" runs many tests.\n\nNow, automatically also add various forms of the filename to\nAT_KEYWORDS(). For example, the following now will all work:\n\n -k features/forward_ports.at:199\n -k features/forward_ports.at\n -k forward_ports.at:199\n -k forward_ports.at\n -k forward_ports\n -k features","shortMessageHtmlLink":"improvement(tests): automatically add the file name to AT_KEYWORDS()"}},{"before":"0a4172c2cb2ccc5e11699bef90d8404634215976","after":"4b57ea2be9d2a12951cc833b7c445b2facc32eab","ref":"refs/heads/main","pushedAt":"2024-02-12T20:45:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(fw-in-container): support running nftables test in container\n\nfw-in-container is useful for testing and development.\n\nNote that it runs a rootless container. For non-root users, the netlink\nsocket buffer is limited by /proc/sys/net/core/{rmem_max,wmem_max}. This\ncauses various tests inside fw-in-container to fail. The test also\ncannot just bump that limit, because it's rootless (and because it would\nbe an undesirable modification of the host).\n\nHowever, it's useful to support running such tests also inside the\ncontainer. All that we need, is that the user (as root) bumps those\nhost wide limits.\n\nExtend the script to detect that, so that it can run.\n\nIf you now want to run those tests, first issue a\n\n echo 4096000 > /proc/sys/net/core/rmem_max\n echo 4096000 > /proc/sys/net/core/wmem_max\n echo 4096000 > /proc/sys/net/core/wmem_default\n\nas root. You can get this simply by running:\n\n $ sudo ./contrib/fw-in-container/fw-in-container -S","shortMessageHtmlLink":"improvement(fw-in-container): support running nftables test in container"}},{"before":"6e584ab2e3bfbe2588a362a51298f3d25e5cbcc5","after":"0a4172c2cb2ccc5e11699bef90d8404634215976","ref":"refs/heads/main","pushedAt":"2024-02-12T14:56:11.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(unit): rich_rule: fix flake8 occurrence E721\n\n./tests/unit/test_rich_rule.py:27:12: E721 do not compare types, for\nexact checks use `is` / `is not`, for instance checks use `isinstance()`","shortMessageHtmlLink":"test(unit): rich_rule: fix flake8 occurrence E721"}},{"before":"54418640ee0589c26a93741136f11069c36597fd","after":"6e584ab2e3bfbe2588a362a51298f3d25e5cbcc5","ref":"refs/heads/main","pushedAt":"2024-02-01T20:12:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(spec): don't restart firewalld on package upgrade\n\nRestarting the firewalld daemon is not as seamless, as it maybe should\nbe. In particular, it can reconfigure the firewall or temporarily drop\nimportant rules. That should be improved, but until restart is really\nseamless, it is harmful to do during package update.\n\nThe proper way install new package is offline upgrade and reboot. If the\nuser knows better, they can upgrade packages without reboot. But then\nthey must handle the restart of the affected packages, in a way that is\nsafe and useful to them.\n\nhttps://issues.redhat.com/browse/RHEL-19610","shortMessageHtmlLink":"improvement(spec): don't restart firewalld on package upgrade"}},{"before":"beae05f82959050b7bca8b1e44e0f599cfe5d250","after":"37d5fe83900583cde504c7f72cc5051c0567b5bb","ref":"refs/heads/stable-2.0","pushedAt":"2024-01-29T15:26:43.000Z","pushType":"pr_merge","commitsCount":15,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(release): v2.0.3","shortMessageHtmlLink":"chore(release): v2.0.3"}},{"before":"4dee340b05704cb0f4c23dc13291035cf198f7a7","after":"55264cfb6e1d04e6a6c9e4c53a5b9c87d055481f","ref":"refs/heads/stable-2.1","pushedAt":"2024-01-29T14:50:40.000Z","pushType":"pr_merge","commitsCount":14,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(release): v2.1.1","shortMessageHtmlLink":"chore(release): v2.1.1"}},{"before":"4d4ade14a60d1273fdfe833133712b46b549acb6","after":"54418640ee0589c26a93741136f11069c36597fd","ref":"refs/heads/main","pushedAt":"2024-01-29T14:29:00.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(policy): dispatch update for active policies\n\nCoverage: #1278","shortMessageHtmlLink":"test(policy): dispatch update for active policies"}},{"before":"c920ab6f7246a14216e1cb69a40073d3cb68a116","after":"4d4ade14a60d1273fdfe833133712b46b549acb6","ref":"refs/heads/main","pushedAt":"2024-01-26T19:49:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(fw-in-container): don't do anything in \"40-firewalld.rules\" polkit rule\n\nMessing with the polkit rules means that `make check-integration` will\nfail. It should pass by default in fw-in-container.\n\nNow the \"40-firewalld.rules\" file does nothing. It's still useful to\nhave, because whenever I want to edit the polkit rules for manual\ntesting, it is cumbersome to find the right location for the file and\nthe proper syntax. The \"40-firewalld.rules\" file helps with that.","shortMessageHtmlLink":"improvement(fw-in-container): don't do anything in \"40-firewalld.rule…"}},{"before":"7233f2bd6c7f61c9855371d22b9c7c7b693bab1c","after":"c920ab6f7246a14216e1cb69a40073d3cb68a116","ref":"refs/heads/main","pushedAt":"2024-01-26T16:29:37.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"improvement(command): make print_msg() command more useful\n\nprint_msg() does something fundamentally simple. However, there were\nvarious wrappers and alternatives to tweak the behaviors.\n\nTackling different behaviors by adding several functions is often less\nflexible than having one function, that can be parametrized (via\narguments) for all those behaviors.\n\nFor example, I want to print a message to stderr, but quit with\nexit_code=0 afterwards. Despite having different wrappers (for printing\na message and quitting, for printing to stderr), there wasn't one which\nachieves this in one step.\n\nInstead, this will be now possible with\n\n cmd.print_msg(msg, file=stderr, exit_code=0)","shortMessageHtmlLink":"improvement(command): make print_msg() command more useful"}},{"before":"e390109ff9652cbd9133c506d10de47dd087e49e","after":"7233f2bd6c7f61c9855371d22b9c7c7b693bab1c","ref":"refs/heads/main","pushedAt":"2024-01-26T15:37:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(check-container): fix running of polkit tests\n\nIn order to run polkit tests inside the container we must start systemd,\ndbus-broker, and polkit. In order to do this we have to rework how the\ncontainer is built and start them with init.","shortMessageHtmlLink":"test(check-container): fix running of polkit tests"}},{"before":"35b25ec11306b7eb14e0e3ba473fc3a82d092733","after":"e390109ff9652cbd9133c506d10de47dd087e49e","ref":"refs/heads/main","pushedAt":"2024-01-19T17:19:16.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(ipset): number of entries exceed set size\n\nCloses #1280","shortMessageHtmlLink":"test(ipset): number of entries exceed set size"}},{"before":"b2c52a910049d7190629bf3678ee39313589f950","after":"35b25ec11306b7eb14e0e3ba473fc3a82d092733","ref":"refs/heads/main","pushedAt":"2024-01-17T16:46:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"chore(tests): reformat \"test_firewalld_conf.py\" with black==23.7.0\n\nThe officially used version of python-black is the one from the github\naction check, currently black==22.12.0.\n\nOn Fedora 39, we get black==23.7.0, which changes behaviors in some\nregard. This is a common issue, where newer/different versions of the\nformatter will give different results.\n\nIn this case, when we reformat the code base with black==23.7.0, then the\nresult will also be correctly formatted according to black=22.12.0.\n\nDo this reformatting, so that on Fedora 39 a run of black does not\nintroduce any changes -- even if the used black version is not the\nofficially suggested one.\n\nThis is for convenience of users of black 23.","shortMessageHtmlLink":"chore(tests): reformat \"test_firewalld_conf.py\" with black==23.7.0"}},{"before":"b4eb5ca8d899af24de98f3672b1db3acdb4302c1","after":"b2c52a910049d7190629bf3678ee39313589f950","ref":"refs/heads/main","pushedAt":"2024-01-17T16:16:27.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(logging): verify rich rule forward port logging\n\nCloses #1263","shortMessageHtmlLink":"test(logging): verify rich rule forward port logging"}},{"before":"f1348744529f448eed76960b5a3ad24086de2a41","after":"b4eb5ca8d899af24de98f3672b1db3acdb4302c1","ref":"refs/heads/main","pushedAt":"2024-01-17T16:06:34.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"erig0","name":"Eric Garver","path":"/erig0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/313253?s=80&v=4"},"commit":{"message":"test(ipset): add test for ipv6 addresses\n\nCloses #1264","shortMessageHtmlLink":"test(ipset): add test for ipv6 addresses"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQuuS_QA","startCursor":null,"endCursor":null}},"title":"Activity · firewalld/firewalld"}