Commit graph

184 commits

Author SHA1 Message Date
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Andreas Schwab
d7d3b14a99 * lisp/url/url-http.el
(url-http-wait-for-headers-change-function): Change message to
url-http-debug.
2017-12-24 19:14:23 +01:00
Eli Zaretskii
a4f7518817 Fix url-http use of url-current-object
* lisp/url/url-http.el (url-http): Bind url-current-object before
calling url-http-find-free-connection.  (Bug#28515)
2017-09-30 16:33:30 +03:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Lars Brinkhoff
b6738682ae Make the URL library use records.
* lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.

* lisp/url/url-http.el (url-http): Check for type `url' instead of
`vector'.
2017-04-04 08:23:46 +02:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Devon Sean McCullough
e6834952ed Doc fix for url-http
* lisp/url/url-http.el (url-http): Document better return values
  (bug#13187) (tiny change)

(cherry picked from commit 344303c8d9)
2016-10-02 12:27:32 -04:00
Paul Eggert
dcd90f60eb Merge from origin/emacs-25
0ffc9ce Update admin/authors.el
0ad7410 Update Antinews in ELisp manual
ea0f750 Fix comments on window height macros
0bbdeed Fix 'url-http-create-request' when cookies are used
0045998 Fix cross reference in frames.texi
1392894 ; * etc/DEBUG: Minor copyedits.
304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
56bf7d7 Fix regexp-opt documentation (bug #17862)
803ad6f ; Fix documentation of seq-subseq
ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
88ea396 ; Spelling fixes
17197d0 Fix tags-query-replace docstring
80a7f8b Clarify documentation of precision in format specs
88a5052 Improve and clarify documentation of subprocesses
89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).

# Conflicts:
#	etc/PROBLEMS
#	src/process.c
2016-09-26 13:32:28 -07:00
Toke Høiland-Jørgensen
0bbdeed10f Fix 'url-http-create-request' when cookies are used
* lisp/url/url-http.el (url-http-create-request): Make sure the
cookie headers are a unibyte string.  For the details, see
http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00202.html.

Copyright-paperwork-exempt: yes
2016-09-10 22:09:33 +03:00
Leo Liu
6f125aa3de Add 451 to url-http-codes
* lisp/url/url-http.el (url-http-codes): Add 451.
2016-08-31 16:39:13 +08:00
Paul Eggert
590dab5a68 Merge from origin/emacs-25
8c2946e In NEWS describe new handling of window margins (Bug#24193)
0cee66c Facultatively ignore margins when splitting and resizing wind...
8d68147 Document CATEGORY arg to modify-category-entry
8342e74 Document char-script-table's effect on word motion
e9ff485 Further fix for 'url-http-create-request' and multibyte strings
0695235 Fix docstring of eval-expression
98b01dd Clarify when 'cursor' property is in effect
75f1882 Convert the remaining strings to unibyte before concatenating
d2db5dd Fix bug with handling the bidi cache
ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
f785ff4 Clarify documentation of before/after-change-functions
3c9cb57 Document use of vectors in keymaps

# Conflicts:
#	src/xdisp.c
2016-08-22 14:38:49 -07:00
Eli Zaretskii
e9ff4857cb Further fix for 'url-http-create-request' and multibyte strings
* lisp/url/url-http.el (url-http-create-request): Run
url-mime-charset-string through url-http--encode-string.
(Bug#24117)
2016-08-13 11:28:53 +03:00
Dmitry Gutov
75f1882479 Convert the remaining strings to unibyte before concatenating
* lisp/url/url-http.el (url-http--encode-string): New function.
(url-http-create-request): Use it to convert ASCII to unibyte.
(Bug#24117)
2016-08-11 21:06:49 +03:00
Paul Eggert
fdcf46d33e Merge from origin/emacs-25
0377fe2 ; Spelling fixes
f253695 Update docs for `customize-mode'
4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
ab0ebb9 ; Only load .elc file in tests.
a98aa02 Error on multibyte characters in HTTP request
ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
dc5e65b Unset GIT_DIR when calling Git commands
6cdd8f7 Ensure undo-boundary after insert-file-contents.
4793f5f Clarify documentation of 'line-spacing' and 'line-height'
5f37572 Fix removal of variables from process-environment
e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...

# Conflicts:
#	doc/lispref/modes.texi
#	lisp/gnus/mm-decode.el
2016-06-26 00:16:25 +02:00
Dmitry Gutov
a98aa02a5d Error on multibyte characters in HTTP request
* lisp/url/url-http.el (url-http-create-request): Check the
constructed request in the end to verify that it does not contain
multibyte characters (bug#23750).
2016-06-22 21:20:23 +03:00
Dmitry Gutov
07a986ea7e ; Revert "Prohibit multibyte characters in url-http-data"
This reverts commit 2ede29575f.

In favor of a better solution to be pushed to emacs-25.
2016-06-22 21:10:11 +03:00
Dmitry Gutov
2ede29575f Prohibit multibyte characters in url-http-data
It didn't work anyway, but this makes any such errors more obvious
by catching them earlier.

* lisp/url/url-http.el (url-http-create-request):
Use string-to-unibyte (bug#23750).
2016-06-19 21:06:39 +03:00
Stefan Monnier
276a6545ad * lisp/url/url-http.el: Use lexical-binding
(url-http-simple-after-change-function): Use buffer-size rather than `nd'.
(url-http-wait-for-headers-change-function): Remove unused var
`content-length'.
(url-http): Remove unused vars `host' and `port'.
2016-05-23 20:09:33 -04:00
Paul Eggert
65c8c7cb96 Pacify ‘make check-declare’
* lisp/cedet/srecode/insert.el (data-debug-new-buffer)
(data-debug-insert-stuff-list, data-debug-insert-thing):
* lisp/emulation/viper-ex.el (viper-change-state-to-vi)
(viper-change-state-to-emacs):
* lisp/emulation/viper-macs.el (viper-change-state-to-vi):
* lisp/org/ob-asymptote.el (orgtbl-to-generic):
* lisp/org/ob-awk.el (orgtbl-to-generic):
* lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
* lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
* lisp/org/ob-exp.el (org-element-context):
* lisp/org/ob-gnuplot.el (org-time-string-to-time)
(orgtbl-to-generic):
* lisp/org/ob-haskell.el (org-export-to-file):
* lisp/org/ob-latex.el (org-create-formula-image)
(org-latex-compile):
* lisp/org/ob-python.el (run-python):
* lisp/org/ob-sh.el (orgtbl-to-generic):
* lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
* lisp/org/org-colview.el (org-agenda-redo):
* lisp/org/org-feed.el (url-retrieve-synchronously):
* lisp/org/org-info.el (Info-find-node):
* lisp/org/org-list.el (org-previous-line-empty-p):
* lisp/org/org-macs.el (org-string-match-p):
* lisp/org/org.el (org-beamer-mode):
Fix prototype to match current definition.
* lisp/emacs-lisp/advice.el (function-called-at-point):
* lisp/progmodes/prolog.el (compilation-shell-minor-mode):
Fix typo: extra '.
* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
Insert ,' to pacify check-declare.
* lisp/org/ob-comint.el (tramp-flush-directory-property):
* lisp/org/ob-tangle.el (org-babel-update-block-body):
* lisp/org/org-bibtex.el (org-babel-trim):
* lisp/org/org-pcomplete.el (org-export-backend-options):
* lisp/org/org-protocol.el (org-publish-get-project-from-filename):
Fix file name in declare-function.
* lisp/org/ob-comint.el (with-parsed-tramp-file-name)
* lisp/org/ob-core.el (with-parsed-tramp-file-name):
* lisp/org/org.el (org-beamer-mode):
* lisp/url/url-http.el (gnutls-negotiate):
Append ‘t’ to declare-function, since the declaration isn’t a defun.
* lisp/org/ob-core.el (show-all):
Declare outline-show-all instead, since it is the
non-obsolete version of this function.
(org-save-outline-visibility): Remove; not needed.
* lisp/org/ob-scheme.el (run-geiser, geiser-mode)
(geiser-eval-region, geiser-repl-exit):
* lisp/org/ox-org.el (htmlize-buffer):
Prepend "ext:" to file name, since it is not part of Emacs.
* lisp/org/ob-sh.el (org-babel-comint-in-buffer)
* lisp/org/org-gnus.el (nnimap-group-overview-filename):
Remove decl, since function was removed.
* lisp/org/ob-sh.el (org-babel-comint-with-output):
* lisp/org/org-macro.el (org-with-wide-buffer):
Omit unnecessary (and mismatching) decl.
* lisp/org/org-agenda.el (calendar-absolute-from-iso):
* lisp/org/org-clock.el (calendar-iso-to-absolute):
Declare calendar-iso-to-absolute instead, since it is the
non-obsolete version of this function.
* lisp/org/org-compat.el (w32-focus-frame):
Remove decl, since function is now obsolete.
2016-05-14 19:57:44 -07:00
Tao Fang
7b9a5c2a45 Fix: (void-variable url-http-response-status)
* lisp/url/url-http.el
(url-https-proxy-after-change-function): Display the error
message before doing the callback to avoid a void variable
situation (bug#23290).
2016-04-26 01:24:44 +02:00
Clément Pit--Claudel
234ef3b432 Compute User-Agent dynamically in url-http
* url-http.el (url-http-user-agent-string): Compute User-Agent
string dynamically.
(url-http--user-agent-default-string): New function.

* url-vars.el (url-privacy-level): Allow `emacs' in list of
information not to send.
(url-user-agent): Add nil and `default' options; do not
pre-compute value.
2016-04-24 14:51:33 +02:00
Lars Magne Ingebrigtsen
0d7aad1b30 Revert "Backport HTTPS proxy fix"
This reverts commit 2d1a6054b1.

It's too late in the Emacs 25 release cycle to add things like this to
Emacs 25.1.  It's border line new feature.
2016-04-06 18:36:18 +02:00
Tao Fang
2d1a6054b1 Backport HTTPS proxy fix
Cherry-picked from 3c623c26ae

Backport:
2016-04-06 13:45:26 +02:00
Tao Fang
3c623c26ae Allow URL using HTTPS proxies using CONNECT
* lisp/url/url-http.el (url-http-find-free-connection): Allow
using proxies (bug#11788).
(url-http-end-of-document-sentinel): Ditto.
(url-http): The protocol may change from http to https and
vice versa.
(url-https-proxy-connect): Allow using CONNECT proxies for https.
2016-04-04 22:21:34 +02:00
Lars Ingebrigtsen
7c1e6ebfcb Allow binding `url-mime-accept-string'
* lisp/url/url-http.el (url-http): Allow binding
`url-mime-accept-string' (bug#22855).

Backport:

(cherry picked from commit 144bb0cf32)
2016-03-01 14:50:01 +11:00
Lars Ingebrigtsen
144bb0cf32 Allow binding `url-mime-accept-string'
* lisp/url/url-http.el (url-http): Allow binding
`url-mime-accept-string' (bug#22855).
2016-03-01 14:49:26 +11:00
Nicolas Petton
46dfdd831b Do not ignore redirections of 301, 302 and 307 status codes
The current version of HTTP/1.1 (RFC 7231) no longer requires
confirmation on 301, 302 or 307 status codes, therefore we do not have
to ignore redirects for other requests than GET and HEAD.

* lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
and 307 redirects for other requests than GET and HEAD.
2016-02-04 21:43:42 +01:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
John Wiegley
9f2f14a072 Merge emacs-25 into master (using imerge) 2015-12-29 21:40:28 -08:00
Jose A. Ortega Ruiz
499dac5497 Fix URL auth error message
* lisp/url/url-http.el (url-http-handle-authentication): Make the error
message more correct (bug#20069).

Copyright-paperwork-exempt: yes
2015-12-29 01:27:48 +01:00
Lars Ingebrigtsen
8b61c22ea1 IDNA-related fixes for the URL library
* lisp/url/url-http.el (url-http-create-request): IDNA-encode
the Host: header.

* lisp/url/url-util.el (url-encode-url): Don't hex-encode
domain names, but leave them as UTF-8, so that they can be
IDNA-encoded later when contacting the host.
2015-12-29 00:11:06 +01:00
James Stout
57029f3d84 Make chunked encoding trailer detection more compliant
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Make
trailer detection more compliant (bug#16345).

Copyright-paperwork-exempt: yes
2015-12-28 20:55:36 +01:00
Eli Zaretskii
bda3c4600b Document 'url-user-agent'.
* lisp/url/url-http.el (url-user-agent): Move from here...
* lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
keep all the URL defcustoms in one place, and also have it defined
whenever the URL library is loaded.

* doc/misc/url.texi (Customization): Document 'url-user-agent'.
2015-12-26 15:31:32 +02:00
Devon Sean McCullough
344303c8d9 Doc fix for url-http
* lisp/url/url-http.el (url-http): Document better return values
  (bug#13187) (tiny change)
2015-12-25 22:21:22 +01:00
Paul Eggert
ac16149ba4 Fix docstring quoting problems with ‘ '’
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes.  The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
2015-11-17 15:29:35 -08:00
Thomas Fitzsimmons
325200ac1d Do not include authorization header in an HTTP redirect
* lisp/url/url-http.el (url-http-parse-headers): Do not
automatically include Authorization header in redirect.
(Bug#21350)
2015-09-23 01:58:13 -04:00
Glenn Morris
5b0af214c8 Quieten compilation, eg in --without-x builds.
* lisp/dired-aux.el (lpr-printer-switch):
* lisp/frame.el (tool-bar-height):
* lisp/linum.el (font-info):
* lisp/window.el (font-info, overflow-newline-into-fringe)
(tool-bar-height):
* lisp/emacs-lisp/package-x.el (tar-data-buffer):
* lisp/gnus/gnus-util.el (iswitchb-mode):
* lisp/mail/rmailmm.el (libxml-parse-html-region):
* lisp/net/nsm.el (gnutls-peer-status)
(gnutls-peer-status-warning-describe):
* lisp/net/shr.el (libxml-parse-xml-region):
* lisp/url/url-http.el (gnutls-peer-status): Declare.
2015-05-08 20:13:47 -04:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Lars Magne Ingebrigtsen
14efb83188 Remove superfluous `gnutls-available-p' check
* lisp/url/url-http.el (url-http-parse-headers): `gnutls-available-p' is
now always available.
2014-12-12 11:48:29 +01:00
Lars Magne Ingebrigtsen
c6f03ed03d Fix a problem in url.el without GnuTLS
Fixes: debbugs:19346

* lisp/url/url-http.el (url-http-parse-headers): Check that
`gnutls-available-p' is defined.
2014-12-11 16:57:33 +01:00
Lars Magne Ingebrigtsen
0cc8da5cd8 Make the https logic in url-http work on redirects
(url-http-parse-headers): When being redirected, make sure we
flush the previous certificate.
2014-12-09 04:21:12 +01:00
Lars Magne Ingebrigtsen
d7e5255013 Make URL pass the TLS peer status to the caller
* lisp/url/url-http.el (url-http-parse-headers): Pass the GnuTLS
status of the connection to the caller.
2014-12-09 03:59:48 +01:00
Stefan Monnier
b76bea4c26 Various minor details accumulated over time
* lisp/info.el (Info-mode-map): Remove left-over binding.
* lisp/net/tramp.el (tramp-handle-make-symbolic-link): Mark unused arg.
* lisp/obsolete/gulp.el (gulp-create-m-p-alist): Remove unused var `mnt-tm'.
* lisp/progmodes/gud.el (gud-gdb-completions): Remove unused var `start'.
* lisp/url/url-http.el (url-http-activate-callback): Make debug more verbose.
* src/process.c: Whitespace and line-break nitpicks.
2014-12-08 15:02:26 -05:00
Lars Magne Ingebrigtsen
a345ff6bf2 Implement a new url parameter `url-request-noninteractive'
* url-http.el (url-http): Respect `url-request-noninteractive'.

* url-queue.el (url-queue-start-retrieve): Fetching through
url-queue should always be noninteractive.

* url-vars.el (url-request-noninteractive): New variable.
2014-11-23 15:05:18 +01:00
Ted Zlatanov
a7fde0e7e6 url-http.el (url-user-agent): Add :version. 2014-11-05 12:18:22 -05:00
Ted Zlatanov
d9f7c524b6 url-http.el: introduce url-user-agent
* url-http.el (url-user-agent): New variable, can be function or
string.  Suggested by Vibhav Pant <vibhavp@ubuntu.com>.

(url-http-user-agent-string): Use it.

* url-http.el (url-user-agent): New variable, can be function or
string.  Suggested by Vibhav Pant <vibhavp@ubuntu.com>.
2014-11-05 11:06:40 -05:00
Eli Zaretskii
8ca8fde8a2 Fix bug #18650 with warning about zlib when loading url-vars.el.
src/decompress.c (init_zlib_functions): Move the message about zlib
 being unavailable from here...
 (Fzlib_decompress_region): ...to here.

 lisp/url/url-http.el (url-http-create-request): Recheck zlib availability
 on windows-nt each time it might be required.
2014-10-07 20:18:07 +03:00