Skip to content

Determine way to deal with OS specific path names in ESAPI.properties #473

Open
@kwwall

Description

@kwwall

There are at least these 2 properties in the ESAPI.properties file that are OS-specific path names:

# Default file upload location (remember to escape backslashes with \\)
HttpUtilities.UploadDir=C:\\ESAPI\\testUpload
HttpUtilities.UploadTempDir=C:\\temp

(There as also these specific properties, but their defaults have been removed:

Executor.WorkingDirectory=
Executor.ApprovedExecutables=

as they refer generally refer to full path names, but must be explicitly set if they need to be used.)

Ideally, we ESAPI should determine the OS at runtime using the System property os.name and then use that to construct appropriate path names. That would allow us to chose an ESAPI property for Windows and for *nix / MacOS and choose the appropriate one at runtime.

For example, rather than:

HttpUtilities.UploadTempDir=C:\\temp

we might use:

HttpUtilities.UploadTempDir.windows=C:\\temp
HttpUtilities.UploadTempDir.unix=/tmp

and from that, choose the appropriate HttpUtilities.UploadTempDir at runtime, but it would allow ESAPI to still provide reasonable default settings for each.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions