Go to file
Tatsuhiro Tsujikawa ebf315e6f3 OpenSSL: Made cert hostname check conform to RFC 6125
This change replaces RFC 2818 based hostname check in OpenSSL build with
RFC 6125 [1] based one.

The hostname check in RFC 2818 is ambiguous and each project implements
it in the their own way and they are slightly different. I check curl,
gnutls, Firefox and Chrome and they are all different.

I don't think there is a bug in current implementation of hostname
check. But it is not as strict as the modern browsers do. Currently,
curl allows multiple wildcard character '*' and it matches '.'. (as
described in the comment in ssluse.c).

Firefox implementation is also based on RFC 2818 but it only allows at
most one wildcard character and it must be in the left-most label in the
pattern and the wildcard must not be followed by any character in the
label.[2] Chromium implementation is based on RFC 6125 as my patch does.
Firefox and Chromium both require wildcard in the left-most label in the
presented identifier.

This patch is more strict than the current implementation, so there may
be some cases where old curl works but new one does not. But at the same
time I think it is good practice to follow the modern browsers do and
follow the newer RFC.

[1] http://tools.ietf.org/html/rfc6125#section-6.4.3
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=159483
2012-04-01 20:10:37 +02:00
CMake removed execute file permission 2011-12-30 03:53:25 +01:00
docs DOCS: Added information regarding POP3 commands to CURLOPT_CUSTOMREQUEST 2012-03-31 18:50:04 +01:00
include version: start working on 7.25.1-DEV 2012-03-23 16:59:03 +01:00
lib OpenSSL: Made cert hostname check conform to RFC 6125 2012-04-01 20:10:37 +02:00
m4 curl-functions.m4: update detection logic of getaddrinfo() thread-safeness 2012-03-28 18:48:38 +02:00
packages build: remove tool_cb_skt.[ch] references 2012-03-18 05:35:30 +01:00
perl removed trailing whitespace 2011-12-30 03:36:18 +01:00
src tool_cb_dbg.c: fix tool_cb_dbg() to behave properly even for size 0 2012-03-27 22:16:25 +02:00
tests HTTP: reset expected DL/UL sizes on redirects 2012-04-01 00:07:24 +02:00
winbuild - fix IPV6 and IDN options 2012-01-26 16:39:26 +01:00
.gitattributes
.gitignore
acinclude.m4
Android.mk curl has been built on many Android versions 2011-11-16 17:11:31 -08:00
buildconf buildconf: minor tweaks commit 430527a1 follow-up 2011-12-23 17:45:42 +01:00
buildconf.bat
CHANGES
CHANGES.0 removed trailing whitespace 2011-12-30 03:36:18 +01:00
CMakeLists.txt CMakeLists.txt: fix Windows LDAP/LDAPS option handling 2012-03-30 19:03:12 +02:00
configure.ac configure: check for gethostbyname in the watt lib 2012-03-22 23:33:33 +01:00
COPYING
CTestConfig.cmake
curl-config.in curl-config: only provide libraries with --libs 2012-03-08 20:55:03 +01:00
curl-style.el
GIT-INFO
install-sh
libcurl.pc.in
log2changes.pl removed trailing whitespace 2011-12-30 03:36:18 +01:00
MacOSX-Framework
Makefile.am configure: add symbols versioning option 2011-12-19 23:25:36 +01:00
Makefile.dist
Makefile.msvc.names
maketgz curl tool: reviewed code moved to tool_*.[ch] files 2011-10-06 17:39:00 +02:00
missing
mkinstalldirs
README
RELEASE-NOTES version: start working on 7.25.1-DEV 2012-03-23 16:59:03 +01:00
sample.emacs
TODO-RELEASE TODO-RELEASE: added item #308 2012-01-25 23:35:42 +01:00
vc6curl.dsw

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

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 http://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:

        http://curl.haxx.se/

GIT

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

    git clone git://github.com/bagder/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.