/* *ThisfilecontainsprototypesforthepublicSSLfunctions. * *ThisSourceCodeFormissubjecttothetermsoftheMozillaPublic *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* **Enable/disableansslmode ** **SSL_SECURITY: **enable/disableuseofSSLsecurityprotocolbeforeconnect ** **SSL_SOCKS: **enable/disableuseofsocksbeforeconnect **(Nolongersupported). ** **SSL_REQUEST_CERTIFICATE: **requireacertificateduringsecureconnect
*/ /* options */ #define SSL_SECURITY 1/* (on by default) */ #define SSL_SOCKS 2/* (off by default) */ #define SSL_REQUEST_CERTIFICATE 3/* (off by default) */ #define SSL_HANDSHAKE_AS_CLIENT 5/* force accept to hs as client */ /* (off by default) */ #define SSL_HANDSHAKE_AS_SERVER 6/* force connect to hs as server */ /* (off by default) */
/* OBSOLETE: SSL v2 is obsolete and may be removed soon. */ #define SSL_ENABLE_SSL2 7/* enable ssl v2 (off by default) */
/* OBSOLETE: See "SSL Version Range API" below for the replacement and a **descriptionofthenon-obvioussemanticsofusingSSL_ENABLE_SSL3.
*/ #define SSL_ENABLE_SSL3 8/* enable ssl v3 (on by default) */
#define SSL_NO_CACHE 9/* don't use the session cache */ /* (off by default) */ #define SSL_REQUIRE_CERTIFICATE 10/* (SSL_REQUIRE_FIRST_HANDSHAKE */ /* by default) */ #define SSL_ENABLE_FDX 11/* permit simultaneous read/write */ /* (off by default) */
/* OBSOLETE: SSL v2 compatible hellos are not accepted by some TLS servers **andcannotnegotiateextensions.SSLv2isobsolete.Thisoptionmaybe **removedsoon.
*/ #define SSL_V2_COMPATIBLE_HELLO 12/* send v3 client hello in v2 fmt */ /* (off by default) */
/* OBSOLETE: See "SSL Version Range API" below for the replacement and a **descriptionofthenon-obvioussemanticsofusingSSL_ENABLE_TLS.
*/ #define SSL_ENABLE_TLS 13/* enable TLS (on by default) */
#define SSL_ROLLBACK_DETECTION 14/* for compatibility, default: on */ #define SSL_NO_STEP_DOWN 15/* (unsupported, deprecated, off) */ #define SSL_BYPASS_PKCS11 16/* (unsupported, deprecated, off) */ #define SSL_NO_LOCKS 17/* Don't use locks for protection */ #define SSL_ENABLE_SESSION_TICKETS 18/* Enable TLS SessionTicket */ /* extension (off by default) */ #define SSL_ENABLE_DEFLATE 19/* (unsupported, deprecated, off) */ #define SSL_ENABLE_RENEGOTIATION 20/* Values below (default: never) */ #define SSL_REQUIRE_SAFE_NEGOTIATION 21/* Peer must send Signaling */ /* Cipher Suite Value (SCSV) or */ /* Renegotiation Info (RI) */ /* extension in ALL handshakes. */ /* default: off */ #define SSL_ENABLE_FALSE_START 22/* Enable SSL false start (off by */ /* default, applies only to */ /* clients). False start is a */ /* mode where an SSL client will start sending application data before *verifyingtheserver'sFinishedmessage.Thismeansthatwecouldendup *sendingdatatoanimposter.However,thedatawillbeencryptedand *onlythetrueservercanderivethesessionkey.Thus,solongasthe *cipherisn'tbrokenthisissafe.Theadvantageoffalsestartisthat *itsavesaroundtripforclient-speaks-firstprotocolswhenperforminga *fullhandshake. * *Inadditiontoenablingthisoption,theapplicationmustregistera *callbackusingtheSSL_SetCanFalseStartCallbackfunction.
*/
/* SSL_ENABLE_NPN is defunct and defaults to false.
* Using this option will not have any effect but won't produce an error. */ #define SSL_ENABLE_NPN 25
/* SSL_ENABLE_ALPN controls whether the ALPN extension is enabled for the *initialhandshakewhenapplicationlayerprotocolnegotiationisused. *SSL_SetNextProtoNegoorSSL_SetNextProtoCallbackcanbeusedtocontrol *theapplicationlayerprotocolnegotiation; *ALPNisnotnegotiatedforrenegotiationhandshakes,eventhoughtheALPN *specificationdefinesawaytouseALPNduringrenegotiations. *SSL_ENABLE_ALPNiscurrentlyenabledbydefault,butthismaychangein *futureversions.
*/ #define SSL_ENABLE_ALPN 26
/* SSL_REUSE_SERVER_ECDHE_KEY controls whether the ECDHE server key is *reusedformultiplehandshakesorgeneratedeachtime. *SSL_REUSE_SERVER_ECDHE_KEYiscurrentlydisabledbydefault. *ThissocketoptionisforECDHE,only.ItisunrelatedtoDHE.
*/ #define SSL_REUSE_SERVER_ECDHE_KEY 27
/* SSL_ENABLE_SERVER_DHE controls whether DHE is enabled for the server socket.
*/ #define SSL_ENABLE_SERVER_DHE 29
/* Use draft-ietf-tls-session-hash. Controls whether we offer the *extended_master_secretextensionwhich,whenaccepted,hashes *thehandshaketranscriptintothemastersecret.Thisoptionis *enabledbydefault.
*/ #define SSL_ENABLE_EXTENDED_MASTER_SECRET 30
/* Request Signed Certificate Timestamps via TLS extension (client) */ #define SSL_ENABLE_SIGNED_CERT_TIMESTAMPS 31
/* Ordinarily, when negotiating a TLS_DHE_* cipher suite the server picks the *group.draft-ietf-tls-negotiated-ff-dhechangesthistousesupported_groups *(formerlysupported_curves)tosignalwhichpre-definedgroupsareOK. * *ThisoptioncausesanNSSclienttousethisextensionanddemandthatthose *groupsbeused.AclientwillsignalanyenabledDHEgroupsinthe *supported_groupsextensionandrejectgroupsthatdon'tmatchwhatithas *enabled.AserverwillonlynegotiateTLS_DHE_*ciphersuitesifthe *clientincludestheextension. * *SeeSSL_NamedGroupConfig()forhowtocontrolwhichgroupsareenabled. * *ThisoptioncannotbeenabledifNSSisnotcompiledwithECCsupport.
*/ #define SSL_REQUIRE_DH_NAMED_GROUPS 32
/* Sets a limit to the size of encrypted records (see *draft-ietf-tls-record-limit).Thisisthevaluethatisadvertisedtopeers, *notalimitonthesizeofrecordsthatwillbecreated.Settingthisvalue *reducesthesizeofrecordsthatwillbereceived(notsent). * *Thislimitappliestotheplaintext,buttherecordsthatappearonthewire *willbebigger.Thisdoesn'tincluderecordheaders,IVs,blockcipher *padding,andauthenticationtagsorMACs. * *NSSalwaysadvertisestherecordsizelimitextension.Ifthisoptionisnot *set,theextensionwillcontainthemaximumallowedsizefortheselectedTLS *version(currentlythisis16384or2^14forTLS1.2andlowerand16385for *TLS1.3). * *Bydefault,NSScreatesrecordsthatarethemaximumsizepossible,usingall *thedatathatwaswrittenbytheapplication.Writeslargerthanthemaximum *aresplitintomaximumsizedrecords,andanyremainder(unless *SSL_CBC_RANDOM_IVisenabledandactive).Ifapeeradvertisesarecordsize *limitthenthatvalueisusedinstead.
*/ #define SSL_RECORD_SIZE_LIMIT 34
/* Enables TLS 1.3 compatibility mode. In this mode, the client includes a fake *sessionIDinthehandshakeandsendsaChangeCipherSpec.Aserverwill *alwaysusethesettingchosenbytheclient,sothevalueofthisoptionhas
* no effect for a server. This setting is ignored for DTLS. */ #define SSL_ENABLE_TLS13_COMPAT_MODE 35
/* Enables the sending of DTLS records using the short (two octet) record *header.Onlydothisifthereare2^10orfewerpacketsinflightatatime; *usingthiswithalargernumberofpacketsinflightcouldmeanthatpackets *aredroppedifthereisreordering. * *ThisappliestoTLS1.3only.Thisisnotaparameterthatisnegotiated *duringtheTLShandshake.Unlikeothersocketoptions,thisoptioncanbe *changedafterahandshakeiscomplete.
*/ #define SSL_ENABLE_DTLS_SHORT_HEADER 36
/* Enables the SSLv2-compatible ClientHello for servers. NSS does not support *SSLv2andwillneversendanSSLv2-compatibleClientHelloasaclient.An *NSSserverwiththisoptionenabledwillacceptaClientHellothatis *v2-compatibleasdefinedinAppendixE.1ofRFC6101. *
* This is disabled by default and will be removed in a future version. */ #define SSL_ENABLE_V2_COMPATIBLE_HELLO 38
/* Enables the post-handshake authentication in TLS 1.3. If it is set *toPR_TRUE,theclientwillsendthe"post_handshake_auth" *extensiontoindicatethatitwillprocessCertificateRequest *messagesafterhandshake. * *Thisoptionappliesonlytoclients.Foraserver,the *SSL_SendCertificateRequestcanbeusedtorequestpost-handshake *authentication.
*/ #define SSL_ENABLE_POST_HANDSHAKE_AUTH 39
/* Import the peer certificate chain into the database before the *authCertificatecallbackisinvokedforcertificatevalidation. *Thisbehaviorisenabledbydefault.
*/ #define SSL_DB_LOAD_CERTIFICATE_CHAIN 44
#ifdef SSL_DEPRECATED_FUNCTION /* Old deprecated function names */
SSL_IMPORT SECStatus SSL_Enable(PRFileDesc *fd, int option, PRIntn on);
SSL_IMPORT SECStatus SSL_EnableDefault(int option, PRIntn on); #endif
/* SSLNextProtoCallback is called during the handshake for the server, when an *Application-LayerProtocolNegotiation(ALPN)extensionhasbeenreceived *fromtheclient.|protos|and|protosLen|defineabufferwhichcontainsthe *client'sadvertisement. *|protoOut|isabufferprovidedbythecaller,oflength255(themaximum *allowedbytheprotocol).Onsuccessfulreturn,theprotocoltobeannounced *totheserverwillbein|protoOut|anditslengthin|*protoOutLen|. * *ThecallbackmustreturnSECFailureorSECSuccess(notSECWouldBlock).
*/ typedef SECStatus(PR_CALLBACK *SSLNextProtoCallback)( void *arg,
PRFileDesc *fd, constunsignedchar *protos, unsignedint protosLen, unsignedchar *protoOut, unsignedint *protoOutLen, unsignedint protoMaxOut);
/* SSL_SetNextProtoCallback sets a callback function to handle ALPN Negotiation.
* It causes a client to advertise ALPN. */
SSL_IMPORT SECStatus SSL_SetNextProtoCallback(PRFileDesc *fd,
SSLNextProtoCallback callback, void *arg);
/* SSL_SetNextProtoNego can be used as an alternative to *SSL_SetNextProtoCallback. * *UsingthisfunctionallowsclientandservertotransparentlysupportALPN. *ThesamesetofprotocolswillbeadvertisedviaALPNand,iftheserver *usesALPNtoselectaprotocol,SSL_GetNextProtowillreturn *SSL_NEXT_PROTO_SELECTEDasthestate. * *BecausethepredecessortoALPN,NPN,usedthefirstprotocolasthefallback *protocol,whensendinganALPNextension,thefirstprotocolismovedtothe *endofthelist.Thisindicatesthatthefallbackprotocolistheleast *preferred.Theotherprotocolsshouldbeinpreferenceorder. * *Thesupportedprotocolsarespecifiedin|data|inwire-format(8-bit *length-prefixed).Forexample:"\010http/1.1\006spdy/2". * *Anemptyvalue(i.e.,where|length|is0and|data|isanyvalue, *includingNULL)forciblydisablesALPN.Inthismode,theserverwill *rejectanyClientHellothatincludestheALPNextension. * *Callingthisfunctionoverridesthecallbackpreviouslysetby
* SSL_SetNextProtoCallback. */
SSL_IMPORT SECStatus SSL_SetNextProtoNego(PRFileDesc *fd, constunsignedchar *data, unsignedint length);
typedefenum SSLNextProtoState {
SSL_NEXT_PROTO_NO_SUPPORT = 0, /* No peer support */
SSL_NEXT_PROTO_NEGOTIATED = 1, /* Mutual agreement */
SSL_NEXT_PROTO_NO_OVERLAP = 2, /* No protocol overlap found */
SSL_NEXT_PROTO_SELECTED = 3, /* Server selected proto (ALPN) */
SSL_NEXT_PROTO_EARLY_VALUE = 4/* We are in 0-RTT using this value. */
} SSLNextProtoState;
/* SSL_GetNextProto can be used in the HandshakeCallback or any time after *ahandshaketoretrievetheresultoftheNextProtocolnegotiation. * *Thelengthofthenegotiatedprotocol,ifany,iswritteninto*bufLen. *IfthenegotiatedprotocolislongerthanbufLenMax,thenSECFailureis *returned.Otherwise,thenegotiatedprotocol,ifany,iswrittenintobuf,
* and SECSuccess is returned. */
SSL_IMPORT SECStatus SSL_GetNextProto(PRFileDesc *fd,
SSLNextProtoState *state, unsignedchar *buf, unsignedint *bufLen, unsignedint bufLenMax);
/* **ControlciphersthatSSLuses.Ifonisnon-zerothenthenamedcipher **isenabled,otherwiseitisdisabled. **The"cipher"valuesaredefinedinsslproto.h(theSSL_EN_*values). **EnableCipherrecordsuserpreferences. **SetPolicysetsthepolicyaccordingtothepolicymodule.
*/ #ifdef SSL_DEPRECATED_FUNCTION /* Old deprecated function names */
SSL_IMPORT SECStatus SSL_EnableCipher(long which, PRBool enabled);
SSL_IMPORT SECStatus SSL_SetPolicy(long which, int policy); #endif
/* Returns, in |*vrange|, the range of SSL3/TLS versions supported for the **givenprotocolvariantbytheversionoflibssllinked-toatruntime.
*/
SSL_IMPORT SECStatus SSL_VersionRangeGetSupported(
SSLProtocolVariant protocolVariant, SSLVersionRange *vrange);
/* Returns, in |*vrange|, the range of SSL3/TLS versions enabled by default **forthegivenprotocolvariant.
*/
SSL_IMPORT SECStatus SSL_VersionRangeGetDefault(
SSLProtocolVariant protocolVariant, SSLVersionRange *vrange);
/* Sets the range of enabled-by-default SSL3/TLS versions for the given **protocolvariantto|*vrange|.
*/
SSL_IMPORT SECStatus SSL_VersionRangeSetDefault(
SSLProtocolVariant protocolVariant, const SSLVersionRange *vrange);
/* Returns, in |*vrange|, the range of enabled SSL3/TLS versions for |fd|. */
SSL_IMPORT SECStatus SSL_VersionRangeGet(PRFileDesc *fd,
SSLVersionRange *vrange);
/* Sets the range of enabled SSL3/TLS versions for |fd| to |*vrange|. */
SSL_IMPORT SECStatus SSL_VersionRangeSet(PRFileDesc *fd, const SSLVersionRange *vrange);
/* Sets the version to check the server random against for the *fallbackcheckdefinedin[draft-ietf-tls-tls13-11Section6.3.1.1]. *Thisfunctionisprovidedtoallowfordetectionofforceddowngrade *attacksagainstclient-sidereconnect-and-fallbackoutsideofTLS *bysetting|version|tobethatoftheoriginalconnection,rather *thanthatofthenewconnection. * *Thedefault,whichcanalsobeenabledbysetting|version|to *zero,isjusttocheckagainstthemaxversioninthe
* version range (see SSL_VersionRangeSet). */
SSL_IMPORT SECStatus SSL_SetDowngradeCheckVersion(PRFileDesc *fd,
PRUint16 version);
/* Values for "policy" argument to SSL_CipherPolicySet */ /* Values returned by SSL_CipherPolicyGet. */ #define SSL_NOT_ALLOWED 0/* or invalid or unimplemented */ #define SSL_ALLOWED 1 #define SSL_RESTRICTED 2/* only with "Step-Up" certs. */
/* Values for "on" with SSL_REQUIRE_CERTIFICATE. */ #define SSL_REQUIRE_NEVER ((PRBool)0) #define SSL_REQUIRE_ALWAYS ((PRBool)1) #define SSL_REQUIRE_FIRST_HANDSHAKE ((PRBool)2) #define SSL_REQUIRE_NO_ERROR ((PRBool)3)
/* Values for "on" with SSL_ENABLE_RENEGOTIATION */ /* Never renegotiate at all. */ #define SSL_RENEGOTIATE_NEVER ((PRBool)0) /* Renegotiate without restriction, whether or not the peer's client hello */ /* bears the renegotiation info extension. Vulnerable, as in the past. */ #define SSL_RENEGOTIATE_UNRESTRICTED ((PRBool)1) /* Only renegotiate if the peer's hello bears the TLS renegotiation_info */ /* extension. This is safe renegotiation. */ #define SSL_RENEGOTIATE_REQUIRES_XTN ((PRBool)2) /* Disallow unsafe renegotiation in server sockets only, but allow clients */ /* to continue to renegotiate with vulnerable servers. */ /* This value should only be used during the transition period when few */ /* servers have been upgraded. */ #define SSL_RENEGOTIATE_TRANSITIONAL ((PRBool)3)
/* Configure a secure server's session-id cache. Depends on value of
* enableMPCache, configures malti-proc or single proc cache. */
SSL_IMPORT SECStatus SSL_ConfigServerSessionIDCacheWithOpt(
PRUint32 timeout,
PRUint32 ssl3_timeout, constchar *directory, int maxCacheEntries, int maxCertCacheEntries, int maxSrvNameCacheEntries,
PRBool enableMPCache);
/* Get and set the configured maximum number of mutexes used for the **server'sstoreofSSLsessions.Thisvalueisusedbytheserver **sessionIDcacheinitializationfunctionsshownabove.Notethaton **someplatforms,thesemutexesareactuallyimplementedwithPOSIX **semaphores,orwithunnamedpipes.Thedefaultvaluevariesbyplatform. **Anattempttosetatoo-lowmaximumwillreturnanerrorandthe **configuredvaluewillnotbechanged.
*/
SSL_IMPORT PRUint32 SSL_GetMaxServerCacheLocks(void);
SSL_IMPORT SECStatus SSL_SetMaxServerCacheLocks(PRUint32 maxLocks);
/* environment variable set by SSL_ConfigMPServerSIDCache, and queried by *SSL_InheritMPServerSIDCachewhenenvStringisNULL.
*/ #define SSL_ENV_VAR_NAME "SSL_INHERITANCE"
/* called in child to inherit SID Cache variables. *IfenvStringisNULL,thisfunctionwillusethevalueoftheenvironment *variable"SSL_INHERITANCE",otherwisethestringvaluepassedinwillbe *used.
*/
SSL_IMPORT SECStatus SSL_InheritMPServerSIDCache(constchar *envString);
/* This function sets *canFalseStart according to the recommended criteria for **falsestart.Thesecriteriamaychangefromreleasetoreleaseandmaydepend **onwhichhandshakefeatureshavebeennegotiatedand/orpropertiesofthe **certifciates/keysusedontheconnection.
*/
SSL_IMPORT SECStatus SSL_RecommendedCanFalseStart(PRFileDesc *fd,
PRBool *canFalseStart);
/* This callback may be passed to the SSL library via a call to *SSL_GetClientAuthDataHook()foreachSSLclientsocket. *ItwillbeinvokedwhenSSLneedstoknowwhatcertificateandprivatekey *(ifany)tousetorespondtoarequestforclientauthentication. *Ifargisnon-NULL,itisapointertoaNULL-terminatedstringcontaining *thenicknameofthecert/keypairtouse. *IfargisNULL,thisfunctionwillsearchthecertandkeydatabasesfor *asuitablematchandsenditifoneisfound.
*/
SSL_IMPORT SECStatus
NSS_GetClientAuthData(void *arg,
PRFileDesc *socket, struct CERTDistNamesStr *caNames, struct CERTCertificateStr **pRetCert, struct SECKEYPrivateKeyStr **pRetKey);
/* This function can be called by the appliation's custom GetClientAuthHook *tofilteroutanycertsinthecertlistthatdoesn'tmatchthenegotiated *requirementsofthecurrentSSLconnection.
*/
SSL_IMPORT SECStatus
SSL_FilterClientCertListBySocket(PRFileDesc *socket, CERTCertList *certlist);
/* This function can be called by the application's custom GetClientAuthHook *todetermineifasinglecertificatematchesthenegotiatedrequirementsof *thecurrentSSLconnection.
*/
SSL_IMPORT PRBool
SSL_CertIsUsable(PRFileDesc *socket, CERTCertificate *cert);
/* Deprecated. This reports a misleading value for certificates that might *beusedforsigningratherthankeyexchange. *ReturnskeyexchangetypeofthekeysinanSSLservercertificate.
*/
SSL_IMPORT SSLKEAType NSS_FindCertKEAType(CERTCertificate *cert);
/* Set cipher policies to a predefined Domestic (U.S.A.) policy. *Thisessentiallyallowsallsupportedciphers.
*/
SSL_IMPORT SECStatus NSS_SetDomesticPolicy(void);
/* Set cipher policies to a predefined Policy that is exportable from the USA *accordingtopresentU.S.policiesasweunderstandthem. *ItisthesameasNSS_SetDomesticPolicynow.
*/
SSL_IMPORT SECStatus NSS_SetExportPolicy(void);
/* Set cipher policies to a predefined Policy that is exportable from the USA *accordingtopresentU.S.policiesasweunderstandthem,andthatthe *nationofFrancewillpermittobeimportedintotheircountry. *ItisthesameasNSS_SetDomesticPolicynow.
*/
SSL_IMPORT SECStatus NSS_SetFrancePolicy(void);
/* Report more information than SSL_SecurityStatus. *Callersuppliestheinfostruct.Thisfunctionfillsitin.Callershould *passsizeof(SSLChannelInfo)asthe|len|argument. * *Theinformationherewillbezeroedpriortodetailsbeingconfirmed.The *detailsareconfirmedeitherwhenaFinishedmessageisreceived,or-fora *client-whenthesecondflightofmessageshavebeensent.Thisfunction *thereforeproducesunreliableresultspriortoreceivingthe *SSLHandshakeCallbackortheSSLCanFalseStartCallback.
*/
SSL_IMPORT SECStatus SSL_GetChannelInfo(PRFileDesc *fd, SSLChannelInfo *info,
PRUintn len); /* Get preliminary information about a channel. *Callersuppliestheinfostruct.Thisfunctionfillsitin.Callershould *passsizeof(SSLPreliminaryChannelInfo)asthe|len|argument. * *Thisfunctioncanbecalledpriortohandshakedetailsbeingconfirmed(see *SSL_GetChannelInfoaboveforwhatthatmeans).Thus,informationprovidedby *thisfunctionisavailabletoSSLAuthCertificate,SSLGetClientAuthData, *SSLSNISocketConfig,andothercallbacksthatmightbecalledduringthe *processingofthefirstflightofclientofserverhandshakemessages. *Valuesaremarkedasbeingunavailablewhenrenegotiationisinitiated.
*/
SSL_IMPORT SECStatus
SSL_GetPreliminaryChannelInfo(PRFileDesc *fd,
SSLPreliminaryChannelInfo *info,
PRUintn len); /* Get information about cipher suite with id of |cipherSuite|. *Callersuppliestheinfostruct.Thisfunctionfillsitin.Callershould *passsizeof(SSLCipherSuiteInfo)asthe|len|argument.
*/
SSL_IMPORT SECStatus SSL_GetCipherSuiteInfo(PRUint16 cipherSuite,
SSLCipherSuiteInfo *info, PRUintn len);
/* Early exporters are used if 0-RTT is enabled. This is TLS 1.3 only. Note
* that in TLS 1.3, an empty context is equivalent to an absent context. */
SSL_IMPORT SECStatus SSL_ExportEarlyKeyingMaterial(PRFileDesc *fd, constchar *label, unsignedint labelLen, constunsignedchar *context, unsignedint contextLen, unsignedchar *out, unsignedint outLen);
/* DEPRECATED: The PKCS#11 bypass has been removed.
** This function will now always return false. */
SSL_IMPORT SECStatus SSL_CanBypass(CERTCertificate *cert,
SECKEYPrivateKey *privKey,
PRUint32 protocolmask,
PRUint16 *ciphers, int nciphers,
PRBool *pcanbypass, void *pwArg);
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.61Bemerkung:
(vorverarbeitet am 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.