35
-export([store_directory_data/2]).
35
-export([store_directory_data/3]).
37
37
-include("httpd.hrl").
38
38
-include("mod_auth.hrl").
40
store_directory_data(_Directory, DirData) ->
40
store_directory_data(_Directory, DirData, Server_root) ->
41
41
?CDEBUG("store_directory_data -> ~n"
44
44
[_Directory, DirData]),
46
PWFile = proplists:get_value(auth_user_file, DirData),
47
GroupFile = proplists:get_value(auth_group_file, DirData),
46
{PWFile, Absolute_pwdfile} = absolute_file_name(auth_user_file, DirData,
48
{GroupFile, Absolute_groupfile} = absolute_file_name(auth_group_file,
49
DirData, Server_root),
48
50
Addr = proplists:get_value(bind_address, DirData),
49
51
Port = proplists:get_value(port, DirData),
51
53
PWName = httpd_util:make_name("httpd_dets_pwdb",Addr,Port),
52
case dets:open_file(PWName,[{type,set},{file,PWFile},{repair,true}]) of
54
case dets:open_file(PWName,[{type,set},{file,Absolute_pwdfile},{repair,true}]) of
54
56
GDBName = httpd_util:make_name("httpd_dets_groupdb",Addr,Port),
55
case dets:open_file(GDBName,[{type,set},{file,GroupFile},{repair,true}]) of
57
case dets:open_file(GDBName,[{type,set},{file,Absolute_groupfile},{repair,true}]) of
57
59
NDD1 = lists:keyreplace(auth_user_file, 1, DirData,
58
60
{auth_user_file, PWDB}),
229
231
dets:close(PWDB),
234
%% absolute_file_name/2
236
%% Return the absolute path name of File_type.
237
absolute_file_name(File_type, DirData, Server_root) ->
238
Path = proplists:get_value(File_type, DirData),
239
Absolute_path = case filename:pathtype(Path) of
245
" is an invalid file name because "
246
"ServerRoot is not defined")};
248
filename:join(Server_root,Path)
253
{Path, Absolute_path}.