Commit Graph

27 Commits

Author SHA1 Message Date
contrapunctus 983b7cb9c4 Move README and all internal code to jabber.org
The only change to the code is the removal of most `require` forms,
and some Org-ification of the README. I have not deleted the elisp
files, in case we decide to change our tangling strategy down the line
and need the per-file contributor information and copyright notices.

The external notification libraries have not yet been moved to jabber.org.
2021-03-11 17:04:25 +05:30
Magnus Henoch fff33826f4 Use srv.el from package repository
srv.el is now a separate package in MELPA, so let's depend on that.

Keep a copy in jabber-fallback-lib for the time being.
2018-09-28 00:25:34 +01:00
Magnus Henoch c51557a2e7 Remove *jabber-connection* variable
Obsolete; use jabber-connections instead.
2014-05-20 01:21:07 +01:00
Magnus Henoch 0782581252 Handle synchronous errors when connecting asynchronously
In jabber-network-connect-async, the call to make-network-process can
fail in certain cases without creating a connection and without
calling our sentinel function, in particular if DNS resolution fails,
and that error case was not updated for the new error reporting
solution.  This should now work properly.
2014-04-25 20:00:46 +01:00
Magnus Henoch 0c813fc754 Improve error message for connection failure
Ensure that the final message, the one that stays in the echo area,
contains information about where we tried to connect to.  Also
accumulate error messages for all addresses we tried.
2014-04-07 21:59:57 +01:00
Magnus Henoch b5cb0d640e Fix error case in jabber-network-connect-async
The `connection-failed' function didn't have access to the variables
`target' and `remaining-targets', since they weren't lexically bound.
2013-11-12 10:26:13 +00:00
Magnus Henoch 0118504cf7 Catch errors in jabber-network-connect-async
DNS resolution errors from make-network-process are signalled
immediately, and not passed to the sentinel function.  Make sure that
we pass such errors along, so DNS errors aren't buried in the
*fsm-debug* buffer.
2013-11-03 19:12:16 +00:00
Magnus Henoch 05340c6ad7 Perform asynchronous connection if possible
When using native GnuTLS, we can now connect asynchronously, without
blocking Emacs if the remote server is slow to accept the connection
(or just times out).

Such connections are now identical to "network" (i.e. TLS-less)
connections, so I reverted jabber-starttls-connect to its previous
state: it is now used exclusively to connect using gnutls-cli external
processes.
2013-06-30 18:15:49 +01:00
Magnus Henoch c382ddead8 Don't add extra newline when using STARTTLS
Apparently sending an extra newline after each stanza was necessary
with the OpenSSL client, but it seems to be messing up native STARTTLS
negotiation more often than not (I suspect it's a race condition), and
removing it seems not to hurt when using STARTTLS with gnutls-cli.
2012-06-02 11:56:00 +01:00
Magnus Henoch 1dca591d17 Fix reporting of STARTTLS negotiation errors
jabber-starttls-process-input now signals an error on negotiation
failure, as gnutls-negotiate already does.  Catch errors in
jabber-core, and put them as disconnection reason in the state data,
to get fewer and less confusing messages in the echo area.
2012-05-19 15:01:05 +01:00
magnus.henoch@gmail.com 5c7c52b066 Fix error handling for old-style SSL/TLS connections
When connecting to a Jabber server over SSL/TLS without STARTTLS
(the legacy "port 5223" method), any connection error would
cause the state machine to be stuck in the :connecting state,
unable to go back or forward.  Fix this by catching and reporting
errors in jabber-ssl-connect.
2012-05-16 17:27:58 +01:00
Magnus Henoch f54c1b54b3 Support native GnuTLS for STARTTLS
Emacs 24 supports linking to the GnuTLS library.  Let's use it when
available.

Also add a customisable variable for ignoring invalid certificates.
We should now be validating certificates against the XMPP server name,
not the hostname from DNS SRV, so there should be less need for this
now, but there's always the occasional basement server with a
self-signed certificate...
2012-05-15 22:39:43 +01:00
Magnus Henoch c4d1beb1af Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-529
Creator:  Magnus Henoch <mange@freemail.hu>

Implement `virtual' connection type, for introspective testing
2008-06-17 14:47:01 +00:00
Magnus Henoch 35a6a7776a Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-525
Creator:  Magnus Henoch <mange@freemail.hu>

Remove obsolete comment
2008-06-17 14:45:36 +00:00
Magnus Henoch 98928450aa Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-512
Creator:  Magnus Henoch <mange@freemail.hu>

Kill process buffers when a process dies, unless wanted for debugging reasons
2008-05-30 20:43:29 +00:00
Magnus Henoch b639073a5a Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-414
Creator:  Magnus Henoch <mange@freemail.hu>

Remove global variables

Remove jabber-username, jabber-server, jabber-resource, jabber-nickname,
jabber-network-server and jabber-port, and all remaining references to
them.
2007-09-17 12:26:16 +00:00
Magnus Henoch 3f177f70ed Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-409
Creator:  Magnus Henoch <mange@freemail.hu>

Replace *jabber-encrypted* with per-account variable
2007-09-14 22:08:28 +00:00
Magnus Henoch 74e3f91ea2 Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-397
Creator:  Magnus Henoch <mange@freemail.hu>

Fix jabber-get-{connect,send}-function

Have jabber-get-connect-function and jabber-get-send-function use their
argument instead of the removed global variable jabber-connection-type.
2007-08-29 12:58:28 +00:00
Magnus Henoch a892ee0875 Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-396
Creator:  Magnus Henoch <mange@freemail.hu>

Add customization option for multiple accounts

Based on a patch by Xavier Maillard.
2007-08-29 01:45:36 +00:00
Magnus Henoch 1bf1845bdd Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289
Creator:  Magnus Henoch <mange@freemail.hu>

Merge multi-account work

Patches applied:

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2
   Only output car of events in fsm.el, to avoid overflowing debug buffers

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3
   Apply 0.1ttn4 patch from Thien-Thi Nguyen

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4
   Don't eval state-name in define-state and define-enter-state

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5
   Fix previous change

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6
   Apply patches I forgot about

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7
   Add fsm-get-state

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8
   fsm-get-state should really be fsm-get-state-data

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9
   Add edebug declarations

 * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10
   Catch and report errors in enter functions

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0
   tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1
   Start ewocizing roster

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2
   Use jabber-roster-update in jabber-process-roster

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3
   Merge from CVS

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4
   Merge fsm change

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5
   Merge fsm change

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6
   Use jabber-roster-update in jabber-presence-update-roster

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7
   Remove unused *xmlq* variable

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8
   Merge fsm change

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9
   Start converting jabber-core and jabber-conn to fsm style

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10
   Further hacking

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11
   Rough hacking at legacy authentication and IQ handling

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12
   Rough hacking at SASL authentication

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13
   Remove some obsolete variables and functions

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14
   Resource binding, session establishing; refactor roster retrieval

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15
   Remove some jabber-conn global variables.  Fix or comment out dependent code.

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16
   Add missing parenthesis

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17
   Add fsm-get-state-data

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18
   Add :connection to state-data in proper time

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19
   Fix remaining references to global variables

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20
   Fix filter events

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21
   Fix various mismatched argument lists

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22
   Surface fixes to jabber-presence

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23
   Merge FSM changes

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24
   Rename jabber-post-connect-hook to jabber-post-connect-hooks

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25
   Merge from CVS (except patch-266)

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26
   Support STARTTLS (almost)

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27
   Fix SASL authentication

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28
   Typo: s/hook/hooks/

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29
   Forget SASL data when not needed

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30
   Store username, server and resource in state data

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31
   Remember which account to use in each chat buffer

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32
   Update signature of jabber-muc-process-message

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33
   Update signature of jabber-vcard-avatars-presence

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34
   Handle roster

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35
   Add missing parenthesis in jabber-read-account

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36
   Use header for roster ewoc

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37
   Remove trailing newline in jabber-resource-line-format

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38
   Properly update roster display

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39
   Fix double-connect check in jabber-connect

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40
   Fix jabber-disconnect

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41
   Ignore resource when checking whether already connected

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42
   Set jabber-account text proporty, and use it in jabber-read-account

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43
   Add connection argument to commands in jabber-disco

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44
   Adapt jabber-process-data, jabber-process-disco-{info,items}

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45
   Adapt jabber-version

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46
   Adapt jabber-browse

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47
   Adapt various jabber-presence functions

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48
   Use separate process buffers for different accounts

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49
   Include account property in roster.  Fix jabber-chat-with-jid-at-point.

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50
   Add jabber-concat-rosters.  Use it in jabber-read-jid-completing.

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51
   Adapt jabber-report-success

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52
   Adapt jabber-vcard

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53
   Adapt jabber-newdisco

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54
   Start adapting MUC

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55
   Adapt jabber-muc-process-presence and caller

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56
   Fix interactive use of jabber-send-default-presence

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57
   Handle sentinel events in :session-established state

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58
   Support selecting account interactively in jabber-connect.

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59
   Adapt jabber-events

 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60
   Adapt jabber-history
2007-02-05 21:59:02 +00:00
Magnus Henoch 11b07b35c3 Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-227
Creator:  Magnus Henoch <mange@freemail.hu>

Support SRV records.  Use STARTTLS by default if possible.
2006-04-23 15:09:56 +00:00
Magnus Henoch 126bdc36cd Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-173
Creator:  Magnus Henoch <mange@freemail.hu>

STARTTLS support by Carl Henrik Lunde
2006-01-03 20:10:33 +00:00
Magnus Henoch 6271f99501 Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-137
Creator:  Magnus Henoch <mange@freemail.hu>

Add jabber-connection-ssl-program
2005-09-25 10:39:32 +00:00
Magnus Henoch 20b6e28ffc Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-71
Creator:  Magnus Henoch <mange@freemail.hu>

Merge new filter

Patches applied:

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--base-0
   tag of mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-58

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-1
   Rewrite jabber-filter

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-2
   Fix TLS connections

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-3
   Merge from mainline

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-4
   Avoid reentering jabber-filter

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-5
   Merge from mainline

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-6
   Merge from mainline

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-8
   Add jabber-xml-skip-tag-forward, and use it

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-9
   Use proper arguments to jabber-xml-skip-tag-forward

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-10
   Accept many more valid XML node-names in jabber-xml-skip-tag-forward

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-11
   Merge from mainline

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-12
   Merge from mainline

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-13
   Merge from mainline

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-14
   Fix logic error when sending composing events

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-15
   XEmacs compatibility: s/float/number/

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-16
   jabber-events-after-change: handle jabber-chatting-with being nil

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-17
   XEmacs compatibility: format-time-string takes only two arguments

 * mange@freemail.hu--2005/emacs-jabber--new-filter--0--patch-18
   Merge from mainline
2005-04-17 16:42:29 +00:00
Magnus Henoch 08078b0929 Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-68
Creator:  Magnus Henoch <mange@freemail.hu>

Require cl for ignore-errors
2005-04-11 06:51:11 +00:00
Magnus Henoch 26a174f92a Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-66
Creator:  Magnus Henoch <mange@freemail.hu>

Use XEmacs-compatible form of require in jabber-conn
2005-04-10 16:29:49 +00:00
Magnus Henoch 25a7b91ed9 Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-54
Creator:  Magnus Henoch <mange@freemail.hu>

Merge SSL support

Patches applied:

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--base-0
   tag of mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-48

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--patch-1
   Initial stab at merging SSL support

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--patch-2
   Further hack SSL

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--patch-3
   Put jabber-connection-type in group jabber-conn

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--patch-4
   Handle partially received stream headers

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--patch-5
   Document SSL

 * mange@freemail.hu--2005/emacs-jabber--ssl--0--patch-6
   Check for connection failure
2005-03-21 14:29:47 +00:00