]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: make virFirewallRuleToString() global
authorLaine Stump <laine@redhat.com>
Thu, 21 Apr 2022 21:42:30 +0000 (17:42 -0400)
committerLaine Stump <laine@redhat.com>
Wed, 24 Aug 2022 16:22:47 +0000 (12:22 -0400)
Although the next commit will eliminate the one current use of
virFirewallRuleToString(), a future commit will once again have a use
for it, but in a different source file so it will need to be a global
function rather than static. Make that change now so that we don't get
a compile error from having an unused static function in the next
commit.

(The arg list is also changed to include the name of the command as a
separate argument rather than just assuming that it can be derived
from the rule's layer (which is correct for iptables, but won't be
correct for nftables)).

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/libvirt_private.syms
src/util/virfirewall.c
src/util/virfirewall.h

index ac2802095eba8a8b3a4c342b4e0e3c627a87f032..f73925937599daf1dca5d97b594979333f40030a 100644 (file)
@@ -2352,6 +2352,7 @@ virFirewallRuleAddArgFormat;
 virFirewallRuleAddArgList;
 virFirewallRuleAddArgSet;
 virFirewallRuleGetArgCount;
+virFirewallRuleToString;
 virFirewallStartRollback;
 virFirewallStartTransaction;
 
index 0a9ba9ad5cb0b1f1eb2a1fc7e8d3c9bbef3bb30d..247430be2ee09b38bb9ab52d9dedfd9ae9028fa7 100644 (file)
@@ -461,14 +461,14 @@ void virFirewallStartRollback(virFirewall *firewall,
 }
 
 
-static char *
-virFirewallRuleToString(virFirewallRule *rule)
+char *
+virFirewallRuleToString(const char *cmd,
+                        virFirewallRule *rule)
 {
-    const char *bin = virFirewallLayerCommandTypeToString(rule->layer);
     g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
     size_t i;
 
-    virBufferAdd(&buf, bin, -1);
+    virBufferAdd(&buf, cmd, -1);
     for (i = 0; i < rule->argsLen; i++) {
         virBufferAddLit(&buf, " ");
         virBufferAdd(&buf, rule->args[i], -1);
@@ -477,6 +477,7 @@ virFirewallRuleToString(virFirewallRule *rule)
     return virBufferContentAndReset(&buf);
 }
 
+
 static int
 virFirewallApplyRuleDirect(virFirewallRule *rule,
                            bool ignoreErrors,
@@ -529,8 +530,10 @@ virFirewallApplyRule(virFirewall *firewall,
                      bool ignoreErrors)
 {
     g_autofree char *output = NULL;
-    g_autofree char *str = virFirewallRuleToString(rule);
     g_auto(GStrv) lines = NULL;
+    g_autofree char *str
+        = virFirewallRuleToString(virFirewallLayerCommandTypeToString(rule->layer), rule);
+
     VIR_INFO("Applying rule '%s'", NULLSTR(str));
 
     if (rule->ignoreErrors)
index 7448825dbc6965de30c0790ffcd789f202e34f45..187748b2bfb91088ba6492fb7b757041746fea36 100644 (file)
@@ -89,6 +89,9 @@ void virFirewallRuleAddArgList(virFirewall *firewall,
 
 size_t virFirewallRuleGetArgCount(virFirewallRule *rule);
 
+char *virFirewallRuleToString(const char *cmd,
+                              virFirewallRule *rule);
+
 typedef enum {
     /* Ignore all errors when applying rules, so no
      * rollback block will be required */