Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.23 KB | None | 0 0
  1. diff --git a/src/bus/policy.c b/src/bus/policy.c
  2. index 91bea60..3286d07 100644
  3. --- a/src/bus/policy.c
  4. +++ b/src/bus/policy.c
  5. @@ -538,8 +538,7 @@ int policy_registry_import(PolicyRegistry *registry, CDVar *v) {
  6. bool apparmor;
  7. int r;
  8.  
  9. - /* XXX: provide the type */
  10. - c_dvar_read(v, "<(", NULL);
  11. + c_dvar_read(v, "<(", policy_type);
  12.  
  13. c_dvar_read(v, "[");
  14.  
  15. diff --git a/src/bus/policy.h b/src/bus/policy.h
  16. index f9fd144..aca3cbb 100644
  17. --- a/src/bus/policy.h
  18. +++ b/src/bus/policy.h
  19. @@ -5,6 +5,7 @@
  20. */
  21.  
  22. #include <c-dvar.h>
  23. +#include <c-dvar-type.h>
  24. #include <c-list.h>
  25. #include <c-rbtree.h>
  26. #include <c-stdaux.h>
  27. @@ -23,6 +24,136 @@ typedef struct PolicySnapshot PolicySnapshot;
  28. typedef struct PolicyVerdict PolicyVerdict;
  29. typedef struct PolicyXmit PolicyXmit;
  30.  
  31. +#define C_DVAR_T_TUPLE10(_type1, _type2, _type3, _type4, _type5, _type6, _type7, _type8, _type9, _type_l) \
  32. + C_DVAR_T_TUPLE( \
  33. + C_DVAR_T_TUPLE_APPEND( \
  34. + C_DVAR_T_TUPLE_APPEND( \
  35. + C_DVAR_T_TUPLE_APPEND( \
  36. + C_DVAR_T_TUPLE_APPEND( \
  37. + C_DVAR_T_TUPLE_APPEND( \
  38. + C_DVAR_T_TUPLE_APPEND( \
  39. + C_DVAR_T_TUPLE_APPEND( \
  40. + C_DVAR_T_TUPLE_APPEND( \
  41. + C_DVAR_T_TUPLE_APPEND( \
  42. + _type1, \
  43. + _type2), \
  44. + _type3), \
  45. + _type4), \
  46. + _type5), \
  47. + _type6), \
  48. + _type7), \
  49. + _type8), \
  50. + _type9), \
  51. + _type_l) \
  52. + )
  53. +
  54. +
  55. +static const CDVarType policy_type[] = {
  56. + C_DVAR_T_INIT(
  57. + C_DVAR_T_TUPLE4(
  58. + C_DVAR_T_ARRAY(
  59. + C_DVAR_T_TUPLE2(
  60. + C_DVAR_T_u,
  61. + C_DVAR_T_TUPLE5(
  62. + C_DVAR_T_b,
  63. + C_DVAR_T_t,
  64. + C_DVAR_T_ARRAY(
  65. + C_DVAR_T_TUPLE4(
  66. + C_DVAR_T_b,
  67. + C_DVAR_T_t,
  68. + C_DVAR_T_b,
  69. + C_DVAR_T_s
  70. + )
  71. + ),
  72. + C_DVAR_T_ARRAY(
  73. + C_DVAR_T_TUPLE10(
  74. + C_DVAR_T_b,
  75. + C_DVAR_T_t,
  76. + C_DVAR_T_s,
  77. + C_DVAR_T_s,
  78. + C_DVAR_T_s,
  79. + C_DVAR_T_s,
  80. + C_DVAR_T_u,
  81. + C_DVAR_T_u,
  82. + C_DVAR_T_t,
  83. + C_DVAR_T_t
  84. + )
  85. + ),
  86. + C_DVAR_T_ARRAY(
  87. + C_DVAR_T_TUPLE10(
  88. + C_DVAR_T_b,
  89. + C_DVAR_T_t,
  90. + C_DVAR_T_s,
  91. + C_DVAR_T_s,
  92. + C_DVAR_T_s,
  93. + C_DVAR_T_s,
  94. + C_DVAR_T_u,
  95. + C_DVAR_T_u,
  96. + C_DVAR_T_t,
  97. + C_DVAR_T_t
  98. + )
  99. + )
  100. + )
  101. + )
  102. + ),
  103. + C_DVAR_T_ARRAY(
  104. + C_DVAR_T_TUPLE4(
  105. + C_DVAR_T_b,
  106. + C_DVAR_T_u,
  107. + C_DVAR_T_u,
  108. + C_DVAR_T_TUPLE5(
  109. + C_DVAR_T_b,
  110. + C_DVAR_T_t,
  111. + C_DVAR_T_ARRAY(
  112. + C_DVAR_T_TUPLE4(
  113. + C_DVAR_T_b,
  114. + C_DVAR_T_t,
  115. + C_DVAR_T_b,
  116. + C_DVAR_T_s
  117. + )
  118. + ),
  119. + C_DVAR_T_ARRAY(
  120. + C_DVAR_T_TUPLE10(
  121. + C_DVAR_T_b,
  122. + C_DVAR_T_t,
  123. + C_DVAR_T_s,
  124. + C_DVAR_T_s,
  125. + C_DVAR_T_s,
  126. + C_DVAR_T_s,
  127. + C_DVAR_T_u,
  128. + C_DVAR_T_u,
  129. + C_DVAR_T_t,
  130. + C_DVAR_T_t
  131. + )
  132. + ),
  133. + C_DVAR_T_ARRAY(
  134. + C_DVAR_T_TUPLE10(
  135. + C_DVAR_T_b,
  136. + C_DVAR_T_t,
  137. + C_DVAR_T_s,
  138. + C_DVAR_T_s,
  139. + C_DVAR_T_s,
  140. + C_DVAR_T_s,
  141. + C_DVAR_T_u,
  142. + C_DVAR_T_u,
  143. + C_DVAR_T_t,
  144. + C_DVAR_T_t
  145. + )
  146. + )
  147. + )
  148. + )
  149. + ),
  150. + C_DVAR_T_ARRAY(
  151. + C_DVAR_T_TUPLE2(
  152. + C_DVAR_T_s,
  153. + C_DVAR_T_s
  154. + )
  155. + ),
  156. + C_DVAR_T_b
  157. + )
  158. + )
  159. +};
  160. +
  161. enum {
  162. _POLICY_E_SUCCESS,
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement