gnus: Direct Functions
6.2.1.1 Direct Functions
........................
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 (
Common Variables).
‘nntp-open-network-stream’
This is the default, and simply connects to some port or other on
the remote system. If both Emacs and the server supports it, the
connection will be upgraded to an encrypted STARTTLS connection
automatically.
‘network-only’
The same as the above, but don’t do automatic STARTTLS upgrades.
‘nntp-open-tls-stream’
Opens a connection to a server over a “secure” channel. To use
this you must have GnuTLS (http://www.gnu.org/software/gnutls/)
installed. You then define a server as follows:
;; "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’
Opens a connection to a server over a “secure” channel. To use
this you must have OpenSSL (http://www.openssl.org) installed. You
then define a server as follows:
;; "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-stream’
Opens a connection to an NNTP server using the ‘netcat’ 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-stream’
Like ‘nntp-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"))