Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files


git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
  • Loading branch information...
1 parent c457013 commit e86d1403284945bc87c5141ef9a16b059d15d37b @klacke committed
0  ebin/.empty
No changes.
1,180 ebin/erl_crash.dump
@@ -1,1180 +0,0 @@
-<Erlang crash dump>
-Mon Jan 28 21:38:24 2002
-Slogan: init terminating in do_boot ()
-Erlang (BEAM) emulator version 5.1
-Compiled on Wed Nov 14 00:37:35 2001
-Process Information
-<0.0.0> Running. Registered as: init
-Spawned as: otp_ring0:start/2
-Message buffer data: 7 words
-Link list: [<0.2.0>]
-Reductions 106 stack+heap 233 old_heap_sz=144
-Heap unused=5 OldHeap unused=144
-Stack dump:
-program counter = 0x81c25c4 (init:boot_loop/2 + 32)
-cp = 0x81c2444 (init:things_to_string/1 + 68)
-0x81d4740 Return addr 0x8114B48 (<terminate process normally>)
-<0.2.0> Waiting. Registered as: erl_prim_loader
-Spawned as: erl_prim_loader:start_it/4
-Message buffer data: 0 words
-Link list: [<0.0.0>,#Port<0.1>]
-Reductions 1277 stack+heap 610 old_heap_sz=0
-Heap unused=452 OldHeap unused=0
-Stack dump:
-program counter = 0x81cf0f4 (erl_prim_loader:loop/3 + 52)
-cp = 0x8114b48 (<terminate process normally>)
-arity = 0
-0x81b2ffc Return addr 0x8114B48 (<terminate process normally>)
-y(0) ["."]
-y(1) <0.1.0>
-y(2) {state,[],none,get_from_port_efile,efile_stop_port,exit_port,#Port<0.1>,infinity,dummy_in_handler}
-y(3) infinity
-Zombie Process Information
-Processes kept: 0
-Port Information
-Connected: <0.2.0>
-Links: <0.2.0>
-Port controls linked-in driver: efile
-Internal Table Information
-Hash Table(atom_tab), size(2411), used(862), objs(1051), depth(4)
-Index Table(atom_tab), size(3000), limit(1048576), used(1051), rate(100)
-Atom space 4966/32772
-Hash Table(module_code), size(47), used(5), objs(5), depth(1)
-Index Table(module_code), size(50), limit(65536), used(5), rate(10)
-Hash Table(export_list), size(397), used(267), objs(420), depth(5)
-Index Table(export_list), size(500), limit(65536), used(420), rate(100)
-Hash Table(process_reg), size(11), used(2), objs(2), depth(1)
-Hash Table(fun_table), size(23), used(6), objs(6), depth(1)
-Mmap chunks 0
-Mmap size 0/0
-Allocated binary data 0
-Allocated by process_desc 5520
-Allocated by table_desc 1520
-Allocated by link_desc 720
-Allocated by atom_desc 25440
-Allocated by export_desc 20160
-Allocated by module_desc 800
-Allocated by preg_desc 400
-Allocated by erts_fun_desc 1040
-ETS tables
-Distribution Information
-Not alive
-Loaded Modules Information
-otp_ring0 481
-init 28268
-prim_inet 34816
-prim_file 25290
-erl_prim_loader 14031
-Totals. Current code = 102886 Old code = 0
-Fun table
-module=init uniq=62364181 index=1:
- address=0x81c82c0
- refc=1
-module=init uniq=63089527 index=3:
- address=0x81c8288
- refc=1
-module=init uniq=51435543 index=2:
- address=0x81c82a4
- refc=1
-module=prim_file uniq=117922883 index=1:
- address=0x81ce6c4
- refc=2
-module=init uniq=63592022 index=0:
- address=0x81c82dc
- refc=1
-module=prim_file uniq=10167612 index=0:
- address=0x81ce6e0
- refc=1
-'can not get bootfile'
-'bootfile format error'
-'can not load'
-'unexpected command in bootfile'
-'prim_load port died'
-'no -loader flag'
-'no -hosts flag'
-'no -id flag'
-'no -path flag'
-<End of Erlang crash dump>
8 ebin/
@@ -1,8 +0,0 @@
- [{description,"E WWW server"},
- {vsn,""},
- {modules,[ewww, ewww_app, bassert, ewww_config, ewww_server, ewww_sup]},
- {registered, []},
- {mod,{ewww_app,[]}},
- {env, []},
- {applications,[kernel,stdlib]}]}.
8 ebin/
@@ -1,8 +0,0 @@
- [{description,"yaws WWW server"},
- {vsn,"0.42"},
- {modules,[yaws, yaws_app, yaws_config, yaws_server, yaws_sup, yaws_api, yaws_log, yaws_ls, yaws_debug, yaws_compile, yaws_ctl, yaws_ssl, yaws_vsn]},
- {registered, []},
- {mod,{yaws_app,[]}},
- {env, []},
- {applications,[kernel,stdlib]}]}.
7 src/yaws_api.erl
@@ -293,4 +293,11 @@ find_cookie_val3([H|T], Ack) ->
+url_decode([$%, Hi, Lo | Tail]) ->
+ Hex = yaws:hex_to_integer([Hi, Lo]),
+ [Hex | url_decode(Tail)];
+url_decode([H|T]) ->
+ [H |url_decode(T)];
+url_decode([]) ->
+ [].
8 src/yaws_config.erl
@@ -72,8 +72,10 @@ exists(F) ->
validate_cs(GC, Cs) ->
+ ?Debug("Cs ~p~n", [Cs]),
L = lists:map(fun(SC) -> {{SC#sconf.listen, SC#sconf.port}, SC} end,Cs),
L2 = lists:map(fun(X) -> element(2, X) end, lists:sort(L)),
+ ?Debug("L2 ~p~n", [L2]),
L3 = arrange(L2, start, [], []),
?Debug("Arrange: ~p", [L3]),
case validate_groups(L3) of
@@ -127,14 +129,14 @@ arrange([C|Tail], start, [], B) ->
arrange([], _, [], B) ->
arrange([], _, A, B) ->
- [A|B];
+ [A | B];
arrange([C1|Tail], {in, C0}, A, B) ->
C1#sconf.listen == C0#sconf.listen,
C1#sconf.port == C0#sconf.port ->
arrange(Tail, {in, C0}, [C1|A], B);
true ->
- arrange(Tail, {in, C1}, [], [A|B])
+ arrange(Tail, {in, C1}, [C1], [A|B])
@@ -145,7 +147,7 @@ make_default_gconf() ->
ebin_dir = [filename:join([Y, "examples/ebin"])],
include_dir = [filename:join([Y, "examples/include"])],
logdir = ".",
- yaws = "Yaws 0.2"}.
+ yaws = "Yaws " ++ yaws_vsn:version()}.
make_default_sconf() ->
4 src/yaws_ls.erl
@@ -61,10 +61,6 @@ list_head() ->
"<hr> \n".
-% produce a string like
-% <img SRC="/icons/layout.gif" ALT="[ ]"> <a HREF="iSD_SSL_3.0.1_beta1_Application_Guide_011206.pdf">iSD_SSL_3.0.1_beta1_..&gt;</a> 17-Dec-2001 19:06 1.3M
file_entry({ok, FI}, DirName, Name) ->
?Debug("file_entry(~p) ", [Name]),
Ext = filename:extension(Name),
18 src/yaws_server.erl
@@ -1571,6 +1571,24 @@ ret_reg_split(DR, Comps, RevFile, Query) ->
mime=Mime, q=Query};
{ok, FI} when FI#file_info.type == directory ->
maybe_return_dir(DR, lists:flatten(Dir) ++ File);
+ {error, enoent} ->
+ %% kind of hackish, defer url decode
+ Dir2 = lists:flatmap(fun(X) -> yaws_api:url_decode(X) end, Dir),
+ File2 = yaws_api:url_decode(File),
+ L2 = [DR, Dir2, File2],
+ case prim_file:read_file_info(L) of
+ {ok, FI} when FI#file_info.type == regular ->
+ {X, Mime} = suffix_type(RevFile),
+ #urltype{type=X,
+ finfo=FI,
+ dir = Dir2,
+ fullpath = lists:flatten(L2),
+ mime=Mime, q=Query};
+ {ok, FI} when FI#file_info.type == directory ->
+ maybe_return_dir(DR, lists:flatten(Dir2) ++ File2);
+ Err ->
+ #urltype{type=error, data=Err}
+ end;
Err ->
#urltype{type=error, data=Err}
2 
@@ -1 +1 @@
3  www/history.yaws
@@ -12,6 +12,9 @@ out(A) ->
<table border="2">
+<tr><td> Jun 10, use prim_file instead of file: calls, fix a bug
+with iso 8859 chars in urls, virthost bug </td></tr>
<tr><td> May 26, added SSL support 0.40 </td> </tr>
<tr><td> Mar 29, fixed a bug in the log wrapping which restarted the server</td></tr>
48 www/post.yaws
@@ -39,52 +39,8 @@ out(A) ->
-<p>Above, we got all the <tt>Value</tt> arguments as strings, however
-it is also possible to let the parser coerce data types of the posted data.
-<p>In this specific case we know the expected type of the arguments posted from
-the form. If <a href="form.yaws">back</a> back to the forms page, we can see that
-the arguments are
-<li> string (the "lang" field)
-<li> checkbox (the "imperative" field)
-<li> integer (the "tabs" field)
-<li> checkbox (the "os1" field)
-<li> checkbox (the "os2" field)
-<li> checkbox (the "os3" field)
-<li> string (the "other" field)
-<li> string (the "contact" field)
-<p>Since we know the types we expect in the form, we can indicate that to
-the <tt>parse_post_data/2</tt> function as in the following code:
-out(A) ->
- Spec = [string, checkbox, integer,
- checkbox, checkbox, checkbox,
- string, string],
- L = f("&lt;pre>~n clidata: ~p~n &lt;/pre>",
- [yaws_api:parse_post_data(A#arg.clidata, Spec)]),
- {ok,L}.
-This will produce the following output:
-out(A) ->
- Spec = [string, checkbox, int,
- checkbox, checkbox, checkbox,
- string, string],
- L = f("~n<pre>~n clidata: ~p~n </pre>",
- [yaws_api:parse_post_data(A#arg.clidata, Spec)]),
- {ok,L}.
+<p> It is up to the yaws programmer to parse this
+structure and extract the data from it.
10 www/static.html
@@ -1,5 +1,15 @@
+ <meta name="keywords" content="Hyber">
+ <title>Hyber</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<IMG SRC="/xxåäöxx.jpg" HEIGHT=40 WIDTH="400" ALT="HYBER LOGO">
<p> no content
1  www/todo.yaws
@@ -11,6 +11,7 @@ out(A) ->
+<li> clusters
<li> handle the If-..... headers
<li> generate Etag for static content
<li> handle Range header

0 comments on commit e86d140

Please sign in to comment.
Something went wrong with that request. Please try again.