1 /* 2 (C) Copyright IBM Corp. 2006, 2013 3 4 THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE 5 ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE 6 CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. 7 8 You can obtain a current copy of the Eclipse Public License from 9 http://www.opensource.org/licenses/eclipse-1.0.php 10 11 @author : Alexander Wolf-Reber, a.wolf-reber@de.ibm.com 12 * 13 * Flag Date Prog Description 14 * ------------------------------------------------------------------------------- 15 * 1565892 2006-11-08 lupusalex Make SBLIM client JSR48 compliant 16 * 1688273 2007-04-19 lupusalex Full support of HTTP trailers 17 * 1815707 2007-10-30 ebak TLS support 18 * 1827728 2007-11-12 ebak embeddedInstances: attribute EmbeddedObject not set 19 * 1848607 2007-12-11 ebak Strict EmbeddedObject types 20 * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL 21 * 2372030 2008-12-01 blaschke-oss Add property to control synchronized SSL handshaking 22 * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) 23 * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors 24 * 2846231 2009-09-23 rgummada connection failure on CIMOM w/o user/pw 25 * 2930341 2010-01-12 blaschke-oss Sync up WBEMClientConstants with JSR48 1.0.0 26 * 2957387 2010-03-03 blaschke-oss EmbededObject XML attribute must not be all uppercases 27 * 2970881 2010-03-15 blaschke-oss Add property to control EmbeddedObject case 28 * 3046073 2010-09-07 blaschke-oss Performance hit due to socket conn. creation with timeout 29 * 3111718 2010-11-18 blaschke-oss org.sblim.cimclient SSL Code is using the wrong SSL Property 30 * 3185763 2011-02-25 blaschke-oss Reliable indication support - Phase 1 31 * 3195069 2011-02-28 blaschke-oss Need support to disable SSL Handshake 32 * 3197423 2011-03-02 blaschke-oss Server authentication with PegasusLocalAuthInfo failing 33 * 3277928 2011-04-06 blaschke-oss CIM-XML tracing cannot be enabled in the field 34 * 3206904 2011-05-03 blaschke-oss Indication listener deadlock causes JVM to run out sockets 35 * 3288721 2011-05-20 blaschke-oss Need the function of indication reordering 36 * 3459036 2011-12-13 blaschke-oss Linked list for RI queue not efficient for many LDs 37 * 3485074 2012-02-06 blaschke-oss An Indication trace request 38 * 3492246 2012-02-23 blaschke-oss Rename new indication trace property 39 * 3492214 2012-02-23 blaschke-oss Add a SenderIPAddress property indications 40 * 3492224 2012-02-23 blaschke-oss Need two different timeouts for Socket connections 41 * 3521157 2012-05-10 blaschke-oss JSR48 1.0.0: PROP_ENABLE_*_LOGGING is Level, not 0/1 42 * 3524050 2012-06-06 blaschke-oss Improve WWW-Authenticate in HTTPClient.java 43 * 3536399 2012-08-25 hellerda Add client/listener peer authentication properties 44 * 3572993 2012-10-01 blaschke-oss parseDouble("2.2250738585072012e-308") DoS vulnerability 45 * 3598613 2013-01-11 blaschke-oss different data type in cim instance and cim object path 46 * 2618 2013-02-27 blaschke-oss Need to add property to disable weak cipher suites for the secure indication 47 * 2628 2013-03-26 blaschke-oss Limit size of LinkedList of CIMEvents to be dispatched 48 * 2635 2013-05-16 blaschke-oss Slowloris DoS attack for CIM indication listener port 49 * 2642 2013-05-21 blaschke-oss Seperate properties needed for cim client and listener to filter out ciphers 50 * 2647 2013-07-01 blaschke-oss Add two ssl protocol properties for http server and client 51 * 2654 2013-07-29 blaschke-oss Check jcc idle time with CIMOM keepalive timeout to avoid EOF 52 * 2151 2013-08-20 blaschke-oss gzip compression not supported 53 * 2711 2013-11-13 blaschke-oss LOCALNAMESPACEPATH allows 0 NAMESPACE children 54 */ 55 package org.metricshub.wbem.sblim.cimclient; 56 57 /*- 58 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 59 * WBEM Java Client 60 * ჻჻჻჻჻჻ 61 * Copyright 2023 - 2025 MetricsHub 62 * ჻჻჻჻჻჻ 63 * Licensed under the Apache License, Version 2.0 (the "License"); 64 * you may not use this file except in compliance with the License. 65 * You may obtain a copy of the License at 66 * 67 * http://www.apache.org/licenses/LICENSE-2.0 68 * 69 * Unless required by applicable law or agreed to in writing, software 70 * distributed under the License is distributed on an "AS IS" BASIS, 71 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 72 * See the License for the specific language governing permissions and 73 * limitations under the License. 74 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ 75 */ 76 77 /** 78 * The interface WBEMConfigurationProperties contains the names of all 79 * configuration properties that are recognized by the CIM Client. 80 * 81 */ 82 public interface WBEMConfigurationProperties { 83 /** 84 * A URL string giving the location of the CIM client config file. <br /> 85 * <br /> 86 * By default the SBLIM CIM Client looks for 87 * <ul> 88 * <li>file:sblim-cim-client2.properties</li> 89 * <li>file:%USER_HOME%/sblim-cim-client2.properties</li> 90 * <li>file:/etc/java/sblim-cim-client2.properties</li> 91 * </ul> 92 * The first file found will be used. The default search list is not applied 93 * if this property is set, even if the given URL does not exist.<br /> 94 */ 95 public static final String CONFIG_URL = "sblim.wbem.configURL"; 96 97 /** 98 * Sets the minimum level for messages to be written to the log file.<br /> 99 * <br /> 100 * Type: <code>Discrete</code><br /> 101 * Recognition: <code>Startup</code><br /> 102 * Range: <code>OFF, SEVERE, WARNING, INFO, CONFIG, ALL</code><br /> 103 * Default: <code>OFF</code>, which disables file logging completely. 104 */ 105 public static final String LOG_FILE_LEVEL = "sblim.wbem.logFileLevel"; 106 107 /** 108 * A string specifying the location of the log file. The string may include 109 * the following special components that will be replaced at runtime:<br /> 110 * <ul> 111 * <table border="1"> 112 * <tr> 113 * <td>/</td> 114 * <td>the local pathname separator</td> 115 * </tr> 116 * <tr> 117 * <td>%t</td> 118 * <td>the system temporary directory</td> 119 * </tr> 120 * <tr> 121 * <td>%h</td> 122 * <td>the value of the "user.home" system property</td> 123 * </tr> 124 * <tr> 125 * <td>%g</td> 126 * <td>the generation number to distinguish rotated logs</td> 127 * </tr> 128 * <tr> 129 * <td>%u</td> 130 * <td>a unique number to resolve conflicts</td> 131 * </tr> 132 * <tr> 133 * <td>%%</td> 134 * <td>translates to a single percent sign "%"</td> 135 * </tr> 136 * </table> 137 * </ul> 138 * Thus for example a pattern of <code>%t/java%g.log</code> with a count of 139 * 2 would typically cause log files to be written on Unix to 140 * /var/tmp/java2.log<br /> 141 * <br /> 142 * Type: <code>String</code><br /> 143 * Recognition: <code>Startup</code><br /> 144 * Default: <code>%t/cimclient_log_%g.txt</code>. 145 */ 146 public static final String LOG_FILE_LOCATION = "sblim.wbem.logFileLocation"; 147 148 /** 149 * Sets the maximum size in bytes of a single log file. When the limit is 150 * reached a new file is created. A limit of zero will create a new log file 151 * for every log record !<br /> 152 * <br /> 153 * Type: <code>Integer</code><br /> 154 * Recognition: <code>Startup</code><br /> 155 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 156 * Default: <code>100.000</code><br /> 157 */ 158 public static final String LOG_FILE_SIZE_LIMIT = "sblim.wbem.logFileSizeLimit"; 159 160 /** 161 * Sets the number of log files to cycle through. When the number is 162 * exceeded the oldest file is dropped.<br /> 163 * <br /> 164 * Type: <code>Integer</code><br /> 165 * Recognition: <code>Startup</code><br /> 166 * Range: <code>1 .. Integer.MAX_VALUE</code><br /> 167 * Default: <code>5</code><br /> 168 */ 169 public static final String LOG_FILE_COUNT = "sblim.wbem.logFileCount"; 170 171 /** 172 * Sets the minimum level for messages to be written to the console logger 173 * file.<br /> 174 * <br /> 175 * Type: <code>Discrete</code><br /> 176 * Recognition: <code>Startup</code><br /> 177 * Range: <code>OFF, SEVERE, WARNING, INFO, CONFIG, ALL</code><br /> 178 * Default: <code>OFF</code>, which disables console logging completely. 179 */ 180 public static final String LOG_CONSOLE_LEVEL = "sblim.wbem.logConsoleLevel"; 181 182 /** 183 * Sets the type of the console logger. Maybe either message log or trace 184 * log.<br /> 185 * <br /> 186 * Type: <code>Discrete</code><br /> 187 * Recognition: <code>Startup</code><br /> 188 * Range: <code>MESSAGE, TRACE</code><br /> 189 * Default: <code>MESSAGE</code>. 190 */ 191 public static final String LOG_CONSOLE_TYPE = "sblim.wbem.logConsoleType"; 192 193 /** 194 * Sets the minimum level for messages to be written to the trace file.<br /> 195 * <br /> 196 * Type: <code>Discrete</code><br /> 197 * Recognition: <code>Startup</code><br /> 198 * Range: 199 * <code>OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL</code><br /> 200 * Default: <code>OFF</code>, which disables file tracing completely<br /> 201 */ 202 public static final String TRACE_FILE_LEVEL = "sblim.wbem.traceFileLevel"; 203 204 /** 205 * A string specifying the location of the trace file. The string may 206 * include the following special components that will be replaced at 207 * runtime:<br /> 208 * <ul> 209 * <table border="1"> 210 * <tr> 211 * <td>/</td> 212 * <td>the local pathname separator</td> 213 * </tr> 214 * <tr> 215 * <td>%t</td> 216 * <td>the system temporary directory</td> 217 * </tr> 218 * <tr> 219 * <td>%h</td> 220 * <td>the value of the "user.home" system property</td> 221 * </tr> 222 * <tr> 223 * <td>%g</td> 224 * <td>the generation number to distinguish rotated logs</td> 225 * </tr> 226 * <tr> 227 * <td>%u</td> 228 * <td>a unique number to resolve conflicts</td> 229 * </tr> 230 * <tr> 231 * <td>%%</td> 232 * <td>translates to a single percent sign "%"</td> 233 * </tr> 234 * </table> 235 * </ul> 236 * Thus for example a pattern of <code>%t/java%g.log</code> with a count of 237 * 2 would typically cause log files to be written on Unix to 238 * /var/tmp/java2.log<br /> 239 * <br /> 240 * Type: <code>String</code><br /> 241 * Recognition: <code>Startup</code><br /> 242 * Default: <code>%t/cimclient_trace_%g.txt</code><br /> 243 */ 244 public static final String TRACE_FILE_LOCATION = "sblim.wbem.traceFileLocation"; 245 246 /** 247 * Sets the maximum size in bytes of a single log file. When the limit is 248 * reached a new file is created. A limit of zero creates a new file for 249 * each trace record !<br /> 250 * <br /> 251 * Type: <code>Integer</code><br /> 252 * Recognition: <code>Startup</code><br /> 253 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 254 * Default: <code>1.000.000</code><br /> 255 */ 256 public static final String TRACE_FILE_SIZE_LIMIT = "sblim.wbem.traceFileSizeLimit"; 257 258 /** 259 * Sets the number of log files to cycle through. When the number is 260 * exceeded the oldest file is dropped.<br /> 261 * <br /> 262 * Type: <code>Integer</code><br /> 263 * Recognition: <code>Startup</code><br /> 264 * Range: <code>1 .. Integer.MAX_VALUE</code><br /> 265 * Default: <code>5</code><br /> 266 */ 267 public static final String TRACE_FILE_COUNT = "sblim.wbem.traceFileCount"; 268 269 /** 270 * The timeout for http requests. A timeout of zero is interpreted as 271 * infinite timeout.<br /> 272 * <br /> 273 * Type: <code>Integer</code><br /> 274 * Unit: <code>Milliseconds</code><br /> 275 * Recognition: <code>Anytime</code><br /> 276 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 277 * Default: <code>0</code><br /> 278 */ 279 public static final String HTTP_TIMEOUT = "sblim.wbem.httpTimeout"; 280 281 /** 282 * The size of the internal http connection pools. Each 283 * <code>WBEMClient</code> instance has it's own http connection pool. A 284 * positive value defines the number of connections, zero that no connection 285 * will be reused, and -1 all connections will be reused (when it's 286 * possible).<br /> 287 * <br /> 288 * Type: <code>Integer</code><br /> 289 * Recognition: <code>Anytime</code><br /> 290 * Range: <code>-1, 0, 1 .. Integer.MAX_VALUE</code><br /> 291 * Default: <code>16</code><br /> 292 */ 293 public static final String HTTP_POOL_SIZE = "sblim.wbem.httpPoolSize"; 294 295 /** 296 * The Java class name of the authentication module to use for http 297 * authentication. <br /> 298 * <br /> 299 * Type: <code>String</code><br /> 300 * Recognition: <code>On next authentication</code><br /> 301 * Range: 302 * 303 * <code>org.sblim.cimclient.internal.http.WwwAuthInfo, org.sblim.cimclient.internal.http.PegasusLocalAuthInfo or any self-written subclass of org.sblim.cimclient.internal.http.AuthorizationInfo</code> 304 * <br /> 305 * Default: <code>org.sblim.cimclient.internal.http.WwwAuthInfo</code><br /> 306 */ 307 public static final String HTTP_AUTHENTICATION_MODULE = "sblim.wbem.httpAuthModule"; 308 309 /** 310 * The WWW-Authenticate information to use when sending the first request to 311 * a server. <br /> 312 * <br /> 313 * Note: This string must exactly match what the server returns in the<br /> 314 * WWW-Authenticate field of an HTTP 401 response when authentication<br /> 315 * fails. The following two strings are examples:<br /> 316 * <br /> 317 * 318 * 319 * Basic realm="Secure Area" 320 * Digest realm="testrealm@host.com",qop="auth,auth-int",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",opaque="5ccc069c403ebaf9f0171e9517f40e41" 321 * 322 * 323 * Type: <code>String</code><br /> 324 * Recognition: <code>On next authentication</code><br /> 325 * Range: <code>Basic, Digest</code><br /> 326 * Default: <code>none</code><br /> 327 */ 328 public static final String HTTP_WWW_AUTHENTICATE_INFO = "sblim.wbem.httpWwwAuthenticateInfo"; 329 330 /** 331 * Specifies if MPOST is used for transmitting http messages. If false, POST 332 * is used.<br /> 333 * <br /> 334 * Type: <code>Boolean</code><br /> 335 * Recognition: <code>Anytime</code><br /> 336 * Range: <code>true, false</code><br /> 337 * Default: <code>true</code><br /> 338 */ 339 public static final String HTTP_USE_MPOST = "sblim.wbem.httpMPOST"; 340 341 /** 342 * Specifies if chunking is used for transmitting http messages.<br /> 343 * <br /> 344 * Type: <code>Boolean</code><br /> 345 * Recognition: <code>Anytime</code><br /> 346 * Range: <code>true, false</code><br /> 347 * Default: <code>true</code><br /> 348 */ 349 public static final String HTTP_USE_CHUNKING = "sblim.wbem.httpChunking"; 350 351 /** 352 * Specifies the http protocol version to use. This option is useful if the 353 * protocol negotiation fails.<br /> 354 * <br /> 355 * Type: <code>String</code><br /> 356 * Recognition: <code>Anytime</code><br /> 357 * Range: <code>1.0, 1.1</code><br /> 358 * Default: <code>1.1</code><br /> 359 */ 360 public static final String HTTP_VERSION = "sblim.wbem.httpVersion"; 361 362 /** 363 * Specifies how often the client will retry to connect to a CIMOM which 364 * refused the connection in the first place.<br /> 365 * <br /> 366 * Type: <code>Integer</code><br /> 367 * Recognition: <code>Anytime</code><br /> 368 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 369 * Default: <code>0</code><br /> 370 */ 371 public static final String HTTP_CONNECTION_RETRIES = "sblim.wbem.httpConnectionRetries"; 372 373 /** 374 * Specifies if the client will discard and request again http documents 375 * with less than a given number of bytes.<br /> 376 * <br /> 377 * Type: <code>Boolean</code><br /> 378 * Recognition: <code>Anytime</code><br /> 379 * Range: <code>true, false</code><br /> 380 * Default: <code>false</code><br /> 381 */ 382 public static final String HTTP_ENABLE_CONTENT_LENGTH_RETRY = "sblim.wbem.httpEnableContentLengthRetry"; 383 384 /** 385 * Specifies the threshold above which a http document is regarded as valid 386 * by the content length retry algorithm.<br /> 387 * <br /> 388 * Type: <code>Integer</code><br /> 389 * Recognition: <code>Anytime</code><br /> 390 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 391 * Default: <code>50</code><br /> 392 */ 393 public static final String HTTP_CONTENT_LENGTH_THRESHOLD = "sblim.wbem.httpContentLengthThreshold"; 394 395 /** 396 * The file path of the SSL keystore.<br /> 397 * <br /> 398 * Type: <code>String</code><br /> 399 * Recognition: <code>On next SSL connection</code><br /> 400 * Default: none<br /> 401 */ 402 public static final String KEYSTORE_PATH = "javax.net.ssl.keyStore"; 403 404 /** 405 * The type of the keystore.<br /> 406 * <br /> 407 * Type: <code>String</code><br /> 408 * Recognition: <code>On next SSL connection</code><br /> 409 * Range: <code>PKCS12, JKS, ...</code><br /> 410 * Default: <code>JKS</code><br /> 411 */ 412 public static final String KEYSTORE_TYPE = "javax.net.ssl.keyStoreType"; 413 414 /** 415 * The password of the keystore.<br /> 416 * <br /> 417 * Type: <code>String</code><br /> 418 * Recognition: <code>On next SSL connection</code><br /> 419 * Default: none<br /> 420 */ 421 public static final String KEYSTORE_PASSWORD = "javax.net.ssl.keyStorePassword"; 422 423 /** 424 * The file path of the SSL truststore.<br /> 425 * <br /> 426 * Type: <code>String</code><br /> 427 * Recognition: <code>On next SSL connection</code><br /> 428 * Default: none<br /> 429 */ 430 public static final String TRUSTSTORE_PATH = "javax.net.ssl.trustStore"; 431 432 /** 433 * The type of the truststore.<br /> 434 * <br /> 435 * Type: <code>String</code><br /> 436 * Recognition: <code>On next SSL connection</code><br /> 437 * Range: <code>PKCS12, JKS, ...</code><br /> 438 * Default: <code>JKS</code><br /> 439 */ 440 public static final String TRUSTSTORE_TYPE = "javax.net.ssl.trustStoreType"; 441 442 /** 443 * The password of the truststore.<br /> 444 * <br /> 445 * Type: <code>String</code><br /> 446 * Recognition: <code>On next SSL connection</code><br /> 447 * Default: none<br /> 448 */ 449 public static final String TRUSTSTORE_PASSWORD = "javax.net.ssl.trustStorePassword"; 450 451 /** 452 * The provider to use for creation of SSL client sockets.<br /> 453 * <br /> 454 * <em>Security property: JRE global access via <code>Security.setProperty()</code> and <code>Security.getProperty()</code> !</em> 455 * <br /> 456 * <br /> 457 * Type: <code>Java class name</code><br /> 458 * Recognition: <code>On next SSL connection</code><br /> 459 * Default: <code>Security.getProviders("SSLContext.SSL")</code><br /> 460 */ 461 public static final String SSL_SOCKET_PROVIDER = "sblim.wbem.sslSocketProvider"; 462 463 /** 464 * The provider to use for creation of SSL server sockets.<br /> 465 * <br /> 466 * <em>Security property: JRE global access via <code>Security.setProperty()</code> and <code>Security.getProperty()</code> !</em> 467 * <br /> 468 * <br /> 469 * Type: <code>Java class name</code><br /> 470 * Recognition: <code>On next SSL connection</code><br /> 471 * Default: <code>Security.getProviders("SSLContext.SSL")</code><br /> 472 */ 473 public static final String SSL_SERVER_SOCKET_PROVIDER = "sblim.wbem.sslServerSocketProvider"; 474 475 /** 476 * The protocol used for SSLContext.getInstance(String protocol). For 477 * IBMJSSE2 provider it can be "SSL_TLS".<br/> 478 * <br/> 479 * Security property: JRE global access via 480 * <code>Security.setProperty()</code> and 481 * <code>Security.getProperty()</code><br/> 482 * Recognition: <code>On next SSL connection</code><br/> 483 * Default: "SSL" 484 */ 485 public static final String SSL_PROTOCOL = "ssl.Protocol"; 486 487 /** 488 * The protocol used for SSLContext.getInstance(String protocol) by a 489 * client. This property overrides any value set via the ssl.Protocol 490 * property.<br/> 491 * <br/> 492 * Recognition: <code>On next SSL connection</code><br/> 493 * Default: none 494 */ 495 public static final String SSL_CLIENT_PROTOCOL = "sblim.wbem.sslClientProtocol"; 496 497 /** 498 * The protocol used for SSLContext.getInstance(String protocol) by a 499 * listener. This property overrides any value set via the ssl.Protocol 500 * property.<br/> 501 * <br/> 502 * Recognition: <code>On next SSL connection</code><br/> 503 * Default: none 504 */ 505 public static final String SSL_LISTENER_PROTOCOL = "sblim.wbem.sslListenerProtocol"; 506 507 /** 508 * The key manager factory algorithm name.<br /> 509 * <br /> 510 * <em>Security property: JRE global access via <code>Security.setProperty()</code> and <code>Security.getProperty()</code> !</em> 511 * <br /> 512 * <br /> 513 * Type: <code>String</code><br /> 514 * Recognition: <code>On next SSL connection</code><br /> 515 * Range: <code>IbmX509, SunX509, ...</code><br /> 516 * Default: <code>JRE specific</code><br /> 517 */ 518 public static final String SSL_KEYMANAGER_ALGORITHM = "ssl.KeyManagerFactory.algorithm"; 519 520 /** 521 * The trust manager factory algorithm name.<br /> 522 * <br /> 523 * <em>Security property: JRE global access via <code>Security.setProperty()</code> and <code>Security.getProperty()</code> !</em> 524 * <br /> 525 * <br /> 526 * Type: <code>String</code><br /> 527 * Recognition: <code>On next SSL connection</code><br /> 528 * Range: <code>IbmX509, SunX509, ...</code><br /> 529 * Default: <code>JRE specific</code><br /> 530 */ 531 public static final String SSL_TRUSTMANAGER_ALGORITHM = "ssl.TrustManagerFactory.algorithm"; 532 533 /** 534 * Determines if a HTTPS client will attempt to authenticate the server 535 * (i.e. CIMOM) by verifying the server certificate.<br /> 536 * <br /> 537 * If false, do not attempt verification. If true, the client will attempt 538 * to verify the server certificate against the contents of the truststore; 539 * in this case a valid path must be defined in "javax.net.ssl.trustStore" 540 * or no connection will be permitted. <br /> 541 * <br /> 542 * Type: <code>Boolean</code><br /> 543 * Recognition: On initialization of a new client<br /> 544 * Default: <code>false</code><br /> 545 */ 546 public static final String SSL_CLIENT_PEER_VERIFICATION = "sblim.wbem.sslClientPeerVerification"; 547 548 /** 549 * Determines how a HTTPS listener will handle authentication of a client 550 * (i.e. indication sender):<br /> 551 * <ul> 552 * <table border="1"> 553 * <tr> 554 * <td>ignore</td> 555 * <td>do not examine the client certificate</td> 556 * </tr> 557 * <tr> 558 * <td>accept</td> 559 * <td>examine client certificate if presented; do not fail if not presented 560 * </td> 561 * </tr> 562 * <tr> 563 * <td>require</td> 564 * <td>examine client certificate; fail if not presented</td> 565 * </tr> 566 * </table> 567 * </ul> 568 * If set to "ignore", do not attempt verification. If set to "accept" or 569 * "require", the listener will attempt to verify the sender against the 570 * contents of the truststore; in this case a valid path must be defined in 571 * "javax.net.ssl.trustStore" or no connection will be permitted. <br /> 572 * <br /> 573 * Type: <code>String</code><br /> 574 * Recognition: On next call to addListener()<br /> 575 * Default: <code>ignore</code><br /> 576 */ 577 public static final String SSL_LISTENER_PEER_VERIFICATION = "sblim.wbem.sslListenerPeerVerification"; 578 579 /** 580 * The comma-separated list of cipher suites that are to be disabled by the 581 * client when connecting via an SSL socket. In general, this is the list of 582 * cipher suites considered "too weak" for use in a particular environment.<br /> 583 * <br /> 584 * Type: <code>String</code><br /> 585 * Recognition: <code>On initialization of a new client</code><br /> 586 * Default: <code>none</code><br /> 587 */ 588 public static final String SSL_CLIENT_CIPHER_SUITES_TO_DISABLE = "sblim.wbem.sslClientCipherSuitesToDisable"; 589 590 /** 591 * The comma-separated list of cipher suites that are to be disabled by the 592 * listener when connecting via an SSL socket. In general, this is the list 593 * of cipher suites considered "too weak" for use in a particular 594 * environment.<br /> 595 * <br /> 596 * Type: <code>String</code><br /> 597 * Recognition: <code>On next call to addListener()</code><br /> 598 * Default: <code>none</code><br /> 599 */ 600 public static final String SSL_LISTENER_CIPHER_SUITES_TO_DISABLE = "sblim.wbem.sslListenerCipherSuitesToDisable"; 601 602 /** 603 * Specifies the XML parser for parsing CIM-XML responses.<br /> 604 * The SAX parser is the default choice since it is fast, resource saving 605 * and interoperable. The streaming algorithm of the PULL parser uses the 606 * fewest possible resources but at the prize to keep the CIMOMs response 607 * open for a long time. That works with many but not all CIMOMs. The DOM 608 * parser is slow and resource hungry but nice to debug.<br /> 609 * <br /> 610 * Type: <code>Discrete</code><br /> 611 * Recognition: <code>Anytime</code><br /> 612 * Range: <code>DOM, PULL, SAX</code><br /> 613 * Default: <code>SAX</code><br /> 614 */ 615 public static final String CIMXML_PARSER = "sblim.wbem.cimxmlParser"; 616 617 /** 618 * Enables or disables tracing of CIM-XML communication. The trace is sent 619 * to an output stream the application has to set via the LogAndTraceManager 620 * class.<br /> 621 * <br /> 622 * Type: <code>Boolean</code><br /> 623 * Recognition: <code>Anytime</code><br /> 624 * Range: <code>true, false</code><br /> 625 * Default: <code>false</code><br /> 626 */ 627 public static final String CIMXML_TRACING = "sblim.wbem.cimxmlTracing"; 628 629 /** 630 * Specifies the stream to use for tracing CIM-XML communication in the 631 * event the application does not set one via the LogAndTraceManager class. 632 * This stream can either be standard output (System.out), standard error 633 * output (System.err) or a filename to be opened by the client. 634 * 635 * Note: This property has no effect unless sblim.wbem.cimxmlTracing is set 636 * to true. 637 * 638 * Note: This property has no effect if the application already set the 639 * stream prior to client initialization. If the application sets the stream 640 * after client initialization, the stream specified by this property is 641 * overridden. 642 * 643 * Note: If a filename is specified, it is opened and all CIM-XML 644 * communication is written to it - no checks are made for an existing file 645 * or for filling up the disk. USE WITH CAUTION. 646 * 647 * Type: <code>String</code><br /> 648 * Recognition: <code>Startup</code><br /> 649 * Range: <code>System.out, System.err, filename</code><br /> 650 * Default: <code>none</code><br /> 651 */ 652 public static final String CIMXML_TRACE_STREAM = "sblim.wbem.cimxmlTraceStream"; 653 654 /** 655 * 656 * Tells the XML builder how to sign embedded objects. This is necessary due to 657 * the non-consequent handling of embedded objects on different CIMOMs. 658 * "AttribOnly" - only the EmbeddedObject="instance/object" is used 659 * (should be good for Pegasus) 660 * "EmbObjQuali" - on qualified CIM-XML elements the EmbeddedObject qualifier is used 661 * for embedded classes and instances 662 * "EmbObjAndEmbInstQuali" - 663 * on qualified CIM-XML elements the EmbeddedObject qualifier is used 664 * for embedded classes and the EmbeddedInstance="className" qualifier 665 * is used for embedded instances 666 * Type: String 667 * Recognition: Anytime 668 * Range: AttribOnly, EmbObjQuali, EmbObjAndEmbInstQuali 669 * Default: AttribOnly 670 * 671 */ 672 public static final String CIMXML_EMBOBJBUILDER = "sblim.wbem.cimxmlEmbObjBuilder"; 673 674 /** 675 * 676 * If set the type of valueless EmbeddedObjects are mapped to CLASS_T. It should work well 677 * with OpenPegasus-2.7.0. 678 * If unset no type mapping is done for valuless EmbeddedObjects. 679 * 680 * Type: Boolean 681 * Default: true 682 * 683 */ 684 public static final String CIMXML_PARSER_STRICT_EMBOBJ_TYPES = "sblim.wbem.cimxmlParser.strictEmbObjTypes"; 685 686 /** 687 * 688 * If set to false, the embedded object entity in all requests is in mixed case 689 * (EmbeddedObject) per DSP0203. If set to true, the embedded object entity is in 690 * upper case (EMBEDDEDOBJECT) - this works with some older CIMOMs, such as OpenPegasus 691 * 2.6.1 and 2.7.0. 692 * 693 * <!ENTITY % EmbeddedObject "EmbeddedObject (object|instance) #IMPLIED"> 694 * 695 * Type: Boolean 696 * Recognition: Startup 697 * Range: true, false 698 * Default: true 699 * 700 */ 701 public static final String CIMXML_BUILDER_UPPERCASE_EMBOBJ_ENTITIES = 702 "sblim.wbem.cimxmlBuilder.upperCaseEmbObjEntities"; 703 704 /** 705 * 706 * If set to true, SSL handshakes are performed after an SSL socket is created by the 707 * socket factory. If set to false, handshakes are not performed, which is useful if 708 * if the handshake has already taken place. 709 * 710 * Type: Boolean 711 * Recognition: Anytime 712 * Default: true 713 * 714 */ 715 public static final String PERFORM_SSL_HANDSHAKE = "sblim.wbem.performSslHandshake"; 716 717 /** 718 * 719 * If set to false, SSL handshakes are not synchronized. If set to true, SSL handshakes 720 * are synchronized as a workaround for an IBMJSSE1 problem with thread-safe handshakes. 721 * 722 * Note: This property has no affect unless sblim.wbem.performSslHandshake is set to 723 * true. 724 * 725 * Type: Boolean 726 * Recognition: Anytime 727 * Default: false 728 * 729 */ 730 public static final String SYNCHRONIZED_SSL_HANDSHAKE = "sblim.wbem.synchronizedSslHandshake"; 731 732 /** 733 * 734 * If set to true, socket connections are attempted with the timeout value defined by 735 * sblim.wbem.socketConnectTimeout. If set to false, socket connections are attempted 736 * without a timeout. Using a timeout for socket connections is the preferred method 737 * but may introduce intermittent, significant performance impacts during the connection 738 * process in Java 5+ (see Sun bug 5092063). 739 * 740 * Type: Boolean 741 * Recognition: Anytime 742 * Default: true 743 * 744 */ 745 public static final String SOCKET_CONNECT_WITH_TIMEOUT = "sblim.wbem.socketConnectWithTimeout"; 746 747 /** 748 * 749 * The timeout for socket connect requests. A timeout of zero is interpreted 750 * as infinite timeout. 751 * 752 * Note: This property has no effect unless socket connection with timeout is 753 * enabled (see the sblim.wbem.socketConnectWithTimeout property). 754 * 755 * Type: Integer 756 * Unit: Milliseconds 757 * Recognition: Anytime 758 * Range: 0 .. Integer.MAX_VALUE 759 * Default: 0 760 * 761 */ 762 public static final String SOCKET_CONNECT_TIMEOUT = "sblim.wbem.socketConnectTimeout"; 763 764 /** 765 * The idle timeout between socket requests after which the socket is 766 * automatically reset (closed, then reopened). A timeout of zero is 767 * interpreted as infinite timeout. <br /> 768 * Type: <code>Integer</code><br /> 769 * Unit: <code>Milliseconds</code><br /> 770 * Recognition: <code>Anytime</code><br /> 771 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 772 * Default: <code>0</code><br /> 773 */ 774 public static final String SOCKET_IDLE_TIMEOUT = "sblim.wbem.socketIdleTimeout"; 775 776 /** 777 * 778 * Turn on/off usage of the default user/password, which can be used 779 * if the CIMOM requires a "garbage" credential. If set to false, 780 * user-supplied credentials will be applied. If set to true, 781 * default credentials will be applied when both the user-supplied 782 * principal and credential are null/empty. 783 * 784 * Type: Boolean 785 * Recognition: Startup 786 * Default: false 787 * 788 */ 789 public static final String KEY_CREDENTIALS_DEFAULT_ENABLED = "sblim.wbem.default.authorization.enabled"; 790 791 /** 792 * 793 * The name of the user for the "garbage" credential. 794 * 795 * Note: This property has no effect unless default authorization is 796 * enabled (see the sblim.wbem.default.authorization.enabled property) 797 * AND both the user-supplied principal and credential are null/empty. 798 * 799 * Type: String 800 * Recognition: Startup 801 * Default: "default" 802 * 803 */ 804 public static final String KEY_DEFAULT_PRINCIPAL = "sblim.wbem.default.principal"; 805 806 /** 807 * 808 * The credential of the user for the "garbage" credential. 809 * 810 * Note: This property has no effect unless default authorization is 811 * enabled (see the sblim.wbem.default.authorization.enabled property) 812 * AND both the user-supplied principal and credential are null/empty. 813 * 814 * Type: String 815 * Recognition: Startup 816 * Default: "default" 817 * 818 */ 819 public static final String KEY_DEFAULT_CREDENTIAL = "sblim.wbem.default.credential"; 820 821 /** 822 * The timeout for http connections of an indication listener. A timeout of 823 * zero is interpreted as infinite timeout.<br /> 824 * <br /> 825 * Type: <code>Integer</code><br /> 826 * Unit: <code>Milliseconds</code><br /> 827 * Recognition: <code>On next creation of a WBEMListener</code><br /> 828 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 829 * Default: <code>10000</code><br /> 830 */ 831 public static final String LISTENER_HTTP_TIMEOUT = "sblim.wbem.listenerHttpTimeout"; 832 833 /** 834 * The header timeout for http connections of an indication listener. The 835 * header timeout is defined as the maximum amount of time allowed to read 836 * in the entire http header. A timeout of zero is interpreted as infinite 837 * timeout.<br /> 838 * <br /> 839 * Note: One form of DoS attack sends periodic http header lines in an 840 * attempt to keep the socket open indefinitely. This timeout can be used to 841 * thwart such an attempt.<br /> 842 * <br /> 843 * Type: <code>Integer</code><br/> 844 * Unit: <code>Milliseconds</code><br /> 845 * Recognition: <code>On next creation of a WBEMListener<code><br/> 846 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 847 * Default: <code>30000</code><br/> 848 */ 849 public static final String LISTENER_HTTP_HEADER_TIMEOUT = "sblim.wbem.listenerHttpHeaderTimeout"; 850 851 /** 852 * The maximum allowable timeouts an http connection of an indication 853 * listener can have before the client ignores it. In other words, the 854 * number of times an IP exceeds sblim.wbem.listenerHttpTimeout and 855 * sblim.wbem.listenerHttpHeaderTimeout before it is blocked. A value of 856 * zero is interpreted as unlimited timeouts.<br /> 857 * <br /> 858 * Type: <code>Integer</code><br /> 859 * Recognition: <code>On next creation of a WBEMListener</code><br /> 860 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 861 * Default: <code>0</code><br /> 862 */ 863 public static final String LISTENER_HTTP_MAX_ALLOWED_TIMEOUTS = "sblim.wbem.listenerHttpMaxAllowedTimeouts"; 864 865 /** 866 * The size of the thread pool for the connection handlers of the indication 867 * for http connections of an indication listener. This is the maximum 868 * number of handler threads the pool might create on heavy load.<br /> 869 * A value of -1 is interpreted as infinity. <br /> 870 * Type: <code>Integer</code><br /> 871 * Unit: <code>Count</code><br /> 872 * Recognition: <code>On next creation of a WBEMListener</code><br /> 873 * Range: <code>-1 .. Integer.MAX_VALUE</code><br /> 874 * Default: <code>8</code><br /> 875 */ 876 public static final String LISTENER_MAX_POOL_SIZE = "sblim.wbem.listenerPoolMaxSize"; 877 878 /** 879 * The minimal number of connection handlers of the indication listener that 880 * will be kept open by the thread pool regardless of the current load. <br /> 881 * Type: <code>Integer</code><br /> 882 * Unit: <code>Count</code><br /> 883 * Recognition: <code>On next creation of a WBEMListener</code><br /> 884 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 885 * Default: <code>2</code><br /> 886 */ 887 public static final String LISTENER_MIN_POOL_SIZE = "sblim.wbem.listenerPoolMinSize"; 888 889 /** 890 * The maximum number of queued connections (the fixed capacity of the 891 * ArrayBlockingQueue of pending connections incoming to the listener). 892 * Whereas increasing this number will result in a correspondingly greater 893 * memory usage, making the number too small can result in HTTP 503 894 * "Service temporarily overloaded" returned to server if there is no room 895 * in queue for an incoming connection. <br /> 896 * Type: <code>Integer</code><br /> 897 * Unit: <code>Count</code><br /> 898 * Recognition: <code>On next creation of a WBEMListener</code><br /> 899 * Range: <code>1 .. Integer.MAX_VALUE</code><br /> 900 * Default: <code>32</code><br /> 901 */ 902 public static final String LISTENER_MAX_QUEUE_SIZE = "sblim.wbem.listenerQueueMaxSize"; 903 904 /** 905 * The number of queued connections that is tolerated before the thread pool 906 * creates an additional handler thread. Increasing this value leads to a 907 * less "nervous" creation/destruction of handlers. However it 908 * makes the listener more vulnerable to frozen connections.<br /> 909 * <br /> 910 * Type: <code>Integer</code><br /> 911 * Unit: <code>Count</code><br /> 912 * Recognition: <code>On next creation of a WBEMListener</code><br /> 913 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 914 * Default: <code>2</code><br /> 915 */ 916 public static final String LISTENER_BACKLOG = "sblim.wbem.listenerBacklog"; 917 918 /** 919 * The idle time of a worker that is tolerated before the worker is 920 * destroyed by the thread pool. By setting the minimal pool size >0 you can 921 * protect a given number of worker from destruction.<br /> 922 * <br /> 923 * Type: <code>Long</code><br /> 924 * Unit: <code>Milliseconds</code><br /> 925 * Recognition: <code>On next creation of a WBEMListener</code><br /> 926 * Range: <code>0 .. Long.MAX_VALUE</code><br /> 927 * Default: <code>30000</code><br /> 928 */ 929 public static final String LISTENER_HANDLER_MAX_IDLE = "sblim.wbem.listenerHandlerMaxIdle"; 930 931 /** 932 * The maximum number of queued events (the fixed capacity of the LinkedList 933 * of indications awaiting delivery to the listener). When the maximum is 934 * reached, the oldest indications are discarded to make room for the newest 935 * ones. A value of 0 is interpreted as infinity. <br /> 936 * Type: <code>Integer</code><br /> 937 * Unit: <code>Count</code><br /> 938 * Recognition: <code>On next creation of a WBEMListener</code><br /> 939 * Range: <code>0 .. Integer.MAX_VALUE</code><br /> 940 * Default: <code>0</code><br /> 941 */ 942 public static final String LISTENER_MAX_QUEUED_EVENTS = "sblim.wbem.listenerMaxQueuedEvents"; 943 944 /** 945 * 946 * If set to true, reliable indication support is enabled and indications 947 * are processed accordingly. If set to false, reliable indication 948 * support is disabled and indications are passed directly to listener. 949 * 950 * If reliable indication support is enabled, incoming indications are 951 * handled as documented in DSP1054 which includes queuing unexpected 952 * indications, caching all indications for the duration of their sequence 953 * identifier lifetime, and logging missing, duplicate and out-of-order 954 * indications. 955 * 956 * The sequence identifier lifetime is defined as: 957 * DeliveryRetryAttempts * DeliveryRetryInterval * 10 958 * These values can be set by the sblim.wbem.listenerDeliveryRetryAttempts 959 * and sblim.wbem.listenerDeliveryRetryInterval properties below. 960 * 961 * Unexpected indications are queued in either a linked list or a hash 962 * table based on the sblim.wbem.listenerReliableIndicationHashtableCapacity 963 * property below. The linked list is better suited for a small number of 964 * listener destinations per WBEMListener while the hash table is better 965 * suited for a large number. 966 * 967 * Type: Boolean 968 * Recognition: On next creation of a WBEMListener 969 * Default: false 970 * 971 */ 972 public static final String LISTENER_ENABLE_RELIABLE_INDICATIONS = "sblim.wbem.listenerEnableReliableIndications"; 973 974 /** 975 * 976 * The default value to use for the CIM_IndicationService DeliveryRetryAttempts 977 * property. See DSP1054 for details on reliable indications. 978 * 979 * Note: This property has no effect unless reliable indication support is 980 * enabled. See the sblim.wbem.listenerEnableReliableIndications property. 981 * 982 * Type: Long 983 * Unit: Count 984 * Recognition: On next creation of a WBEMListener 985 * Range: 1 .. 1000 986 * Default: 3 987 * 988 */ 989 public static final String LISTENER_DELIVERY_RETRY_ATTEMPTS = "sblim.wbem.listenerDeliveryRetryAttempts"; 990 991 /** 992 * 993 * The default value to use for the CIM_IndicationService DeliveryRetryInterval 994 * property. See DSP1054 for details on reliable indications. 995 * 996 * Note: This property has no effect unless reliable indication support is 997 * enabled. See the sblim.wbem.listenerEnableReliableIndications property. 998 * 999 * Type: Long 1000 * Unit: Seconds 1001 * Recognition: On next creation of a WBEMListener 1002 * Range: 1 .. 86400 1003 * Default: 20 1004 * 1005 */ 1006 public static final String LISTENER_DELIVERY_RETRY_INTERVAL = "sblim.wbem.listenerDeliveryRetryInterval"; 1007 1008 /** 1009 * 1010 * The default value to use for the reliable indication handler's initial 1011 * hash table capacity. A value of 0 indicates use a linked list instead. 1012 * Linked lists are better suited for a small number of listener destinations 1013 * per WBEMListener while hash tables are better suited for a large number. 1014 * 1015 * Note: This property has no effect unless reliable indication support is 1016 * enabled. See the sblim.wbem.listenerEnableReliableIndications property. 1017 * 1018 * Type: Integer 1019 * Unit: Count 1020 * Recognition: On next creation of a WBEMListener 1021 * Range: 0 .. 25000 1022 * Default: 0 1023 * 1024 */ 1025 public static final String LISTENER_RELIABLE_INDICATION_HASHTABLE_CAPACITY = 1026 "sblim.wbem.listenerReliableIndicationHashtableCapacity"; 1027 1028 /** 1029 * 1030 * The filter to use for tracing of incoming indications at the FINE level. 1031 * 1032 * If string is empty, no tracing of incoming indications will occur. If 1033 * string is not empty, it identifies one or more properties to be included 1034 * in the trace of all incoming indications. An optional class can be used 1035 * to filter the output to include only those indications that contain the 1036 * substring. For example, to trace the SequenceContext and SequenceNumber 1037 * properties of all alerts, use the following: 1038 * 1039 * alert:sequencecontext,sequencenumber 1040 * 1041 * To trace the IndicationTime of all indications, use the following: 1042 * 1043 * indicationtime 1044 * 1045 * Note: This property has no effect unless tracing is enabled. See the 1046 * sblim.wbem.traceFileLevel property. 1047 * 1048 * Type: String 1049 * Recognition: On next creation of WBEMListener 1050 * Format: [class:]property[,property]* 1051 * 1052 */ 1053 public static final String LISTENER_INDICATION_TRACE_FILTER = "sblim.wbem.listenerIndicationTraceFilter"; 1054 1055 /** 1056 * 1057 * If set to true, a property will be added to all indications that identifies 1058 * the sender's IP address. If set to false, the property will not be added. 1059 * 1060 * The property is a CIMProperty with: 1061 * name = "SBLIMJCC_SenderIPAddress" 1062 * data type = CIMDataType.STRING_T 1063 * value = String returned by InetAddress.getHostAddress() (i.e. 1.2.3.4) 1064 * 1065 * Type: Boolean 1066 * Recognition: On next creation of a WBEMListener 1067 * Default: false 1068 * 1069 */ 1070 public static final String LISTENER_ADD_SENDER_IP_ADDRESS = "sblim.wbem.listenerAddSenderIPAddress"; 1071 1072 /** 1073 * 1074 * If set to true, numeric string values passed to the java.lang.Double 1075 * constructor or its parseDouble method will be checked to make sure they 1076 * are not in the range that hangs Java 6- (see Sun bug 4421494). If 1077 * set to false, the string values will not be checked. 1078 * 1079 * Note: This property should only be set to true if running on Java 5 or 1080 * Java 6 prior to update 24. 1081 * 1082 * Type: Boolean 1083 * Recognition: Startup 1084 * Default: true 1085 * 1086 */ 1087 public static final String VERIFY_JAVA_LANG_DOUBLE_STRINGS = "sblim.wbem.verifyJavaLangDoubleStrings"; 1088 1089 /** 1090 * 1091 * If set to true, numeric key data types in a CIMInstance's CIMObjectPath 1092 * will be synchronized to match those of the corresponding keys within 1093 * the CIMInstance's CIMProperty[]. If set to false, the numeric key data 1094 * types will not be synchronized. 1095 * 1096 * Note: Only numeric key data types in CIMInstances from CIMOM responses 1097 * are synchronized, application calls to the CIMInstance constructor are 1098 * not affected. 1099 * 1100 * Type: Boolean 1101 * Recognition: Startup 1102 * Default: false 1103 * 1104 */ 1105 public static final String SYNCHRONIZE_NUMERIC_KEY_DATA_TYPES = "sblim.wbem.synchronizeNumericKeyDataTypes"; 1106 1107 /** 1108 * 1109 * If set to true, gzip encoding is enabled. If set to false, gzip encoding 1110 * is not enabled. When enabled, outgoing requests include the HTTP header 1111 * "Accept-Encoding: gzip" to indicate to the CIMOM that the client handles 1112 * message bodies compressed with gzip. If the incoming response includes 1113 * "Content-Encoding: gzip" the message body will be decompressed with gzip 1114 * before being processed. 1115 * 1116 * Note: This property does not affect indications or outgoing requests. 1117 * 1118 * Type: Boolean 1119 * Recognition: Anytime 1120 * Default: false 1121 * 1122 */ 1123 public static final String ENABLE_GZIP_ENCODING = "sblim.wbem.enableGzipEncoding"; 1124 1125 /** 1126 * 1127 * If set to true, the CIM-XML parser will allow empty LOCALNAMESPACEPATH 1128 * elements in incoming responses. If set to false, the parser will not 1129 * allow empty LOCALNAMESPACEPATH elements. 1130 * 1131 * Note: Some older CIMOMs sent empty LOCALNAMESPACEPATHs, relying on the 1132 * client to provide the local namespace path. This is a violation of 1133 * DSP0201, which dictates that LOCALNAMESPACEPATH must contain at least 1134 * one NAMESPACE child. By default, this property is set to false so the 1135 * client can adhere to the CIM-XML specifications. Set this property to 1136 * true if "LOCALNAMESPACEPATH requires NAMESPACE" exceptions occur while 1137 * interacting with one of these older CIMOMs. 1138 * 1139 * Type: Boolean 1140 * Recognition: Anytime 1141 * Default: false 1142 * 1143 */ 1144 public static final String CIMXML_PARSER_ALLOW_EMPTY_LOCALNAMESPACEPATH = 1145 "sblim.wbem.cimxmlParser.allowEmptyLocalNameSpacePath"; 1146 1147 /** 1148 * AMMO-863 1149 * <p> 1150 * New configuration property to force the use of a strict mode for the 1151 * HTTP header Connection=Keep-alive (that may not be used for HTTP/1.1). 1152 */ 1153 public static final String HTTP_KEEP_ALIVE_STRICT_MODE = "sblim.wbem.httpKeepAliveStrictMode"; 1154 }