src/server/daemon/ws-fn.c

Fri, 23 Oct 2015 17:28:09 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Fri, 23 Oct 2015 17:28:09 +0200
changeset 104
a8acbb12f27c
parent 96
0185b13bf41f
child 107
7e81699d1f77
permissions
-rw-r--r--

implemented range requests

1
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 /*
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 *
44
3da1f7b6847f added some error messages
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 38
diff changeset
4 * Copyright 2013 Olaf Wintermann. All rights reserved.
1
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 *
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 *
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 *
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 *
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 */
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
14
b8bf95b39952 New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 13
diff changeset
29 #include "../public/nsapi.h"
1
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30
23
a2c8fc23c90e Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 20
diff changeset
31 #include "../safs/auth.h"
14
b8bf95b39952 New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 13
diff changeset
32 #include "../safs/nametrans.h"
23
a2c8fc23c90e Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 20
diff changeset
33 #include "../safs/pathcheck.h"
14
b8bf95b39952 New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 13
diff changeset
34 #include "../safs/objecttype.h"
b8bf95b39952 New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 13
diff changeset
35 #include "../safs/service.h"
17
d2a97bbeb57d Added init.conf parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 14
diff changeset
36 #include "../safs/init.h"
37
360b9aabe17e added support for asynchronous safs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
37 #include "../safs/common.h"
45
a24aa388f02f added access log
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 44
diff changeset
38 #include "../safs/addlog.h"
14
b8bf95b39952 New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 13
diff changeset
39 #include "../webdav/webdav.h"
3
137197831306 minimal request handling
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 1
diff changeset
40
81
d25825f37967 preparation for admin interface
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 59
diff changeset
41 #include "../admin/admin.h"
23
a2c8fc23c90e Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 20
diff changeset
42
1
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 struct FuncStruct webserver_funcs[] = {
84
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
44 { "load-modules", load_modules, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
45 { "assign-name", assign_name, NULL, NULL, 0},
96
0185b13bf41f added document-root and pfx2dir nametrans safs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 84
diff changeset
46 { "document-root", document_root, NULL, NULL, 0},
0185b13bf41f added document-root and pfx2dir nametrans safs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 84
diff changeset
47 { "pfx2dir", pfx2dir, NULL, NULL, 0},
84
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
48 { "type-by-extension", object_type_by_extension, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
49 { "send-file", send_file, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
50 { "common-index", service_index, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
51 { "service-hello", service_hello, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
52 { "send-options", send_options, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
53 { "webdav-init", webdav_init, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
54 { "webdav-setcollection", webdav_setcollection, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
55 { "webdav-service", webdav_service, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
56 { "admin-init", admin_init, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
57 { "admin-service", admin_service, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
58 { "auth-basic", auth_basic, NULL, NULL, 0 },
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
59 { "auth-db", auth_db, NULL, NULL, 0 },
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
60 { "require-auth", require_auth, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
61 { "require-access", require_access, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
62 { "append-acl", append_acl, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
63 { "check-acl", check_acl, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
64 { "print-message", print_message, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
65 { "common-log", common_log, NULL, NULL, 0},
afd57ce39ec9 added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 81
diff changeset
66 {NULL, NULL, NULL, NULL, 0}
1
3c066d52342d added source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
67 };

mercurial