6.5 cleanup commit
diff --git a/config.h.in b/config.h.in
index 9c5e110..6b1f924 100644
--- a/config.h.in
+++ b/config.h.in
@@ -37,6 +37,9 @@
 /* The number of bytes in a long long.  */
 #undef SIZEOF_LONG_LONG
 
+/* Define if you have the RAND_status function.  */
+#undef HAVE_RAND_STATUS
+
 /* Define if you have the closesocket function.  */
 #undef HAVE_CLOSESOCKET
 
@@ -67,6 +70,9 @@
 /* Define if you have the select function.  */
 #undef HAVE_SELECT
 
+/* Define if you have the setvbuf function.  */
+#undef HAVE_SETVBUF
+
 /* Define if you have the socket function.  */
 #undef HAVE_SOCKET
 
diff --git a/configure.in b/configure.in
index ad6eb59..5a76508 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(lib/urldata.h)
 AM_CONFIG_HEADER(config.h src/config.h)
-AM_INIT_AUTOMAKE(curl,"6.5pre2")
+AM_INIT_AUTOMAKE(curl,"6.5")
 
 dnl Checks for programs.
 AC_PROG_CC
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 192c51f..6533a57 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -418,7 +418,7 @@
 char *curl_version(void);
 
 /* This is the version number */
-#define LIBCURL_VERSION "6.5pre1"
+#define LIBCURL_VERSION "6.5"
 
 /* linked-list structure for QUOTE */
 struct curl_slist {
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 707e622..2b6f6c6 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -81,7 +81,7 @@
 
 INCLUDES = -I$(top_srcdir)/include
 
-libcurl_a_SOURCES =  arpa_telnet.h  file.c         getpass.h      netrc.h        timeval.c base64.c       file.h         hostip.c       progress.c     timeval.h base64.h       formdata.c     hostip.h       progress.h     cookie.c       formdata.h     http.c         sendf.c        cookie.h       ftp.c          http.h         sendf.h        url.c dict.c         ftp.h          if2ip.c        speedcheck.c   url.h dict.h         getdate.c      if2ip.h        speedcheck.h   urldata.h download.c     getdate.h      ldap.c         ssluse.c       version.c download.h     getenv.c       ldap.h         ssluse.h       escape.c       getenv.h       mprintf.c      telnet.c       escape.h       getpass.c      netrc.c        telnet.h       
+libcurl_a_SOURCES =  arpa_telnet.h  file.c         getpass.h      netrc.h        timeval.c base64.c       file.h         hostip.c       progress.c     timeval.h base64.h       formdata.c     hostip.h       progress.h     cookie.c       formdata.h     http.c         sendf.c        cookie.h       ftp.c          http.h         sendf.h        url.c dict.c         ftp.h          if2ip.c        speedcheck.c   url.h dict.h         getdate.c      if2ip.h        speedcheck.h   urldata.h download.c     getdate.h      ldap.c         ssluse.c       version.c download.h     getenv.c       ldap.h         ssluse.h       escape.c       getenv.h       mprintf.c      telnet.c       escape.h       getpass.c      netrc.c        telnet.h       writeout.c writeout.h
 
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../config.h ../src/config.h
@@ -97,7 +97,7 @@
 libcurl_a_OBJECTS =  file.o timeval.o base64.o hostip.o progress.o \
 formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \
 speedcheck.o getdate.o download.o ldap.o ssluse.o version.o getenv.o \
-escape.o mprintf.o telnet.o getpass.o netrc.o
+escape.o mprintf.o telnet.o getpass.o netrc.o writeout.o
 AR = ar
 COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
diff --git a/src/config.h.in b/src/config.h.in
index 2e210ed..3250e18 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -10,3 +10,6 @@
 
 /* Define if you have the <io.h> header file.  */
 #undef HAVE_IO_H
+
+/* Define if you have strdup() */
+#undef HAVE_STRDUP
diff --git a/src/hugehelp.c b/src/hugehelp.c
index 5332776..04783b8 100644
--- a/src/hugehelp.c
+++ b/src/hugehelp.c
@@ -75,49 +75,59 @@
 "          format of the file to read cookies from should be plain\n"
 "          HTTP headers or the netscape cookie file format.\n"
 "\n"
+"          NOTE that the file specified with -b/--cookie  is  only\n"
+"          used  as  input. No cookies will be stored in the file.\n"
+"          To store cookies, save the HTTP headers to a file using\n"
+"          -D/--dump-header!\n"
+"\n"
 "     -B/--ftp-ascii\n"
-"          (FTP/LDAP) Use ASCII transfer when getting an FTP  file\n"
-"          or  LDAP  info.  For  FTP, this can also be enforced by\n"
+"          (FTP/LDAP)  Use ASCII transfer when getting an FTP file\n"
+"          or LDAP info. For FTP, this can  also  be  enforced  by\n"
 "          using an URL that ends with \";type=A\".\n"
 "\n"
 "     -c/--continue\n"
-"          Continue/Resume  a   previous   file   transfer.   This\n"
-"          instructs  curl  to continue appending data on the file\n"
-"          where it was previously left,  possibly  because  of  a\n"
-"          broken  connection to the server. There must be a named\n"
-"          physical file to append to for  this  to  work.   Note:\n"
-"          Upload  resume  is depening on a command named SIZE not\n"
+"          Continue/Resume   a   previous   file   transfer.  This\n"
+"          instructs curl to continue appending data on  the  file\n"
+"          where  it  was  previously  left, possibly because of a\n"
+"          broken connection to the server. There must be a  named\n"
+"          physical  file  to  append  to for this to work.  Note:\n"
+"          Upload resume is depening on a command named  SIZE  not\n"
 "          always present in all ftp servers! Upload resume is for\n"
-"          FTP  only.   HTTP resume is only possible with HTTP/1.1\n"
+"          FTP only.  HTTP resume is only possible  with  HTTP/1.1\n"
 "          or later servers.\n"
 "\n"
 "     -C/--continue-at <offset>\n"
-"          Continue/Resume a previous file transfer at  the  given\n"
-"          offset.  The  given offset is the exact number of bytes\n"
-"          that will be skipped counted from the beginning of  the\n"
+"          Continue/Resume  a  previous file transfer at the given\n"
+"          offset. The given offset is the exact number  of  bytes\n"
+"          that  will be skipped counted from the beginning of the\n"
 "          source file before it is transfered to the destination.\n"
-"          If used with uploads, the ftp server command SIZE  will\n"
-"          not  be  used  by  curl. Upload resume is for FTP only.\n"
-"          HTTP resume is only possible  with  HTTP/1.1  or  later\n"
+"          If  used with uploads, the ftp server command SIZE will\n"
+"          not be used by curl. Upload resume  is  for  FTP  only.\n"
+"          HTTP  resume  is  only  possible with HTTP/1.1 or later\n"
 "          servers.\n"
 "\n"
 "     -d/--data <data>\n"
-"          (HTTP)  Sends  the  specified data in a POST request to\n"
-"          the HTTP server. Note that the data is sent exactly  as\n"
+"          (HTTP) Sends the specified data in a  POST  request  to\n"
+"          the  HTTP server. Note that the data is sent exactly as\n"
 "          specified  with  no  extra  processing.   The  data  is\n"
-"          expected to be \"url-encoded\". This will cause  curl  to\n"
-"          pass  the  data  to  the  server using the content-type\n"
+"          expected  to  be \"url-encoded\". This will cause curl to\n"
+"          pass the data to  the  server  using  the  content-type\n"
 "          application/x-www-form-urlencoded. Compare to -F.\n"
 "\n"
-"          If you start the data  with  the  letter  @,  the  rest\n"
-"          should  be  a  file name to read the data from, or - if\n"
-"          you want curl to read the data from  stdin.   The  con­\n"
+"          If  you  start  the  data  with  the letter @, the rest\n"
+"          should be a file name to read the data from,  or  -  if\n"
+"          you  want  curl  to read the data from stdin.  The con­\n"
 "          tents of the file must already be url-encoded.\n"
 "\n"
 "     -D/--dump-header <file>\n"
-"          (HTTP/FTP)  Write  the HTTP headers to this file. Write\n"
+"          (HTTP/FTP) Write the HTTP headers to this  file.  Write\n"
 "          the FTP file info to this file if -I/--head is used.\n"
 "\n"
+"          This  option is handy to use when you want to store the\n"
+"          cookies that a HTTP site  sends  to  you.  The  cookies\n"
+"          could then be read in a second curl invoke by using the\n"
+"          -b/--cookie option!\n"
+"\n"
 "     -e/--referer <URL>\n"
 "          (HTTP) Sends the \"Referer Page\" information to the HTTP\n"
 "          server. Some badly done CGIs fail if it's not set. This\n"
@@ -153,7 +163,6 @@
 "          /etc/passwd will be the input:\n"
 "\n"
 "          curl -F password=@/etc/passwd www.mypasswords.com\n"
-"\n"
 "          To read the file's content from stdin insted of a file,\n"
 "          use - where the file name should've been.\n"
 "\n"
@@ -214,6 +223,7 @@
 "          jobs  from  hanging  for  hours due to slow networks or\n"
 "          links going down.  This doesn't work properly in  win32\n"
 "          systems.\n"
+"\n"
 "     -M/--manual\n"
 "          Manual. Display the huge help text.\n"
 "\n"
@@ -233,11 +243,19 @@
 "\n"
 "          machine host.domain.com user myself password secret\n"
 "\n"
+"     -N/--no-buffer\n"
+"          Disables the buffering of the output stream. In  normal\n"
+"          work situations, curl will use a standard buffered out­\n"
+"          put stream that will have the effect that it will  out­\n"
+"          put  the  data  in chunks, not necessarily exactly when\n"
+"          the data arrives.  Using this option will disable  that\n"
+"          buffering.\n"
+"\n"
 "     -o/--output <file>\n"
-"          Write output to <file> instead of stdout.  If  you  are\n"
+"          Write  output  to  <file> instead of stdout. If you are\n"
 "          using {} or [] to fetch multiple documents, you can use\n"
-"          #<num> in the <file> specifier. That variable  will  be\n"
-"          replaced  with  the  current  string  for the URL being\n"
+"          #[num]  in  the <file> specifier. That variable will be\n"
+"          replaced with the current  string  for  the  URL  being\n"
 "          fetched. Like in:\n"
 "\n"
 "            curl http://{one,two}.site.com -o \"file_#1.txt\"\n"
@@ -252,61 +270,71 @@
 "          the path is cut off.)\n"
 "\n"
 "     -P/--ftpport <address>\n"
-"          (FTP) Reverses the initiator/listenor roles  when  con­\n"
-"          necting  with  ftp. This switch makes Curl use the PORT\n"
-"          command instead of PASV. In practice,  PORT  tells  the\n"
+"          (FTP)  Reverses  the initiator/listener roles when con­\n"
+"          necting with ftp. This switch makes Curl use  the  PORT\n"
+"          command  instead  of  PASV. In practice, PORT tells the\n"
 "          server to connect to the client's specified address and\n"
-"          port, while PASV asks the server for an ip address  and\n"
+"          port,  while PASV asks the server for an ip address and\n"
 "          port to connect to. <address> should be one of:\n"
-"           interface - i.e \"eth0\" to specify which interface's IP\n"
-"          address you want to use  (Unix only)\n"
-"           IP address - i.e \"192.168.10.1\" to  specify  exact  IP\n"
-"          number\n"
-"           host name - i.e \"my.host.domain\" to specify machine\n"
-"           \"-\"       - (any single-letter string) to make it pick\n"
-"          the machine's default\n"
+"\n"
+"          interface   i.e \"eth0\" to specify which interface's  IP\n"
+"                      address you want to use  (Unix only)\n"
+"\n"
+"          IP address  i.e \"192.168.10.1\" to specify exact IP num­\n"
+"                      ber\n"
+"\n"
+"          host name   i.e \"my.host.domain\" to specify machine\n"
+"\n"
+"          -           (any single-letter string) to make it  pick\n"
+"                      the machine's default\n"
+"\n"
 "     -q   If used as the first parameter on the command line, the\n"
-"          $HOME/.curlrc  file will not be read and used as a con­\n"
+"          $HOME/.curlrc file will not be read and used as a  con­\n"
 "          fig file.\n"
 "\n"
 "     -Q/--quote <comand>\n"
-"          (FTP) Send an  arbitrary  command  to  the  remote  FTP\n"
-"          server,  by  using the QUOTE command of the server. Not\n"
-"          all servers support this command, and the set of  QUOTE\n"
-"          commands  are  server specific! Quote commands are sent\n"
-"          BEFORE the transfer is taking place. To  make  commands\n"
-"          take  place  after  a  successful transfer, prefix them\n"
+"          (FTP)  Send  an  arbitrary  command  to  the remote FTP\n"
+"          server, by using the QUOTE command of the  server.  Not\n"
+"          all  servers support this command, and the set of QUOTE\n"
+"          commands are server specific! Quote commands  are  sent\n"
+"          BEFORE  the  transfer is taking place. To make commands\n"
+"          take place after a  successful  transfer,  prefix  them\n"
 "          with a dash '-'. You may specify any amount of commands\n"
-"          to  be run before and after the transfer. If the server\n"
-"          returns failure for one of  the  commands,  the  entire\n"
+"          to be run before and after the transfer. If the  server\n"
+"          returns  failure  for  one  of the commands, the entire\n"
 "          operation will be aborted.\n"
 "\n"
 "     -r/--range <range>\n"
-"          (HTTP/FTP)  Retrieve  a byte range (i.e a partial docu­\n"
-"          ment) from a HTTP/1.1 or  FTP  server.  Ranges  can  be\n"
+"          (HTTP/FTP) Retrieve a byte range (i.e a  partial  docu­\n"
+"          ment)  from  a  HTTP/1.1  or  FTP server. Ranges can be\n"
 "          specified in a number of ways.\n"
-"           0-499           - specifies the first 500 bytes\n"
-"           500-999         - specifies the second 500 bytes\n"
-"           -500            - specifies the last 500 bytes\n"
-"           9500-           - specifies the bytes from offset 9500\n"
-"          and forward\n"
-"           0-0,-1          - specifies the first  and  last  byte\n"
-"          only(*)(H)\n"
-"           500-700,600-799  -  specifies  300  bytes  from offset\n"
-"          500(H)\n"
-"           100-199,500-599 - specifies  two  separate  100  bytes\n"
-"          ranges(*)(H)\n"
 "\n"
-"          (*)  =  NOTE  that  this will cause the server to reply\n"
-"          with a multipart response!\n"
+"          0-499     specifies the first 500 bytes\n"
 "\n"
-"          You should also be aware that many HTTP/1.1 servers  do\n"
-"          not have this feature enabled, so that when you attempt\n"
-"          to get a range, you'll instead get the whole  document.\n"
+"          500-999   specifies the second 500 bytes\n"
 "\n"
-"          FTP  range  downloads  only  support  the simple syntax\n"
-"          'start-stop' (optionally with one of the numbers  omit­\n"
-"          ted). It depends on the non-RFC command SIZE.\n"
+"          -500      specifies the last 500 bytes\n"
+"\n"
+"          9500      specifies the bytes from offset 9500 and for­\n"
+"                    ward\n"
+"\n"
+"          0-0,-1    specifies the first and last byte only(*)(H)\n"
+"          500-700,600-799\n"
+"                    specifies 300 bytes from offset 500(H)\n"
+"\n"
+"          100-199,500-599\n"
+"                    specifies two separate 100 bytes ranges(*)(H)\n"
+"\n"
+"     (*) = NOTE that this will cause the server to reply  with  a\n"
+"     multipart response!\n"
+"\n"
+"     You  should  also be aware that many HTTP/1.1 servers do not\n"
+"     have this feature enabled, so that when you attempt to get a\n"
+"     range, you'll instead get the whole document.\n"
+"\n"
+"     FTP  range  downloads only support the simple syntax 'start-\n"
+"     stop' (optionally with  one  of  the  numbers  omitted).  It\n"
+"     depends on the non-RFC command SIZE.\n"
 "\n"
 "     -s/--silent\n"
 "          Silent  mode.  Don't  show progress meter or error mes­\n"
@@ -343,7 +371,6 @@
 "          Specify  user and password to use for Proxy authentica­\n"
 "          tion. If no password is specified, curl will ask for it\n"
 "          interactively.\n"
-"\n"
 "     -v/--verbose\n"
 "          Makes   the  fetching  more  verbose/talkative.  Mostly\n"
 "          usable for debugging. Lines  starting  with  '>'  means\n"
@@ -355,6 +382,66 @@
 "          Displays  the  full  version of curl, libcurl and other\n"
 "          3rd party libraries linked with the executable.\n"
 "\n"
+"     -w/--write-out <format>\n"
+"          Defines what to display after a completed and  success­\n"
+"          ful  operation. The format is a string that may contain\n"
+"          plain text mixed with  any  number  of  variables.  The\n"
+"          string can be specified as \"string\", to get read from a\n"
+"          particular file you specify it \"@filename\" and to  tell\n"
+"          curl to read the format from stdin you write \"@-\".\n"
+"\n"
+"          The variables present in the output format will be sub­\n"
+"          stituted by the value or text that curl thinks fit,  as\n"
+"          described  below.  All  variables  are  specified  like\n"
+"          %{variable_name} and to output  a  normal  %  you  just\n"
+"          write  them  like %%. You can output a newline by using\n"
+"          \\n, a carrige return with \\r and a tab space with \\t.\n"
+"\n"
+"          NOTE:  The  %-letter  is  a  special  letter   in   the\n"
+"          win32-environment,  where  all occurrences of % must be\n"
+"          doubled when using this option.\n"
+"\n"
+"          Available variables are at this point:\n"
+"\n"
+"          url_effective  The URL that was fetched last.  This  is\n"
+"                         mostly meaningful if you've told curl to\n"
+"                         follow location: headers.\n"
+"\n"
+"          http_code      The numerical code that was found in the\n"
+"                         last retrieved HTTP(S) page.\n"
+"\n"
+"          time_total     The  total  time,  in  seconds, that the\n"
+"                         full operation lasted. The time will  be\n"
+"                         displayed with millisecond resolution.\n"
+"\n"
+"          time_namelookup\n"
+"                         The  time,  in seconds, it took from the\n"
+"                         start until the name resolving was  com­\n"
+"                         pleted.\n"
+"\n"
+"          time_connect   The  time,  in seconds, it took from the\n"
+"                         start until the connect  to  the  remote\n"
+"                         host (or proxy) was completed.\n"
+"          time_pretransfer\n"
+"                         The  time,  in seconds, it took from the\n"
+"                         start until the file  transfer  is  just\n"
+"                         about  to  begin. This includes all pre-\n"
+"                         transfer commands and negotiations  that\n"
+"                         are  specific  to  the particular proto­\n"
+"                         col(s) involved.\n"
+"\n"
+"          size_download  The total  amount  of  bytes  that  were\n"
+"                         downloaded.\n"
+"\n"
+"          size_upload    The  total  amount  of  bytes  that were\n"
+"                         uploaded.\n"
+"\n"
+"          speed_download The average  download  speed  that  curl\n"
+"                         measured for the complete download.\n"
+"\n"
+"          speed_upload   The  average upload speed that curl mea­\n"
+"                         sured for the complete download.\n"
+"\n"
 "     -x/--proxy <proxyhost[:port]>\n"
 "          Use specified proxy. If the port number is  not  speci­\n"
 "          fied, it is assumed at port 1080.\n"
@@ -368,29 +455,27 @@
 "          (FTP) Specifies a custom FTP command to use instead  of\n"
 "          LIST when doing file lists with ftp.\n"
 "\n"
-"     -y/--speed-time <speed>\n"
-"          Speed  Limit.  If  a download is slower than this given\n"
-"          speed, in bytes per second, for Speed Time  seconds  it\n"
-"          gets  aborted.  Speed  Time is set with -Y and is 30 if\n"
-"          not set.\n"
+"     -y/--speed-time <time>\n"
+"          If a download is slower than speed-limit bytes per sec­\n"
+"          ond during  a  speed-time  period,  the  download  gets\n"
+"          aborted. If speed-time is used, the default speed-limit\n"
+"          will be 1 unless set with -y.\n"
 "\n"
-"     -Y/--speed-limit <time>\n"
-"          Speed Time. If a download is slower  than  Speed  Limit\n"
-"          bytes  per second during a Speed Time period, the down­\n"
-"          load gets aborted. If Speed Time is used,  the  default\n"
-"          Speed Limit will be 1 unless set with -y.\n"
+"     -Y/--speed-limit <speed>\n"
+"          If a download is slower than this given speed, in bytes\n"
+"          per  second,  for  speed-time  seconds it gets aborted.\n"
+"          speed-time is set with -Y and is 30 if not set.\n"
 "\n"
 "     -z/--time-cond <date expression>\n"
-"          (HTTP)  Request  to  get  a file that has been modified\n"
-"          later than the given time and date,  or  one  that  has\n"
+"          (HTTP) Request to get a file  that  has  been  modified\n"
+"          later  than  the  given  time and date, or one that has\n"
 "          been modified before that time. The date expression can\n"
 "          be all sorts of date strings or if it doesn't match any\n"
-"          internal  ones,  it  tries to get the time from a given\n"
-"          file name instead! See the GNU  date(1)  man  page  for\n"
+"          internal ones, it tries to get the time  from  a  given\n"
+"          file  name  instead!  See  the GNU date(1) man page for\n"
 "          date expression details.\n"
-"\n"
-"          Start  the  date  expression with a dash (-) to make it\n"
-"          request for a document that is  older  than  the  given\n"
+"          Start the date expression with a dash (-)  to  make  it\n"
+"          request  for  a  document  that is older than the given\n"
 "          date/time, default is a document that is newer than the\n"
 "          specified date/time.\n"
 "\n"
@@ -403,15 +488,15 @@
 "          ing with a remote SSL server.\n"
 "\n"
 "     -#/--progress-bar\n"
-"          Make curl display progress information  as  a  progress\n"
+"          Make  curl  display  progress information as a progress\n"
 "          bar instead of the default statistics.\n"
 "\n"
 "     --crlf\n"
-"          (FTP)  Convert  LF  to  CRLF  in upload. Useful for MVS\n"
+"          (FTP) Convert LF to CRLF  in  upload.  Useful  for  MVS\n"
 "          (OS/390).\n"
 "\n"
 "     --stderr <file>\n"
-"          Redirect all writes to stderr  to  the  specified  file\n"
+"          Redirect  all  writes  to  stderr to the specified file\n"
 "          instead. If the file name is a plain '-', it is instead\n"
 "          written to stdout. This option has no point when you're\n"
 "          using a shell with decent redirecting capabilities.\n"
@@ -419,6 +504,7 @@
 "FILES\n"
 "     ~/.curlrc\n"
 "          Default config file.\n"
+"\n"
 "ENVIRONMENT\n"
 "     HTTP_PROXY [protocol://]<host>[:port]\n"
 "          Sets proxy server to use for HTTP.\n"
@@ -433,20 +519,19 @@
 "          Sets proxy server to use for GOPHER.\n"
 "\n"
 "     ALL_PROXY [protocol://]<host>[:port]\n"
-"          Sets  proxy server to use if no protocol-specific proxy\n"
+"          Sets proxy server to use if no protocol-specific  proxy\n"
 "          is set.\n"
 "\n"
 "     NO_PROXY <comma-separated list of hosts>\n"
 "          list of host names that shouldn't go through any proxy.\n"
 "          If set to a asterisk '*' only, it matches all hosts.\n"
-"\n"
 "     COLUMNS <integer>\n"
-"          The  width of the terminal.  This variable only affects\n"
+"          The width of the terminal.  This variable only  affects\n"
 "          curl when the --progress-bar option is used.\n"
 "\n"
 "EXIT CODES\n"
 "     There exists a bunch of different error codes and their cor­\n"
-"     responding  error messages that may appear during bad condi­\n"
+"     responding error messages that may appear during bad  condi­\n"
 "     tions. At the time of this writing, the exit codes are:\n"
 "\n"
 "     1    Unsupported protocol. This build of curl has no support\n"
@@ -456,42 +541,42 @@
 "\n"
 "     3    URL malformat. The syntax was not correct.\n"
 "\n"
-"     4    URL  user malformatted. The user-part of the URL syntax\n"
+"     4    URL user malformatted. The user-part of the URL  syntax\n"
 "          was not correct.\n"
 "\n"
-"     5    Couldn't resolve proxy. The given proxy host could  not\n"
+"     5    Couldn't  resolve proxy. The given proxy host could not\n"
 "          be resolved.\n"
 "\n"
-"     6    Couldn't  resolve  host.  The given remote host was not\n"
+"     6    Couldn't resolve host. The given remote  host  was  not\n"
 "          resolved.\n"
 "\n"
 "     7    Failed to connect to host.\n"
 "\n"
-"     8    FTP weird server  reply.  The  server  sent  data  curl\n"
+"     8    FTP  weird  server  reply.  The  server  sent data curl\n"
 "          couldn't parse.\n"
 "\n"
 "     9    FTP access denied. The server denied login.\n"
-"     10   FTP  user/password  incorrect.  Either one or both were\n"
+"\n"
+"     10   FTP user/password incorrect. Either one  or  both  were\n"
 "          not accepted by the server.\n"
 "\n"
-"     11   FTP weird PASS reply. Curl  couldn't  parse  the  reply\n"
+"     11   FTP  weird  PASS  reply.  Curl couldn't parse the reply\n"
 "          sent to the PASS request.\n"
 "\n"
-"     12   FTP  weird  USER  reply.  Curl couldn't parse the reply\n"
+"     12   FTP weird USER reply. Curl  couldn't  parse  the  reply\n"
 "          sent to the USER request.\n"
 "\n"
-"     13   FTP weird PASV reply, Curl  couldn't  parse  the  reply\n"
+"     13   FTP  weird  PASV  reply,  Curl couldn't parse the reply\n"
 "          sent to the PASV request.\n"
 "\n"
-"     14   FTP  weird 227 formay. Curl couldn't parse the 227-line\n"
+"     14   FTP weird 227 formay. Curl couldn't parse the  227-line\n"
 "          the server sent.\n"
 "\n"
 "     15   FTP can't get host. Couldn't resolve the host IP we got\n"
 "          in the 227-line.\n"
 "\n"
-"     16   FTP  can't  reconnect.  Couldn't connect to the host we\n"
+"     16   FTP can't reconnect. Couldn't connect to  the  host  we\n"
 "          got in the 227-line.\n"
-"\n"
 "     17   FTP  couldn't  set  binary.  Couldn't  change  transfer\n"
 "          method to binary.\n"
 "\n"
@@ -499,51 +584,51 @@
 "\n"
 "     19   FTP couldn't RETR file. The RETR command failed.\n"
 "\n"
-"     20   FTP  write  error. The transfer was reported bad by the\n"
+"     20   FTP write error. The transfer was reported bad  by  the\n"
 "          server.\n"
 "\n"
-"     21   FTP quote error. A quote command  returned  error  from\n"
+"     21   FTP  quote  error.  A quote command returned error from\n"
 "          the server.\n"
 "\n"
-"     22   HTTP  not found. The requested page was not found. This\n"
+"     22   HTTP not found. The requested page was not found.  This\n"
 "          return code only appears if --fail is used.\n"
 "\n"
-"     23   Write error.  Curl  couldn't  write  data  to  a  local\n"
+"     23   Write  error.  Curl  couldn't  write  data  to  a local\n"
 "          filesystem or similar.\n"
 "\n"
 "     24   Malformat user. User name badly specified.\n"
 "\n"
-"     25   FTP  couldn't  STOR  file.  The  server denied the STOR\n"
+"     25   FTP couldn't STOR file.  The  server  denied  the  STOR\n"
 "          operation.\n"
 "\n"
 "     26   Read error. Various reading problems.\n"
 "\n"
 "     27   Out of memory. A memory allocation request failed.\n"
 "\n"
-"     28   Operation timeout. The specified  time-out  period  was\n"
+"     28   Operation  timeout.  The  specified time-out period was\n"
 "          reached according to the conditions.\n"
-"     29   FTP  couldn't set ASCII. The server returned an unknown\n"
+"\n"
+"     29   FTP couldn't set ASCII. The server returned an  unknown\n"
 "          reply.\n"
 "\n"
 "     30   FTP PORT failed. The PORT command failed.\n"
 "\n"
 "     31   FTP couldn't use REST. The REST command failed.\n"
 "\n"
-"     32   FTP couldn't use SIZE. The  SIZE  command  failed.  The\n"
-"          command  is  an  extension to the original FTP spec RFC\n"
+"     32   FTP  couldn't  use  SIZE.  The SIZE command failed. The\n"
+"          command is an extension to the original  FTP  spec  RFC\n"
 "          959.\n"
 "\n"
 "     33   HTTP range error. The range \"command\" didn't work.\n"
 "\n"
-"     34   HTTP  post  error.  Internal  post-request   generation\n"
+"     34   HTTP   post  error.  Internal  post-request  generation\n"
 "          error.\n"
 "\n"
 "     35   SSL connect error. The SSL handshaking failed.\n"
 "\n"
-"     36   FTP  bad  download resume. Couldn't continue an earlier\n"
+"     36   FTP bad download resume. Couldn't continue  an  earlier\n"
 "          aborted download.\n"
-"\n"
-"     37   FILE couldn't read file. Failed to open the file.  Per­\n"
+"     37   FILE  couldn't read file. Failed to open the file. Per­\n"
 "          missions?\n"
 "\n"
 "     38   LDAP cannot bind. LDAP bind operation failed.\n"
@@ -552,14 +637,14 @@
 "\n"
 "     40   Library not found. The LDAP library was not found.\n"
 "\n"
-"     41   Function  not  found.  A required LDAP function was not\n"
+"     41   Function not found. A required LDAP  function  was  not\n"
 "          found.\n"
 "\n"
-"     XX   There will appear  more  error  codes  here  in  future\n"
-"          releases.  The existing ones are meant to never change.\n"
+"     XX   There  will  appear  more  error  codes  here in future\n"
+"          releases. The existing ones are meant to never  change.\n"
 "\n"
 "BUGS\n"
-"     If you do find any (or have other suggestions), mail  Daniel\n"
+"     If  you do find any (or have other suggestions), mail Daniel\n"
 "     Stenberg <Daniel.Stenberg@haxx.nu>.\n"
 "\n"
 "AUTHORS / CONTRIBUTORS\n"
@@ -597,6 +682,11 @@
 "      - Dan Zitter <dzitter@zitter.net>\n"
 "      - Jongki Suwandi <Jongki.Suwandi@eng.sun.com>\n"
 "      - Chris Maltby <chris@aurema.com>\n"
+"      - Ron Zapp <rzapper@yahoo.com>\n"
+"      - Paul Marquis <pmarquis@iname.com>\n"
+"      - Ellis Pritchard <ellis@citria.com>\n"
+"      - Damien Adant <dams@usa.net>\n"
+"      - Chris <cbayliss@csc.come>\n"
 "\n"
 "WWW\n"
 "     http://curl.haxx.nu\n"
@@ -921,27 +1011,32 @@
 "\n"
 "PROGRESS METER\n"
 "\n"
-"  The progress meter was introduced to better show a user that something\n"
-"  actually is happening. The different fields in the output have the following\n"
-"  meaning:\n"
+"  The progress meter exists to show a user that something actually is\n"
+"  happening. The different fields in the output have the following meaning:\n"
 "\n"
-"   %   Received   Total  Speed   Time left  Total   Curr.Speed\n"
-"  13   524140   3841536   4296   0:12:52   0:14:54    292     \n"
+"  % Total    % Received % Xferd  Average Speed          Time             Curr.\n"
+"                                 Dload  Upload Total    Current  Left    Speed\n"
+"  0  151M    0 38608    0     0   9406      0  4:41:43  0:00:04  4:41:39  9287\n"
 "\n"
 "  From left-to-right:\n"
-"  - The first column, is the percentage of the file currently transfered.\n"
-"  - Received means the total number of bytes that has been transfered.\n"
-"  - Total is the total number of bytes expected to transfer.\n"
-"  - Speed is average speed in bytes per second for the whole transfer so far.\n"
-"  - Time left is the estimated time left for this transfer to finnish if the\n"
-"    current average speed will remain steady.\n"
-"  - Total is the estimated total transfer time.\n"
-"  - Curr.Speed is the average transfer speed the last 5 seconds (the first\n"
-"    5 seconds of a transfer is based on less time of course.)\n"
+"   %             - percentage completed of the whole transfer\n"
+"   Total         - total size of the whole expected transfer\n"
+"   %             - percentage completed of the download\n"
+"   Received      - currently downloaded amount of bytes\n"
+"   %             - percentage completed of the upload\n"
+"   Xferd         - currently uploaded amount of bytes\n"
+"   Average Speed\n"
+"   Dload         - the average transfer speed of the download\n"
+"   Average Speed\n"
+"   Upload        - the average transfer speed of the upload\n"
+"   Time Total    - expected time to complete the operation\n"
+"   Time Current  - time passed since the invoke\n"
+"   Time Left     - expected time left to completetion\n"
+"   Curr.Speed    - the average transfer speed the last 5 seconds (the first\n"
+"                   5 seconds of a transfer is based on less time of course.)\n"
 "\n"
-"  NOTE: Much of the output is based on the fact that the size of the transfer\n"
-"  is known before it takes place. If it isn't, a much less fancy display will\n"
-"  be used.\n"
+"  The -# option will display a totally different progress bar that doesn't\n"
+"  need much explanation!\n"
 "\n"
 "SPEED LIMIT\n"
 "\n"
diff --git a/src/version.h b/src/version.h
index 65ec2d1..fcbce52 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,3 +1,3 @@
 #define CURL_NAME "curl"
-#define CURL_VERSION "6.3.1"
+#define CURL_VERSION "6.5"
 #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "