mhr3/unzip-stream

Extract() loses file permissions from zip

Closed this issue · 10 comments

I am using your package to download a release zip file from a GitHub project and extract it without writing the zip file to disk. The zip file on GitHub contains some shell scripts whose permissions are set to 750 in the zip file but following code is resulting in them having 644 permissions (the main issue for me is the lack of the executable bit being set).

const fetch = require('node-fetch');
...
const installFromZip = async (fileUrl, outputPath, proxyAgent) => {
  await fetch(fileUrl, getFetchOptions(proxyAgent)).then(res => {
    res.body.pipe(unzip.Extract({path: outputPath } ));
  });
};

Is there an option available to retain the file permissions when extracting? If not, can it be added?

Taking a slight look,
unzip-stream's entry event occurs on LOCAL_FILE_HEADER decode.
After the event, on CENTRAL_DIRECTORY_FILE_HEADER decode,
it looks finding file attributes (or unixAttrs, in the source).

To let it inform file attributes,
I think entry event should be postponed until CENTRAL_DIRECTORY_FILE_HEADER comes.

Below may work, but not sure it goes well in any case.

--- a/lib/extract.js
+++ b/lib/extract.js
@@ -55,7 +55,9 @@ Extract.prototype._processEntry = function (entry) {
     this.unfinishedEntries++;
 
     var writeFileFn = function() {
-        var pipedStream = fs.createWriteStream(destPath);
+        var pipedStream = fs.createWriteStream(destPath,
+                            entry.unixAttrs == null ? undefined : { mode: entry.unixAttrs }
+                        );
 
         pipedStream.on('close', function() {
             self.unfinishedEntries--;
--- a/lib/unzip-stream.js
+++ b/lib/unzip-stream.js
@@ -49,6 +49,8 @@ function UnzipStream(options) {
     this.skippedBytes = 0;
     this.parsedEntity = null;
     this.outStreamInfo = {};
+
+    this.entryQueue     = new Map();
 }
 
 util.inherits(UnzipStream, stream.Transform);
@@ -191,10 +193,9 @@ UnzipStream.prototype.processDataChunk = function (chunk) {
                 });
                 console.log("decoded LOCAL_FILE_HEADER:", JSON.stringify(debugObj, null, 2));
             }
+            this.entryQueue.set(entry.path, entry);
             this._prepareOutStream(this.parsedEntity, entry);
 
-            this.emit("entry", entry);
-
             this.state = states.FILE_DATA;
 
             return requiredLength;
@@ -216,11 +217,15 @@ UnzipStream.prototype.processDataChunk = function (chunk) {
             }
             this.parsedEntity.extra = extra.parsed;
 
+            var entry  = this.entryQueue.get(path);
             var isUnix = ((this.parsedEntity.versionMadeBy & 0xff00) >> 8) === 3;
             var unixAttrs, isSymlink;
             if (isUnix) {
                 unixAttrs = this.parsedEntity.externalFileAttributes >>> 16;
                 var fileType = unixAttrs >>> 12;
+                if (entry) {
+                    entry.unixAttrs = unixAttrs;
+                }
                 isSymlink = (fileType & 0o12) === 0o12; // __S_IFLNK
             }
             if (this.options.debug) {
@@ -233,6 +238,12 @@ UnzipStream.prototype.processDataChunk = function (chunk) {
                 });
                 console.log("decoded CENTRAL_DIRECTORY_FILE_HEADER:", JSON.stringify(debugObj, null, 2));
             }
+
+            if (entry) {
+                this.emit("entry", entry);
+                this.entryQueue.delete(entry.path);
+            }
+
             this.state = states.START;
 
             return requiredLength;

@KSR-Yasuda thanks. Unfortunately, this code seems to break Extract() (i.e., no directories/files are being written).

It seems that removing the original this.emit(...) statement in the LOCAL_FILE_HEADER_SUFFIX case is causing the CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX case to never be reached. Not sure why...

After some research and learning more about ZIP files, it seems that is is not practical to achieve this since:

  • the externalFileAttributes are only available in the central directory, and
  • the central directory is at the end of the zip file.

Will switch to downloading the file and unzipping the file.

Umm..., it looked working on my environment...
Depends on given ZIP file format or something?

It can be fixed to invoke abandoned entry events after all, though,
as you say, would help nothing with this issue without CENTRAL_DIRECTORY_FILE_HEADER coming...

Try this one: https://github.com/oracle/weblogic-deploy-tooling/releases/latest/download/weblogic-deploy.zip. It is a standard zip file that WinZip and all other known tools support unzipping properly.

I am using Node.js 14.6.0 (newest LTS version) and I can definitely demonstrate that the changes above cause nothing to be written. Not sure why it is happening but added logging statements to understand what was happening. Note the using the same zip file without the repositioned emit works fine except that the file permissions are lost.

From reading https://github.com/thejoshwolfe/yauzl#no-streaming-unzip-api, I gave up on this idea and just downloaded the zip file before unzipping.

@KSR-Yasuda I have created a simple reproducer at https://github.com/rpatrick00/streamUnzip. I intentionally committed the node_modules directory with all of the contents necessary to run the project--including your proposed changes. If you look at the unzip_stream.js file and search for rpatrick00, I have left the original emit point uncommented and the new suggested emit point commented out.

If you run node index.js as-is, it should create a tools subdirectory where the zip file will be extracted. However, you will notice that all of the files in the tools/weblogic-deploy/bin directory have 644 file permissions (they should have 750 file permissions). If you comment out the original emit point and uncomment your new emit point and rerun node index.js), you will find that the tools directory is now empty.

Hope this helps,
Robert

Try this one: https://github.com/oracle/weblogic-deploy-tooling/releases/latest/download/weblogic-deploy.zip. It is a standard zip file that WinZip and all other known tools support unzipping properly.

Surely it doesn't come into CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX with weblogic-deploy.zip in #36 (comment) .

I don't find any infomation that Central directory file header itself is optional, though...
(cf. "The structure of a PKZip file")

With weblogic-deploy.zip,
it is weird that it doesn't get into the cases states.CDIR64_END or states.CENTRAL_DIRECTORY_END either,
that calls this._readEndOfCentralDirectory*(chunk)
(Although they say it must contain end of central directory record).

At least, Central directory is for extra metadata,
so, it would not be necessary for decompressing simple zip files,
and some zip tools may skip it, huh? I'm not familiar with it.

From reading https://github.com/thejoshwolfe/yauzl#no-streaming-unzip-api, I gave up on this idea and just downloaded the zip file before unzipping.

Even if it goes successfully, I admit that my patch will be bad in the point of memory usage, of course.
As you know, it can't output file entry data until the file tail or Central directory comes.

Surely it doesn't come into CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX with weblogic-deploy.zip in #36 (comment) .

But that's the point I was trying to make, it does come into CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX if you leave the emit point in the original location (see output below). Try turning on debug and see for yourself.

There is NOTHING wrong with the zip file itself. Try https://github.com/ajaxorg/ace/archive/refs/tags/v1.4.12.zip instead--it demonstrates the exact same behavior. Do you have an example of a zip file where your patch does work as expected?

As you know, it can't output file entry data until the file tail or Central directory comes.

Well...one possible way around this would be to extract the files as they come and then use the Central directory data to reset the file permissions after the files are written.

rpatrick@rpatrick-mac streamUnzip % node index.js                   
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/etc/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/json/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/yaml/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/exception/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/logging/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/validate/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/targets/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/compare/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/extract/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/modelhelp/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/encrypt/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/typedefs/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/vz/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/k8s/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/wko/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/samples/
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/etc/logging.properties
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/model_context.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/alias_entries.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/jms_resources_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/beaninfo_constants.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/target_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/library_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/k8s_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/common_resources_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/log_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/odl_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/modelhelp/model_kubernetes_printer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/model_help.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/typedefs/WLS.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/k8s/k8s_operator_filter.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/wko/model.yaml
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/wko/wko_operator_filter.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/createDomain.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/deployApps.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/updateDomain.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/credentials.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/topology.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/compare_model.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/model_config.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/cla_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/exception/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/exception/exception_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/logging/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/logging/log_collector.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/validate/validation_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/multi_tenant_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/multi_tenant_topology_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/topology_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/archive_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/resources_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/multi_tenant_resources_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/wldf_resources_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/compare/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/extract/wko_schema_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/encrypt/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/domain_typedef.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/prepare_model.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/typedefs/RestrictedJRF.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/wko/target.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/validateModel.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/prepareModel.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/modelHelp.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/variable_keywords.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/samples/model_variable_injector.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/encrypt.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/weblogic_roles_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/model.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/weblogic_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/yaml/yaml_translator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/alias_jvmargs.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/validate/validator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/common_resources_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/topology_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/wlst_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/extract/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/extract/domain_resource_extractor.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/wlsroles_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/validate.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/vz/vz_filter.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/deployApps.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/encryptModel.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/createDomain.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/host.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/LICENSE.txt
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/update.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/cla_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/path_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/wlst_modes.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/location_context.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/alias_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/coherence_resources_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/resources_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/targeting_types.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/mbean_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/jms_resources_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/model_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/compare/model_comparer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/creator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/validateModel.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/deploy.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/getcreds.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/string_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/model_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/json/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/yaml/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/validation_codes.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/model_constants.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/validate/validator_logger.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/custom_folder_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/targets/file_template_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/rcu_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/string_output_stream.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/variable_injector.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/topology_updater.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/encrypt/encryption_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/custom_folder_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/vz/target.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/discoverDomain.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/modelHelp.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/shared.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/compareModel.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/compareModel.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/injectVariables.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/port.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/create.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/model_translator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/tool_exit.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/json/json_translator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/aliases.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/multi_tenant_resources_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/deployments_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/attribute_setter.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/variable_injector_functions.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/applications_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/rcudbinfo_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/domain_creator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/updateDomain.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/extractDomainResource.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/discoverDomain.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/url.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/weblogic-deploy-core.jar
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/extract_resource.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/variables.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/target_configuration.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/enum.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/password_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/exception/expection_types.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/logging/platform_logger.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/global_resources_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/domain_info_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/targets/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/targets/additional_output_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/credential_map_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/datasource_deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/deployer_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/modelhelp/model_help_printer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/atp_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/variable_inject.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/typedefs/JRF.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/k8s/target.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/extractDomainResource.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/prepareModel.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/shared.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/injectors/target.json
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/VERSION.txt
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/antlr4-runtime-4.7.2.jar
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/discover.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/target_configuration_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/util/dictionary_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/flattened_folder.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/aliases/alias_constants.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/validate/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/validate/kubernetes_validator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/custom_discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/discover/discoverer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/model_context_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/filter_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/util/credential_injector.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/deployer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/deploy/applications_version_helper.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/modelhelp/__init__.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/modelhelp/model_help_utils.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/modelhelp/model_sample_printer.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/python/wlsdeploy/tool/create/security_provider_creator.py
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/targets/vz/application.yaml
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/injectVariables.cmd
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/bin/encryptModel.sh
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/lib/tool.properties
In states.CENTRAL_DIRECTORY_FILE_HEADER
In states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX for path weblogic-deploy/samples/custom_injector.json
In states.CENTRAL_DIRECTORY_END
WebLogic Deploy Tooling installed successfully
rpatrick@rpatrick-mac streamUnzip % 

Well...one possible way around this would be to extract the files as they come and then use the Central directory data to reset the file permissions after the files are written.

Roughly, like this? (not checked in detail)

Yes, roughly something like this. You may need to protect the code from trying to execute methods that do not work on Windows.