-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution:
Fixed
-
Affects Version/s:
3.1.1
-
-
-
-
Proposal:
Hide
Edit WD12 from 647
The ClientId MUST comprise only Unicode characters, and the length of the UTF-8 encoding must be at least zero bytes and no more than 65535 bytes.
The server MAY restrict the ClientId it allows in terms of their lengths and the characters they contain, however the server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length, and contain only the characters "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".
A zero-byte clientId is considered a special case and a server MUST support the following behaviour or not permit zero-byte clientIds.
If the client supplies a zero-byte ClientId, the client MUST also set Clean Session to 1. This combination indicates that the client has no unique identifier and that the server will process the connection as if it were a unique client.
If the client supplies a zero-byte clientId with Clean Session set to 0, the server MUST respond to the CONNECT packet with a CONNACK return code 0x02 (Identifier rejected) and then terminate the TCP connection
If the server rejects the ClientId it MUST respond to the CONNECT packet with a CONNACK return code 0x02 (Identifier rejected) and then terminate the TCP connection
Show
Edit WD12 from 647
The ClientId MUST comprise only Unicode characters, and the length of the UTF-8 encoding must be at least zero bytes and no more than 65535 bytes.
The server MAY restrict the ClientId it allows in terms of their lengths and the characters they contain, however the server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length, and contain only the characters "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".
A zero-byte clientId is considered a special case and a server MUST support the following behaviour or not permit zero-byte clientIds.
If the client supplies a zero-byte ClientId, the client MUST also set Clean Session to 1. This combination indicates that the client has no unique identifier and that the server will process the connection as if it were a unique client.
If the client supplies a zero-byte clientId with Clean Session set to 0, the server MUST respond to the CONNECT packet with a CONNACK return code 0x02 (Identifier rejected) and then terminate the TCP connection
If the server rejects the ClientId it MUST respond to the CONNECT packet with a CONNACK return code 0x02 (Identifier rejected) and then terminate the TCP connection
-
Client libraries often provide a way to generate a random client identifier for situations in which the client had not been assigned a client identifier. It would be better to provide a way in the protocol to omit a client identifier in the CONNECT packet for these situations, effectively making such clients anonymous.
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"5eb20db0-7c77-4173-87f2-7705ce9b7366","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":1152.0999999046326,"redirectCount":0,"resourceLoadedEnd":1291.6999998092651,"resourceLoadedStart":433.90000009536743,"resourceTiming":[{"duration":339.59999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":433.90000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":433.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":773.5,"responseStart":0,"secureConnectionStart":0},{"duration":345.6000003814697,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":434.19999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":434.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":779.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":346.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":434.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":434.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":780.5,"responseStart":0,"secureConnectionStart":0},{"duration":349.30000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":434.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":434.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":783.9000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":349.8999996185303,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":434.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":434.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":784.6999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":393.40000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":435.09999990463257,"connectEnd":435.09999990463257,"connectStart":435.09999990463257,"domainLookupEnd":435.09999990463257,"domainLookupStart":435.09999990463257,"fetchStart":435.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":435.09999990463257,"responseEnd":828.5,"responseStart":828.5,"secureConnectionStart":435.09999990463257},{"duration":417,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":435.59999990463257,"connectEnd":435.59999990463257,"connectStart":435.59999990463257,"domainLookupEnd":435.59999990463257,"domainLookupStart":435.59999990463257,"fetchStart":435.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":435.59999990463257,"responseEnd":852.5999999046326,"responseStart":852.5999999046326,"secureConnectionStart":435.59999990463257},{"duration":419,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":435.80000019073486,"connectEnd":435.80000019073486,"connectStart":435.80000019073486,"domainLookupEnd":435.80000019073486,"domainLookupStart":435.80000019073486,"fetchStart":435.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":435.80000019073486,"responseEnd":854.8000001907349,"responseStart":854.8000001907349,"secureConnectionStart":435.80000019073486},{"duration":419.19999980926514,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":436,"connectEnd":436,"connectStart":436,"domainLookupEnd":436,"domainLookupStart":436,"fetchStart":436,"redirectEnd":0,"redirectStart":0,"requestStart":436,"responseEnd":855.1999998092651,"responseStart":855.1999998092651,"secureConnectionStart":436},{"duration":419.30000019073486,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":436.19999980926514,"connectEnd":436.19999980926514,"connectStart":436.19999980926514,"domainLookupEnd":436.19999980926514,"domainLookupStart":436.19999980926514,"fetchStart":436.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":436.19999980926514,"responseEnd":855.5,"responseStart":855.5,"secureConnectionStart":436.19999980926514},{"duration":419.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":436.40000009536743,"connectEnd":436.40000009536743,"connectStart":436.40000009536743,"domainLookupEnd":436.40000009536743,"domainLookupStart":436.40000009536743,"fetchStart":436.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":436.40000009536743,"responseEnd":855.9000000953674,"responseStart":855.9000000953674,"secureConnectionStart":436.40000009536743},{"duration":420.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":436.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":436.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":856.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":419.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":436.69999980926514,"connectEnd":436.69999980926514,"connectStart":436.69999980926514,"domainLookupEnd":436.69999980926514,"domainLookupStart":436.69999980926514,"fetchStart":436.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":436.69999980926514,"responseEnd":856.4000000953674,"responseStart":856.4000000953674,"secureConnectionStart":436.69999980926514},{"duration":392.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":465.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":465.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":857.5,"responseStart":0,"secureConnectionStart":0},{"duration":391.30000019073486,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":465.69999980926514,"connectEnd":465.69999980926514,"connectStart":465.69999980926514,"domainLookupEnd":465.69999980926514,"domainLookupStart":465.69999980926514,"fetchStart":465.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":465.69999980926514,"responseEnd":857,"responseStart":857,"secureConnectionStart":465.69999980926514},{"duration":581.5999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":475.90000009536743,"connectEnd":475.90000009536743,"connectStart":475.90000009536743,"domainLookupEnd":475.90000009536743,"domainLookupStart":475.90000009536743,"fetchStart":475.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":475.90000009536743,"responseEnd":1057.5,"responseStart":1057.5,"secureConnectionStart":475.90000009536743}],"threshold":1000,"fetchStart":0,"domainLookupStart":330,"domainLookupEnd":330,"connectStart":330,"connectEnd":379,"secureConnectionStart":354,"requestStart":379,"responseStart":426,"responseEnd":497,"domLoading":430,"domInteractive":1318,"domContentLoadedEventStart":1318,"domContentLoadedEventEnd":1359,"domComplete":1572,"loadEventStart":1572,"loadEventEnd":1575,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"7a8b3e802e7f6b","effectiveType":"4g","downlink":9.8,"rtt":0,"serverDuration":84,"dbReadsTimeInMs":12,"dbConnsTimeInMs":14,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Note for
MQTT-82: Time box if necessary to ensure discussion doesn't drag on