summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2004-07-06 21:34:50 +0000
committerAlexey Shchepin <alexey@process-one.net>2004-07-06 21:34:50 +0000
commitb88da95b514780a673e38fc1fb3c5124364c9fb7 (patch)
tree9c2ceb10e578e105abd093d3be68e780da886ca2 /src
parent* src/ejabberd_auth.erl: Minor fix (diff)
* src/Makefile.win32: Updated (thanks to Sergei Golovan)
* src/Makefile.in: Added installation of ejabberd.cfg (thanks to Sergei Golovan) * src/web/ejabberd_http.erl: Fixed support for HTTP/1.0 clients * doc/guide.tex: Updated (thanks to Sergei Golovan) SVN Revision: 240
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in5
-rw-r--r--src/Makefile.win321
-rw-r--r--src/web/ejabberd_http.erl30
3 files changed, 25 insertions, 11 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 70e49f54..b6eaa886 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -23,6 +23,8 @@ BEAMDIR = $(EJABBERDDIR)/ebin
PRIVDIR = $(EJABBERDDIR)/priv
SODIR = $(PRIVDIR)/lib
MSGSDIR = $(PRIVDIR)/msgs
+LOGDIR = $(DESTDIR)/var/log/ejabberd
+ETCDIR = $(DESTDIR)/etc/ejabberd
all: $(ERLSHLIBS) compile-beam all-recursive
@@ -57,6 +59,9 @@ install: all
install -m 644 *.so $(SODIR)
install -d $(MSGSDIR)
install -m 644 msgs/*.msg $(MSGSDIR)
+ install -d $(ETCDIR)
+ install -b -m 644 ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg
+ install -d $(LOGDIR)
clean: clean-recursive clean-local
diff --git a/src/Makefile.win32 b/src/Makefile.win32
index d03ffcfd..57fd239b 100644
--- a/src/Makefile.win32
+++ b/src/Makefile.win32
@@ -33,6 +33,7 @@ release : build release_clean
mkdir $(EREL)
mkdir $(EBIN_DIR)
copy *.beam $(EBIN_DIR)
+ @erase $(EBIN_DIR)\configure.beam
copy *.app $(EBIN_DIR)
mkdir $(PRIV_DIR)
mkdir $(SO_DIR)
diff --git a/src/web/ejabberd_http.erl b/src/web/ejabberd_http.erl
index 0723fd57..ddd164fc 100644
--- a/src/web/ejabberd_http.erl
+++ b/src/web/ejabberd_http.erl
@@ -22,6 +22,7 @@
-record(state, {sockmod,
socket,
request_method,
+ request_version,
request_path,
request_auth,
request_content_length,
@@ -72,8 +73,9 @@ receive_headers(State) ->
Data = SockMod:recv(Socket, 0, 300000),
?DEBUG("recv: ~p~n", [Data]),
case Data of
- {ok, {http_request, Method, Path, _Version}} ->
+ {ok, {http_request, Method, Path, Version}} ->
receive_headers(State#state{request_method = Method,
+ request_version = Version,
request_path = Path});
{ok, {http_header, _, 'Authorization', _, Auth}} ->
receive_headers(State#state{request_auth = parse_auth(Auth)});
@@ -95,16 +97,22 @@ receive_headers(State) ->
element(2, State#state.request_path)]),
Out = process_request(State),
send_text(State, Out),
- case SockMod of
- gen_tcp ->
- inet:setopts(Socket, [{packet, http}]);
- ssl ->
- ssl:setopts(Socket, [{packet, http}])
- end,
- receive_headers(#state{sockmod = SockMod,
- socket = Socket,
- use_http_poll = State#state.use_http_poll,
- use_web_admin = State#state.use_web_admin});
+ case State#state.request_version of
+ {1,1} ->
+ case SockMod of
+ gen_tcp ->
+ inet:setopts(Socket, [{packet, http}]);
+ ssl ->
+ ssl:setopts(Socket, [{packet, http}])
+ end,
+ receive_headers(
+ #state{sockmod = SockMod,
+ socket = Socket,
+ use_http_poll = State#state.use_http_poll,
+ use_web_admin = State#state.use_web_admin});
+ _ ->
+ ok
+ end;
{error, _Reason} ->
ok;
_ ->