View Javadoc
1   /*
2     WBEMConfigurationDefaults.java
3   
4     (C) Copyright IBM Corp. 2006, 2013
5   
6     THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
7     ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
8     CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
9   
10    You can obtain a current copy of the Eclipse Public License from
11    http://www.opensource.org/licenses/eclipse-1.0.php
12  
13    @author : Alexander Wolf-Reber, IBM, a.wolf-reber@de.ibm.com
14   * 
15   * Change History
16   * Flag       Date        Prog         Description
17   *------------------------------------------------------------------------------- 
18   * 1565892    2006-11-15  lupusalex    Make SBLIM client JSR48 compliant
19   * 1688273    2007-04-19  lupusalex    Full support of HTTP trailers
20   * 1815707    2007-10-30  ebak         TLS support
21   * 1827728    2007-11-12  ebak         embeddedInstances: attribute EmbeddedObject not set
22   * 1848607    2007-12-11  ebak         Strict EmbeddedObject types
23   * 2003590    2008-06-30  blaschke-oss Change licensing from CPL to EPL
24   * 2372030    2008-12-01  blaschke-oss Add property to control synchronized SSL handshaking
25   * 2524131    2009-01-21  raman_arora  Upgrade client to JDK 1.5 (Phase 1)
26   * 2846231    2009-09-23  rgummada     connection failure on CIMOM w/o user/pw
27   * 2884718    2009-10-23  blaschke-oss Merge JSR48 and SBLIM client properties
28   * 2930341    2010-01-12  blaschke-oss Sync up WBEMClientConstants with JSR48 1.0.0
29   * 2970881    2010-03-15  blaschke-oss Add property to control EmbeddedObject case
30   * 3046073    2010-09-07  blaschke-oss Performance hit due to socket conn. creation with timeout
31   * 3185763    2011-02-25  blaschke-oss Reliable indication support - Phase 1
32   * 3195069    2011-02-28  blaschke-oss Need support to disable SSL Handshake
33   * 3206904    2011-05-03  blaschke-oss Indication listener deadlock causes JVM to run out sockets
34   * 3459036    2011-12-13  blaschke-oss Linked list for RI queue not efficient for many LDs
35   * 3492214    2012-02-23  blaschke-oss Add a SenderIPAddress property indications
36   * 3492224    2012-02-23  blaschke-oss Need two different timeouts for Socket connections
37   * 3521157    2012-05-10  blaschke-oss JSR48 1.0.0: PROP_ENABLE_*_LOGGING is Level, not 0/1
38   * 3536399    2012-08-25  hellerda     Add client/listener peer authentication properties
39   * 3572993    2012-10-01  blaschke-oss parseDouble("2.2250738585072012e-308") DoS vulnerability
40   * 3598613    2013-01-11  blaschke-oss different data type in cim instance and cim object path
41   *    2628    2013-03-26  blaschke-oss Limit size of LinkedList of CIMEvents to be dispatched
42   *    2635    2013-05-16  blaschke-oss Slowloris DoS attack for CIM indication listener port
43   *    2654    2013-07-29  blaschke-oss Check jcc idle time with CIMOM keepalive timeout to avoid EOF
44   *    2151    2013-08-20  blaschke-oss gzip compression not supported
45   *    2711    2013-11-13  blaschke-oss LOCALNAMESPACEPATH allows 0 NAMESPACE children
46   */
47  
48  package org.metricshub.wbem.sblim.cimclient.internal.util;
49  
50  /*-
51   * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
52   * WBEM Java Client
53   * ჻჻჻჻჻჻
54   * Copyright 2023 - 2025 MetricsHub
55   * ჻჻჻჻჻჻
56   * Licensed under the Apache License, Version 2.0 (the "License");
57   * you may not use this file except in compliance with the License.
58   * You may obtain a copy of the License at
59   *
60   *      http://www.apache.org/licenses/LICENSE-2.0
61   *
62   * Unless required by applicable law or agreed to in writing, software
63   * distributed under the License is distributed on an "AS IS" BASIS,
64   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
65   * See the License for the specific language governing permissions and
66   * limitations under the License.
67   * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
68   */
69  
70  import org.metricshub.wbem.sblim.cimclient.internal.http.WwwAuthInfo;
71  
72  /**
73   * Interface WBEMConfigurationDefaults holds the default values for the
74   * configuration properties.
75   *
76   */
77  public interface WBEMConfigurationDefaults {
78  	/**
79  	 * CONFIG_URL
80  	 */
81  	public static final String[] CONFIG_URL = new String[] {
82  		"file:sblim-cim-client2.properties",
83  		"file:" + System.getProperty("user.home") + "/sblim-cim-client2.properties",
84  		"file:/etc/java/sblim-cim-client2.properties"
85  	};
86  
87  	/**
88  	 * LOG_FILE_LEVEL
89  	 */
90  	public static final String LOG_FILE_LEVEL = "OFF";
91  
92  	/**
93  	 * LOG_FILE_LOCATION
94  	 */
95  	public static final String LOG_FILE_LOCATION = "%t/cimclient_log_%g.txt";
96  
97  	/**
98  	 * LOG_FILE_SIZE_LIMIT
99  	 */
100 	public static final String LOG_FILE_SIZE_LIMIT = "5242880";
101 
102 	/**
103 	 * LOG_FILE_COUNT
104 	 */
105 	public static final String LOG_FILE_COUNT = "3";
106 
107 	/**
108 	 * LOG_CONSOLE_LEVEL
109 	 */
110 	public static final String LOG_CONSOLE_LEVEL = "OFF";
111 
112 	/**
113 	 * LOG_CONSOLE_TYPE
114 	 */
115 	public static final String LOG_CONSOLE_TYPE = WBEMConstants.MESSAGE;
116 
117 	/**
118 	 * TRACE_FILE_LEVEL
119 	 */
120 	public static final String TRACE_FILE_LEVEL = "OFF";
121 
122 	/**
123 	 * TRACE_FILE_LOCATION
124 	 */
125 	public static final String TRACE_FILE_LOCATION = "%t/cimclient_trace_%g.txt";
126 
127 	/**
128 	 * TRACE_FILE_SIZE_LIMIT
129 	 */
130 	public static final String TRACE_FILE_SIZE_LIMIT = "1000000";
131 
132 	/**
133 	 * TRACE_FILE_COUNT
134 	 */
135 	public static final String TRACE_FILE_COUNT = "5";
136 
137 	/**
138 	 * HTTP_TIMEOUT
139 	 */
140 	public static final String HTTP_TIMEOUT = "0";
141 
142 	/**
143 	 * HTTP_POOL_SIZE
144 	 */
145 	public static final String HTTP_POOL_SIZE = "16";
146 
147 	/**
148 	 * HTTP_AUTHENTICATION_MODULE
149 	 */
150 	public static final String HTTP_AUTHENTICATION_MODULE = WwwAuthInfo.class.getName();
151 
152 	/**
153 	 * HTTP_USE_MPOST
154 	 */
155 	public static final String HTTP_USE_MPOST = "false";
156 
157 	/**
158 	 * HTTP_USE_CHUNKING
159 	 */
160 	public static final String HTTP_USE_CHUNKING = "true";
161 
162 	/**
163 	 * HTTP_VERSION
164 	 */
165 	public static final String HTTP_VERSION = "1.1";
166 
167 	/**
168 	 * KEYSTORE_TYPE
169 	 */
170 	public static final String KEYSTORE_TYPE = "JKS";
171 
172 	/**
173 	 * TRUSTSTORE_TYPE
174 	 */
175 	public static final String TRUSTSTORE_TYPE = "JKS";
176 
177 	/**
178 	 * HTTP_CONNECTION_RETRIES
179 	 */
180 	public static final String HTTP_CONNECTION_RETRIES = "0";
181 
182 	/**
183 	 * HTTP_ENABLE_CONTENT_LENGTH_RETRY
184 	 */
185 	public static final String HTTP_ENABLE_CONTENT_LENGTH_RETRY = "false";
186 
187 	/**
188 	 * HTTP_CONTENT_LENGTH_THRESHOLD
189 	 */
190 	public static final String HTTP_CONTENT_LENGTH_THRESHOLD = "50";
191 
192 	/**
193 	 * CIMXML_PARSER
194 	 */
195 	public static final String CIMXML_PARSER = WBEMConstants.SAX;
196 
197 	/**
198 	 * CIMXML_TRACING
199 	 */
200 	public static final String CIMXML_TRACING = "false";
201 
202 	/**
203 	 * CIMXML_EMBOBJBUILDER
204 	 */
205 	public static final String CIMXML_EMBOBJBUILDER = "AttribOnly";
206 
207 	/**
208 	 * CIMXML_PARSER_STRICT_EMBOBJ_TYPES
209 	 */
210 	public static final String CIMXML_PARSER_STRICT_EMBOBJ_TYPES = "true";
211 
212 	/**
213 	 * CIMXML_BUILDER_UPPERCASE_EMBOBJ_ENTITIES
214 	 */
215 	public static final String CIMXML_BUILDER_UPPERCASE_EMBOBJ_ENTITIES = "true";
216 
217 	/**
218 	 * PERFORM_SSL_HANDSHAKE
219 	 */
220 	public static final String PERFORM_SSL_HANDSHAKE = "true";
221 
222 	/**
223 	 * SYNCHRONIZED_SSL_HANDSHAKE
224 	 */
225 	public static final String SYNCHRONIZED_SSL_HANDSHAKE = "false";
226 
227 	/**
228 	 * SOCKET_CONNECT_WITH_TIMEOUT
229 	 */
230 	public static final String SOCKET_CONNECT_WITH_TIMEOUT = "true";
231 
232 	/**
233 	 * SOCKET_CONNECT_TIMEOUT
234 	 */
235 	public static final String SOCKET_CONNECT_TIMEOUT = "0";
236 
237 	/**
238 	 * SOCKET_IDLE_TIMEOUT
239 	 */
240 	public static final String SOCKET_IDLE_TIMEOUT = "0";
241 
242 	/**
243 	 * KEY_CREDENTIALS_DEFAULT_ENABLED
244 	 */
245 	public static final String KEY_CREDENTIALS_DEFAULT_ENABLED = "false";
246 
247 	/**
248 	 * KEY_DEFAULT_PRINCIPAL
249 	 */
250 	public static final String KEY_DEFAULT_PRINCIPAL = "default";
251 
252 	/**
253 	 * KEY_DEFAULT_CREDENTIAL
254 	 */
255 	public static final String KEY_DEFAULT_CREDENTIAL = "default";
256 
257 	/**
258 	 * LISTENER_HTTP_TIMEOUT
259 	 */
260 	public static final String LISTENER_HTTP_TIMEOUT = "10000";
261 
262 	/**
263 	 * LISTENER_HTTP_HEADER_TIMEOUT
264 	 */
265 	public static final String LISTENER_HTTP_HEADER_TIMEOUT = "30000";
266 
267 	/**
268 	 * LISTENER_HTTP_MAX_ALLOWED_TIMEOUTS
269 	 */
270 	public static final String LISTENER_HTTP_MAX_ALLOWED_TIMEOUTS = "0";
271 
272 	/**
273 	 * LISTENER_MAX_POOL_SIZE
274 	 */
275 	public static final String LISTENER_MAX_POOL_SIZE = "8";
276 
277 	/**
278 	 * LISTENER_MIN_POOL_SIZE
279 	 */
280 	public static final String LISTENER_MIN_POOL_SIZE = "2";
281 
282 	/**
283 	 * LISTENER_MAX_QUEUE_SIZE
284 	 */
285 	public static final String LISTENER_MAX_QUEUE_SIZE = "32";
286 
287 	/**
288 	 * LISTENER_BACKLOG
289 	 */
290 	public static final String LISTENER_BACKLOG = "2";
291 
292 	/**
293 	 * LISTENER_HANDLER_MAX_IDLE
294 	 */
295 	public static final String LISTENER_HANDLER_MAX_IDLE = "30000";
296 
297 	/**
298 	 * LISTENER_MAX_QUEUED_EVENTS
299 	 */
300 	public static final String LISTENER_MAX_QUEUED_EVENTS = "0";
301 
302 	/**
303 	 * LISTENER_ENABLE_RELIABLE_INDICATIONS
304 	 */
305 	public static final String LISTENER_ENABLE_RELIABLE_INDICATIONS = "false";
306 
307 	/**
308 	 * LISTENER_DELIVERY_RETRY_ATTEMPTS
309 	 */
310 	public static final String LISTENER_DELIVERY_RETRY_ATTEMPTS = "3";
311 
312 	/**
313 	 * LISTENER_DELIVERY_RETRY_INTERVAL
314 	 */
315 	public static final String LISTENER_DELIVERY_RETRY_INTERVAL = "20";
316 
317 	/**
318 	 * LISTENER_RELIABLE_INDICATION_HASHTABLE_CAPACITY
319 	 */
320 	public static final String LISTENER_RELIABLE_INDICATION_HASHTABLE_CAPACITY = "0";
321 
322 	/**
323 	 * LISTENER_ADD_SENDER_IP_ADDRESS
324 	 */
325 	public static final String LISTENER_ADD_SENDER_IP_ADDRESS = "false";
326 
327 	/**
328 	 * SSL_DEFAULT_PROTOCOL
329 	 */
330 	public static final String SSL_DEF_PROTOCOL = "SSL";
331 
332 	/**
333 	 * SSL_CLIENT_PEER_VERIFICATION
334 	 */
335 	public static final String SSL_CLIENT_PEER_VERIFICATION = "false";
336 
337 	/**
338 	 * SSL_LISTENER_PEER_VERIFICATION
339 	 */
340 	public static final String SSL_LISTENER_PEER_VERIFICATION = "ignore";
341 
342 	/**
343 	 * VERIFY_JAVA_LANG_DOUBLE_STRINGS
344 	 */
345 	public static final String VERIFY_JAVA_LANG_DOUBLE_STRINGS = "true";
346 
347 	/**
348 	 * SYNCHRONIZE_NUMERIC_KEY_DATA_TYPES
349 	 */
350 	public static final String SYNCHRONIZE_NUMERIC_KEY_DATA_TYPES = "false";
351 
352 	/**
353 	 * ENABLE_GZIP_ENCODING
354 	 */
355 	public static final String ENABLE_GZIP_ENCODING = "false";
356 
357 	/**
358 	 * CIMXML_PARSER_ALLOW_EMPTY_LOCALNAMESPACEPATH
359 	 */
360 	public static final String CIMXML_PARSER_ALLOW_EMPTY_LOCALNAMESPACEPATH = "false";
361 
362 	/**
363 	 * HTTP_KEEP_ALIVE_STRICT_MODE
364 	 */
365 	public static final String HTTP_KEEP_ALIVE_STRICT_MODE = "false";
366 }