25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-06 15:37:52 +01:00
Commit Graph

435 Commits

Author SHA1 Message Date
Evgeniy Khramtsov
ff2050b301 Clean tables from remote pids when their node goes down
Conflicts:

	src/ejabberd_sm.erl
	src/mod_muc/mod_muc.erl
	src/web/mod_bosh.erl
2012-11-15 15:16:42 +10:00
Badlop
df921fef40 Show binaries as strings in WebAdmin; handle tab characters. 2012-10-30 13:05:30 +01:00
Badlop
472089a328 Show binaries in a pretty format in WebAdmin 2012-10-29 13:40:50 +01:00
Evgeniy Khramtsov
a4e320c263 Get rid of dreaded tuple_to_list(now()) 2012-10-26 20:02:25 +10:00
Evgeniy Khramtsov
083dfe01ea Check a node of a migrating process (EJABS-1908) 2012-09-27 12:39:52 +10:00
Paweł Chmielowski
cfe396e155 Don't forget about webscoket_handlers in pipelined http requests 2012-09-14 18:34:58 +02:00
Paweł Chmielowski
2163cbb22e Make websocket work over tls 2012-09-14 18:29:16 +02:00
Paweł Chmielowski
6b3f228327 Unify paths for handling websocket and regular http requests
This allow to easily produce html output from error paths in websocket code,
and this ability is used to produce informational page when regular http
request is directed to websocket url. Additionally HEAD and OPTIONS request
are now handled correctly.
2012-09-14 17:51:54 +02:00
Paweł Chmielowski
e58e6a09dd Unify GET and POST handling code
Code for both it almost identical, extract all differences to separate
function extract_path_query.
2012-09-14 17:11:35 +02:00
Paweł Chmielowski
2d05ddd466 Fix syntax error in ejabberd_websocket 2012-09-14 16:07:58 +02:00
Paweł Chmielowski
975f4c56d4 Don't try to decode utf-8 codepoints in ej_websocket only to convert it back to utf-8 in ej_http_ws
Additionally that conversion code was wrong sometimes and lead to loosing
some bits of information.

This fixes EJABS-1875
2012-09-14 10:20:33 +02:00
Paweł Chmielowski
8eef2f02bf Properly handle websocket sub-protocols 2012-09-14 10:15:32 +02:00
Paweł Chmielowski
2f7c69fd14 Properly handle close op in websocket 2012-09-14 10:05:42 +02:00
Evgeniy Khramtsov
6b7d70adf6 Do not close session with an item-not-found error when
receiving duplicate request with same rid as the currently
active one (EJABS-1844) (thanks to Pawel Chmielowski)

Conflicts:

	src/web/ejabberd_bosh.erl
2012-09-13 16:50:54 +10:00
Christophe Romain
f387934886 update copyright date to 2012 2012-09-11 17:18:22 +02:00
Christophe Romain
011535f0de binary refactoring 2012-09-11 15:45:59 +02:00
Evgeniy Khramtsov
75d3152a0f Merge branch '2.1.x' into 2.2.x
Conflicts:
	src/mod_muc/mod_muc.erl
	src/mod_muc/mod_muc_room.erl
	src/mod_offline.erl
	src/mod_offline_odbc.erl
	src/mod_shared_roster.erl
	src/web/ejabberd_http_bind.erl
2012-05-04 14:19:52 +10:00
Paweł Chmielowski
6c94d040fa Repeated http-bind request should abort only requests with same rid
Before this change, when request with repeat rid was received any waiting
request was aborted (but only after next request was delivered). With this
change, only request with identical rid are aborted and this is done
immediately
2012-05-03 11:44:34 +02:00
Paweł Chmielowski
e8921d79ba Receiving missing http-bind request shouldn't close waiting out-ouf-order request 2012-05-03 11:44:21 +02:00
Paweł Chmielowski
8b13226d00 Do not trigger item-not-found errors in mod_http_bind (part of EJABS-1827)
This changes what happens to request received with out of order rid,
previously response to such request was send immediately, and client was
free to submit another request, which triggered item-not-found if it was
delivered before request with missing rid.

This change make us wait for sending response to out of order request until
request with missing rid arrives. It also queues all outgoing data before
that condition is meet.
2012-04-27 13:23:19 +02:00
Paweł Chmielowski
545f9ce525 Do not trigger item-not-found errors in mod_http_bind (part of EJABS-1827)
This changes what happens to request received with out of order rid,
previously response to such request was send immediately, and client was
free to submit another request, which triggered item-not-found if it was
delivered before request with missing rid.

This change make us wait for sending response to out of order request until
request with missing rid arrives. It also queues all outgoing data before
that condition is meet.
2012-04-27 13:19:49 +02:00
Evgeniy Khramtsov
437f68a9f3 Merge SQL and Mnesia code into one module (EJAB-1560) 2012-04-27 19:52:05 +10:00
Paweł Chmielowski
431c34709c Make Safari happy use value from Host in WebSocket-Location header
Safari aborts connection if WebSocket-Location contains port number when
Host didn't have it, this change uses value sent by browser directly
instead of making in manually.
2012-04-11 18:12:36 +02:00
Paweł Chmielowski
cf6d67ceed Always normalize case of http header names and use that fact in websocket handler
Native http parser code don't normalize header names when name is 19 or
more characters long. In websocket header module headers like that are
used, by having those headers in consistent form, code for finding
header with mixed case can be dropped.
2012-04-11 17:59:57 +02:00
Paweł Chmielowski
e2d6bc95a4 Parse and encode https header names like native http parser does
This code adds case normalization step to https headers parsing, making
it correctly use atoms for some special header no matter how upper/lower
case letters are used in input string
2012-04-11 17:28:18 +02:00
Paweł Chmielowski
ef0cf5d3d7 Parse and encode https header names like native http parser does
This code adds case normalization step to https headers parsing, making
it correctly use atoms for some special header no matter how upper/lower
case letters are used in input string
2012-04-11 17:24:36 +02:00
Paweł Chmielowski
e99ecf6d06 Fix websocket on Safari 2012-04-11 16:07:35 +02:00
Paweł Chmielowski
83c7da3831 Handle all draft-hybi handshake in this same way 2012-04-11 16:07:29 +02:00
Paweł Chmielowski
8dc4dd7f3b Add support for newer websocket versions 2012-04-11 16:07:22 +02:00
Paweł Chmielowski
66b7caafe0 Don't use binary:match to extract lines from binaries
This was added in R13B3, lets roll our own implementation to make sure it
works on older erlang versions.
2012-04-11 16:04:05 +02:00
Paweł Chmielowski
7c0b2f5425 Parse correctly https request split into multiple packets
This fixes case when SockMod:recv() calls returns only part of first line
of http request (GET/POST/OPTION/HEAD line). Before that change request
like that (and if keep-alive was active, all further request) were dropped.

This fixes EJAB-1537.
2012-04-11 16:04:05 +02:00
Paweł Chmielowski
4645885180 Properly handle HEAD request in mod_http_bind (this fixes EJAB-1538) 2012-04-11 16:01:14 +02:00
Paweł Chmielowski
2c228e6414 Don't use binary:match to extract lines from binaries
This was added in R13B3, lets roll our own implementation to make sure it
works on older erlang versions.
2012-04-06 18:55:27 +02:00
Paweł Chmielowski
5f82846732 Parse correctly https request split into multiple packets
This fixes case when SockMod:recv() calls returns only part of first line
of http request (GET/POST/OPTION/HEAD line). Before that change request
like that (and if keep-alive was active, all further request) were dropped.

This fixes EJAB-1537.
2012-04-06 16:22:08 +02:00
Paweł Chmielowski
1f1a98d7ae Properly handle HEAD request in mod_http_bind (this fixes EJAB-1538) 2012-04-06 11:47:38 +02:00
Alexey Shchepin
92feebd0fa Merge branch '2.2.x' of git+ssh://git@gitorious.process-one.net/+ejabberd-developers/ejabberd/maincustomers.git into 2.2.x 2012-03-07 16:20:25 +02:00
Alexey Shchepin
0b423eb287 Don't ignore Length parameter in tls:recv 2012-03-07 16:19:59 +02:00
Christophe Romain
7d7c739cb3 Merge remote-tracking branch 'mainline/2.1.x' into 2.2.x 2012-02-23 16:59:22 +01:00
Alexey Shchepin
b1e2538488 Update copyright dates 2012-02-23 17:52:34 +02:00
Alexey Shchepin
52df4fa024 Merge branch '2.1.x' of git+ssh://git@gitorious.process-one.net/ejabberd/mainline.git into 2.2.x
Conflicts:
	src/configure
	src/ejabberd.app
	src/ejabberd_receiver.erl
	src/tls/tls_drv.c
	src/web/ejabberd_http.erl
2012-02-20 17:29:18 +02:00
Christophe Romain
f7ffdfa15d Fix typo in xep number, bosh is xep0206 (thanks to Ludovic Bocquet) 2012-02-20 14:15:08 +01:00
Badlop
7d623d5eb4 Option default_host for handling HTTP requests with ambiguous Host (EJAB-1261) 2012-02-14 11:35:52 +01:00
Alexey Shchepin
1ecc9ac48c Fixed ejabberd_http:get_line 2012-01-19 12:20:48 +02:00
Alexey Shchepin
eaecb9b65c Fixed ejabberd_http:get_line 2012-01-19 12:20:02 +02:00
Christophe Romain
e0781d9217 merge from 2.1.10 and resolve conflicts 2011-12-30 11:33:34 +01:00
Evgeniy Khramtsov
21c75ebce5 Process "xmlns:xmpp" and "xmlns:stream" correctly (thanks to Pawel) 2011-12-16 20:10:44 +10:00
Badlop
48308042b6 Use the regexp frontend module (EJAB-921) 2011-12-08 12:40:04 +01:00
Alexey Shchepin
bd91e2da16 Handle invalid input in ejabberd_websocket 2011-12-01 15:43:56 +02:00
Evgeniy Khramtsov
7b0174a626 Replace dont_concat with max_concat option 2011-10-18 23:44:00 +10:00
Evgeniy Khramtsov
2270df86d9 Use queue instead of a list in order to avoid O(N) complexity 2011-10-18 15:34:11 +10:00