Package Uploading is not respecting "force" and always forces an upload
Based on CRX Package Manager forcing an upload means that it will replace an already uploaded package and it not forced then the upload will fail.

As far as I understand the code the force tag is actually migrating to Package Zip File strict which is does seem wrong.

Anyhow it would be nice if Composum could act like CRX Package Manager or otherwise use a different name.
diff --git a/sling/core/commons/src/main/java/com/composum/sling/core/util/RequestUtil.java b/sling/core/commons/src/main/java/com/composum/sling/core/util/RequestUtil.java
index 8e68c578b..1b2ea5d27 100644
--- a/sling/core/commons/src/main/java/com/composum/sling/core/util/RequestUtil.java
+++ b/sling/core/commons/src/main/java/com/composum/sling/core/util/RequestUtil.java
@@ -143,8 +143,8 @@ public class RequestUtil extends org.apache.sling.api.request.RequestUtil {
     public static Boolean getParameter(SlingHttpServletRequest request, String name, Boolean defaultValue) {
         Boolean result = null;
         String string = request.getParameter(name);
-        if (StringUtils.isNotBlank(string)) {
-            result = Boolean.parseBoolean(string);
+        if (string != null) {
+            result = StringUtils.isBlank(string) || name.equals(string) || Boolean.parseBoolean(string);
         }
         return result != null ? result : defaultValue;
     }
diff --git a/sling/core/pckgmgr/src/main/java/com/composum/sling/core/pckgmgr/PackageServlet.java b/sling/core/pckgmgr/src/main/java/com/composum/sling/core/pckgmgr/PackageServlet.java
index c536daffb..e4c940428 100644
--- a/sling/core/pckgmgr/src/main/java/com/composum/sling/core/pckgmgr/PackageServlet.java
+++ b/sling/core/pckgmgr/src/main/java/com/composum/sling/core/pckgmgr/PackageServlet.java
@@ -479,7 +479,7 @@ public class PackageServlet extends AbstractServiceServlet {
                 boolean force = RequestUtil.getParameter(request, PARAM_FORCE, false);
 
                 JcrPackageManager manager = PackageUtil.createPackageManager(request);
-                JcrPackage jcrPackage = manager.upload(input, true, force);
+                JcrPackage jcrPackage = manager.upload(input, force);
 
                 JsonWriter writer = ResponseUtil.getJsonWriter(response);
                 jsonAnswer(writer, "upload", "successful", manager, jcrPackage);
@@ -752,7 +752,7 @@ public class PackageServlet extends AbstractServiceServlet {
                     boolean force = RequestUtil.getParameter(request, PARAM_FORCE, false);
 
                     JcrPackageManager manager = PackageUtil.createPackageManager(request);
-                    JcrPackage jcrPackage = manager.upload(input, true, force);
+                    JcrPackage jcrPackage = manager.upload(input, force);
 
                     installPackage(request, response, manager, jcrPackage);
 
['sling/core/pckgmgr/src/main/java/com/composum/sling/core/pckgmgr/PackageServlet.java', 'sling/core/commons/src/main/java/com/composum/sling/core/util/RequestUtil.java']