Next: Indirect Functions, Up: NNTP
These functions are called direct because they open a direct connection between your machine and the NNTP server. The behavior of these functions is also affected by commonly understood variables (see Common Variables).
nntp-open-network-streamnetwork-onlynntp-open-tls-stream;; "nntps" is port 563 and is predefined in our /etc/services ;; however, ‘gnutls-cli -p’ doesn't like named ports. ;; (nntp "snews.bar.com" (nntp-open-connection-function nntp-open-tls-stream) (nntp-port-number 563) (nntp-address "snews.bar.com"))
nntp-open-ssl-stream;; "snews" is port 563 and is predefined in our /etc/services ;; however, ‘openssl s_client -port’ doesn't like named ports. ;; (nntp "snews.bar.com" (nntp-open-connection-function nntp-open-ssl-stream) (nntp-port-number 563) (nntp-address "snews.bar.com"))
nntp-open-netcat-streamnetcat
program. You might wonder why this function exists, since we have
the default nntp-open-network-stream which would do the job. (One
of) the reason(s) is that if you are behind a firewall but have direct
connections to the outside world thanks to a command wrapper like
runsocks, you can use it like this:
(nntp "socksified"
(nntp-pre-command "runsocks")
(nntp-open-connection-function nntp-open-netcat-stream)
(nntp-address "the.news.server"))
With the default method, you would need to wrap your whole Emacs session, which is not a good idea.
nntp-open-telnet-streamnntp-open-netcat-stream, but uses telnet rather than
netcat. telnet is a bit less robust because of things
like line-end-conversion, but sometimes netcat is simply
not available. The previous example would turn into:
(nntp "socksified"
(nntp-pre-command "runsocks")
(nntp-open-connection-function nntp-open-telnet-stream)
(nntp-address "the.news.server")
(nntp-end-of-line "\n"))