Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / src / cls_acl.cc
1
2
3
4 #include <iostream>
5 #include <string.h>
6 #include <stdlib.h>
7 #include <errno.h>
8
9 #include <openssl/md5.h>
10 #include <openssl/sha.h>
11
12 #include "include/types.h"
13 #include "objclass/objclass.h"
14
15
16 CLS_VER(1,0)
17 CLS_NAME(acl)
18
19 int get_method(cls_method_context_t ctx, char *indata, int datalen,
20                                  char **outdata, int *outdatalen)
21 {
22    MD5_CTX c;
23
24    cls_log("acl test method");
25    cls_log("indata=%.*s data_len=%d", datalen, indata, datalen);
26
27    cls_getxattr(ctx, "acls", outdata, outdatalen);
28
29    return 0;
30 }
31
32 int set_method(cls_method_context_t ctx, char *indata, int datalen,
33                                  char **outdata, int *outdatalen)
34 {
35    MD5_CTX c;
36
37    cls_log("acl test method");
38    cls_log("indata=%.*s data_len=%d", datalen, indata, datalen);
39
40    cls_setxattr(ctx, "acls", indata, datalen);
41
42    return 0;
43 }
44
45 CLS_INIT(acl)
46 {
47    cls_log("Loaded acl class!");
48
49    cls_handle_t h_class;
50    cls_method_handle_t h_get;
51    cls_method_handle_t h_set;
52
53    cls_register("acl", &h_class);
54    cls_register_method(h_class, "get", CLS_METHOD_RD, get_method, &h_get);
55    cls_register_method(h_class, "set", CLS_METHOD_WR, set_method, &h_set);
56
57    return;
58 }
59