Go to file
Jay Satiro 4520534e6d tool_doswin: Improve sanitization processing
- Add unit test 1604 to test the sanitize_file_name function.

- Use -DCURL_STATICLIB when building libcurltool for unit testing.

- Better detection of reserved DOS device names.

- New flags to modify sanitize behavior:

SANITIZE_ALLOW_COLONS: Allow colons
SANITIZE_ALLOW_PATH: Allow path separators and colons
SANITIZE_ALLOW_RESERVED: Allow reserved device names
SANITIZE_ALLOW_TRUNCATE: Allow truncating a long filename

- Restore sanitization of banned characters from user-specified outfile.

Prior to this commit sanitization of a user-specified outfile was
temporarily disabled in 2b6dadc because there was no way to allow path
separators and colons through while replacing other banned characters.
Now in such a case we call the sanitize function with
SANITIZE_ALLOW_PATH which allows path separators and colons to pass
through.


Closes https://github.com/curl/curl/issues/624
Reported-by: Octavio Schroeder
2016-02-05 01:44:27 -05:00
CMake URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
docs URLs: change more http to https 2016-02-04 18:46:54 -05:00
include URLs: Change more haxx.se URLs from http: to https: 2016-02-03 01:45:21 +01:00
lib URLs: change more http to https 2016-02-04 18:46:54 -05:00
m4 URLs: Change more haxx.se URLs from http: to https: 2016-02-03 01:45:21 +01:00
packages URLs: Change more haxx.se URLs from http: to https: 2016-02-03 01:45:21 +01:00
projects URLs: change more http to https 2016-02-04 18:46:54 -05:00
scripts URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
src tool_doswin: Improve sanitization processing 2016-02-05 01:44:27 -05:00
tests tool_doswin: Improve sanitization processing 2016-02-05 01:44:27 -05:00
winbuild URLs: change more http to https 2016-02-02 22:29:47 -05:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes Tell git to not convert configure-related files. 2012-07-17 20:35:23 +02:00
.gitignore build: Install zsh completion 2015-11-24 22:22:01 +01:00
.travis.yml travis.yml: Add OS X testbot. 2015-08-21 12:48:52 +02:00
CHANGES URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
CHANGES.0 URLs: change more http to https 2016-02-04 18:46:54 -05:00
CMakeLists.txt URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
CONTRIBUTING.md HTTPS: update a bunch of URLs from HTTP to HTTPS 2016-02-02 00:24:30 +01:00
COPYING COPYING: update general copyright year range 2016-01-07 00:11:16 +01:00
CTestConfig.cmake ENH: move dashboard location 2009-07-15 19:40:46 +00:00
GIT-INFO curl tool: renaming hugehelp files to tool_hugehelp 2012-12-26 23:30:54 +01:00
MacOSX-Framework MacOSX-Framework: sdk regex fix for sdk 10.10 and later 2015-10-25 12:35:49 +01:00
Makefile.am URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Makefile.dist URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
README URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
RELEASE-NOTES URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
acinclude.m4 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
appveyor.yml AppVeyor: updated to handle OpenSSL/WinSSL builds 2016-02-01 23:55:08 +01:00
buildconf URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
buildconf.bat URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
configure.ac URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl-config.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
maketgz URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00

README

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

README

  Curl is a command line tool for transferring data specified with URL
  syntax. Find out how to use curl by reading the curl.1 man page or the
  MANUAL document. Find out how to install Curl by reading the INSTALL
  document.

  libcurl is the library curl is using to do its job. It is readily
  available to be used by your software. Read the libcurl.3 man page to
  learn how!

  You find answers to the most frequent questions we get in the FAQ document.

  Study the COPYING file for distribution terms and similar. If you distribute
  curl binaries or other binaries that involve libcurl, you might enjoy the
  LICENSE-MIXING document.

CONTACT

  If you have problems, questions, ideas or suggestions, please contact us
  by posting to a suitable mailing list. See https://curl.haxx.se/mail/

  All contributors to the project are listed in the THANKS document.

WEB SITE

  Visit the curl web site for the latest news and downloads:

        https://curl.haxx.se/

GIT

  To download the very latest source off the GIT server do this:

    git clone https://github.com/curl/curl.git

  (you'll get a directory named curl created, filled with the source code)

NOTICE

  Curl contains pieces of source code that is Copyright (c) 1998, 1999
  Kungliga Tekniska Högskolan. This notice is included here to comply with the
  distribution terms.