All Classes Files Functions Variables Pages
SecuritySettings.idl
Go to the documentation of this file.
1 /**
2  * @file SecuritySettings.idl
3  * @brief Security settings API
4  * @version 2
5  */
6 
7 #import <kerio/web/idl/SharedStructures.idl>
8 #import <common.idl>
9 
10 module webadmin {
11 
12 /**
13  * Miscellaneous part
14  */
15 
17  boolean enabled;
18  boolean log;
19 };
20 
21 struct UpnpConfig {
22  boolean enabled;
23  boolean logPackets;
24  boolean logConnections;
25 };
26 
27 struct IPv6Config {
28  boolean blockNative;
29  boolean blockTunnels;
30  kerio::web::OptionalEntity addressGroupException;
31 };
32 
33 struct DhcpScopes {
34  boolean blockUnknownIp;
35  boolean log;
36  kerio::web::OptionalString blockScopeId;
37 };
38 
39 
40 /**
41  * @deprecated use ConnLimitSettings instead
42  */
43 [Deprecated]
45  boolean enabled;
46  long soft;
47  long value; // hard
49  OptionalIdReference exclusions;
50  long exclSoft;
51  long exclValue; // hard
52  kerio::web::OptionalLong exclRate;
53 };
54 
56  AntiSpoofingConfig antiSpoofing;
57  [Deprecated]
58  ConnectionLimit connectionLimit; ///< @deprecated use ConnLimit instead
59 
60  UpnpConfig upnp;
61  IPv6Config ipv6;
62  DhcpScopes dhcpScopes;
63 };
64 
65 /**
66  * Mac Filter part
67  */
68 
69 enum MacFilterActionType {
70  MacFilterDeny,
71  MacFilterAllow
72 };
73 
74 struct MacAccessItem {
75  string macAddress;
76  string description;
77 };
78 
79 typedef sequence<MacAccessItem> MacAccessList;
80 
82  boolean enabled;
83  IdReferenceList interfaces;
84  MacFilterActionType macFilterAction;
85  MacAccessList macAccessItems;
86  boolean allowReserved;
87 };
88 
89 /**
90  * Zero-config network
91  */
92 
93 enum ZeroConfigItemType {
94  ZeroConfigVpnClients,
95  ZeroConfigVpnTunnel,
96  ZeroConfigInterface
97 };
98 
99 /**
100  * One VPN in rule
101  */
103  ZeroConfigItemType type;
104  IdReference item;
105 };
106 
107 typedef sequence<ZeroConfigItem> ZeroConfigList;
108 
110  boolean enabled;
111  ZeroConfigList items;
112 };
113 
114 
116  MiscSettingsConfig miscSettings;
117  MacFilterConfig macFilter;
118  ZeroConfigNetwork zeroConfigNetwork;
119 };
120 
121 interface SecuritySettings {
122 
123  /**
124  * Returns actual values for Security Settings configuration in WebAdmin
125  * @param config - structure containig security settings such as macfilter action, name, mac list and belonging interfaces.
126  * @throws kerio::web::ApiException \n
127  * -32001 Session expired. - "The user is not logged in." \n
128  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
129  */
130  void get(out SecuritySettingsConfig config);
131 
132  /**
133  * Stores Security Settings configuration
134  * @param errors - list of errors \n
135  * 8002 Database error. - "Unable to add interface %1 to the MAC Filter list." \n
136  * 8002 Database error. - "Unable to remove interface %1 from the MAC Filter list." \n
137  * 8002 Database error. - "Unable to modify MAC Filter item %1." \n
138  * 8002 Database error. - "Unable to delete MAC Filter item %1." \n
139  * 8002 Database error. - "Unable to add MAC Filter item %1." \n
140  * @param config - structure containig security settings to be stored such as macfilter action, name, mac list and belonging interfaces.
141  * @throws kerio::web::ApiException \n
142  * -32001 Session expired. - "The user is not logged in." \n
143  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
144  */
145  void set(out kerio::web::ErrorList errors, in SecuritySettingsConfig config);
146 };
147 
148 }; //webadmin
Definition: SecuritySettings.idl:55
Common Kerio Control structures, enums and types.
Definition: SecuritySettings.idl:44
Definition: SecuritySettings.idl:21
Definition: common.idl:28
Definition: SecuritySettings.idl:16
ConnectionLimit connectionLimit
Definition: SecuritySettings.idl:58
Definition: SharedStructures.idl:298
Definition: SecuritySettings.idl:109
Definition: SecuritySettings.idl:115
Definition: common.idl:36
Definition: SecuritySettings.idl:81
Definition: SecuritySettings.idl:74
Definition: SecuritySettings.idl:102
Definition: SharedStructures.idl:307
Definition: Accounting.idl:11
Definition: SecuritySettings.idl:33
Definition: SecuritySettings.idl:121
Definition: SharedStructures.idl:289
Definition: SecuritySettings.idl:27