Added: avro/site/publish/docs/1.11.3/mapreduce-guide/index.xml
URL: 
http://svn.apache.org/viewvc/avro/site/publish/docs/1.11.3/mapreduce-guide/index.xml?rev=1919887&view=auto
==============================================================================
--- avro/site/publish/docs/1.11.3/mapreduce-guide/index.xml (added)
+++ avro/site/publish/docs/1.11.3/mapreduce-guide/index.xml Wed Aug 14 13:30:06 
2024
@@ -0,0 +1 @@
+<rss version="2.0" 
xmlns:atom="http://www.w3.org/2005/Atom";><channel><title>Apache Avro – 
MapReduce 
guide</title><link>/docs/1.11.3/mapreduce-guide/</link><description>Recent 
content in MapReduce guide on Apache Avro</description><generator>Hugo -- 
gohugo.io</generator><language>en</language><atom:link 
href="/docs/1.11.3/mapreduce-guide/index.xml" rel="self" 
type="application/rss+xml"/></channel></rss>
\ No newline at end of file

Added: avro/site/publish/docs/1.11.3/sasl-profile/_print/index.html
URL: 
http://svn.apache.org/viewvc/avro/site/publish/docs/1.11.3/sasl-profile/_print/index.html?rev=1919887&view=auto
==============================================================================
--- avro/site/publish/docs/1.11.3/sasl-profile/_print/index.html (added)
+++ avro/site/publish/docs/1.11.3/sasl-profile/_print/index.html Wed Aug 14 
13:30:06 2024
@@ -0,0 +1,43 @@
+<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta 
name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.113.0"><link rel=canonical type=text/html 
href=/docs/1.11.3/sasl-profile/><link rel=alternate type=application/rss+xml 
href=/docs/1.11.3/sasl-profile/index.xml><meta name=robots content="noindex, 
nofollow"><link rel=apple-touch-icon sizes=57x57 
href=https://apache.org/favicons/apple-touch-icon-57x57.png><link 
rel=apple-touch-icon sizes=60x60 
href=https://apache.org/favicons/apple-touch-icon-60x60.png><link 
rel=apple-touch-icon sizes=72x72 
href=https://apache.org/favicons/apple-touch-icon-72x72.png><link 
rel=apple-touch-icon sizes=76x76 
href=https://apache.org/favicons/apple-touch-icon-76x76.png><link 
rel=apple-touch-icon sizes=114x114 
href=https://apache.org/favicons/apple-touch-icon-114x114.png><link 
rel=apple-touch-icon sizes=120x120 
href=https://apache.org/favicons/apple-touch-icon-120x120.png><li
 nk rel=apple-touch-icon sizes=144x144 
href=https://apache.org/favicons/apple-touch-icon-144x144.png><link 
rel=apple-touch-icon sizes=152x152 
href=https://apache.org/favicons/apple-touch-icon-152x152.png><link 
rel=apple-touch-icon sizes=180x180 
href=https://apache.org/favicons/apple-touch-icon-180x180.png><link rel=icon 
type=image/png href=https://apache.org/favicons/favicon-32x32.png 
sizes=32x32><link rel=icon type=image/png 
href=https://apache.org/favicons/favicon-194x194.png sizes=194x194><link 
rel=icon type=image/png href=https://apache.org/favicons/favicon-96x96.png 
sizes=96x96><link rel=icon type=image/png 
href=https://apache.org/favicons/android-chrome-192x192.png sizes=192x192><link 
rel=icon type=image/png href=https://apache.org/favicons/favicon-16x16.png 
sizes=16x16><link rel=manifest 
href=https://apache.org/favicons/manifest.json><link rel="shortcut icon" 
href=https://apache.org/favicons/favicon.ico><title>SASL profile | Apache 
Avro</title><meta name=description content><m
 eta property="og:title" content="SASL profile"><meta property="og:description" 
content><meta property="og:type" content="website"><meta property="og:url" 
content="/docs/1.11.3/sasl-profile/"><meta itemprop=name content="SASL 
profile"><meta itemprop=description content><meta name=twitter:card 
content="summary"><meta name=twitter:title content="SASL profile"><meta 
name=twitter:description content><link rel=preload 
href=/scss/main.min.e6198ccfb5f488caccc5f70e1d5d01bec7ba61523a1be10b1acc6ce8c9358f56.css
 as=style><link 
href=/scss/main.min.e6198ccfb5f488caccc5f70e1d5d01bec7ba61523a1be10b1acc6ce8c9358f56.css
 rel=stylesheet integrity><script 
src=https://code.jquery.com/jquery-3.5.1.min.js 
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" 
crossorigin=anonymous></script>
+<link rel=stylesheet href=/css/prism.css></head><body 
class=td-section><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar"><a class=navbar-brand 
href=/><span class=navbar-logo><img src=/docs/1.11.3/logo.svg width=100 
height=30 style="margin:0 10px"></span><span class="text-uppercase 
font-weight-bold">Apache Avro</span></a><div class="td-navbar-nav-scroll 
ml-md-auto" id=main_navbar><ul class="navbar-nav mt-2 mt-lg-0"><li 
class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link 
href=/project/><span>Project</span></a></li><li class="nav-item mr-4 mb-2 
mb-lg-0"><a class=nav-link href=/blog/><span>Blog</span></a></li><li 
class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link 
href=/community/><span>Community</span></a></li><li class="nav-item dropdown 
mr-4 d-none d-lg-block"><a class="nav-link dropdown-toggle" href=# 
id=navbarDropdown role=button data-toggle=dropdown aria-haspopup=true 
aria-expanded=false>Documentation</a><div class=dropdown-
 menu aria-labelledby=navbarDropdownMenuLink><a class=dropdown-item 
href=/docs/1.11.3/>1.11.3 (Current)</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.11.0/>1.11.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.10.2/>1.10.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.10.1/>1.10.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.10.0/>1.10.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.9.2/>1.9.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.9.1/>1.9.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.9.0/>1.9.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.8.2/>1.8.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.8.1/>1.8.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.8.0/>1.8.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.7/>1.7.7</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.6/>1.7.6</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.5/>1.7.5</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.4/>1.7.4</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.3/>1.7.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.2/>1.7.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.1/>1.7.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.0/>1.7.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.3/>1.6.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.2/>1.6.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.1/>1.6.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.0/>1.6.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.4/>1.5.4</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.3/>1.5.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.2/>1.5.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.1/>1.5.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.0/>1.5.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.4.1/>1.4.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.4.0/>1.4.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.3/>1.3.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.2/>1.3.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.1/>1.3.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.0/>1.3.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.2.0/>1.2.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.1.0/>1.1.0</a>
+<a class=dropdown-item 
href=https://avro.apache.org/docs/1.0.0/>1.0.0</a></div></li></ul></div><div 
class="navbar-nav d-none d-lg-block"></div></nav></header><div 
class="container-fluid td-outer"><div class=td-main><div class="row 
flex-xl-nowrap"><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><div 
class=td-content><div class="pageinfo pageinfo-primary d-print-none"><p>This is 
the multi-page printable view of this section.
+<a href=# onclick="return print(),!1">Click here to print</a>.</p><p><a 
href=/docs/1.11.3/sasl-profile/>Return to the regular view of this 
page</a>.</p></div><h1 class=title>SASL profile</h1><ul></ul><div 
class=content><h2 id=introduction>Introduction</h2><p>SASL (<a 
href=https://www.ietf.org/rfc/rfc2222.txt>RFC 2222</a>) provides a framework 
for authentication and security of network protocols. Each protocol that uses 
SASL is meant to define a SASL profile. This document provides a SASL profile 
for connection-based Avro RPC.</p><h2 id=overview>Overview</h2><p>SASL 
negotiation proceeds as a series of message interactions over a connection 
between a client and server using a selected SASL mechanism. The client starts 
this negotiation by sending its chosen mechanism name with an initial (possibly 
empty) message. Negotiation proceeds with the exchange of messages until either 
side indicates success or failure. The content of the messages is 
mechanism-specific. If the negotiation succee
 ds, then the session can proceed over the connection, otherwise it must be 
abandoned.</p><p>Some mechanisms continue to process session data after 
negotiation (e.g., encrypting it), while some specify that further session data 
is transmitted unmodifed.</p><h2 id=negotiation>Negotiation</h2><h3 
id=commands>Commands</h3><p>Avro SASL negotiation uses four one-byte 
commands.</p><ul><li>0: START Used in a client&rsquo;s initial 
message.</li><li>1: CONTINUE Used while negotiation is ongoing.</li><li>2: FAIL 
Terminates negotiation unsuccessfully.</li><li>3: COMPLETE Terminates 
negotiation sucessfully.</li></ul><p>The format of a START message 
is:</p><p><code>| 0 | 4-byte mechanism name length | mechanism name | 4-byte 
payload length | payload data |</code></p><p>The format of a CONTINUE message 
is:</p><p><code>| 1 | 4-byte payload length | payload data |</code></p><p>The 
format of a FAIL message is:</p><p><code>| 2 | 4-byte message length | UTF-8 
message |</code></p><p>The format of a COMP
 LETE message is:</p><p><code>| 3 | 4-byte payload length | payload data 
|</code></p><h3 id=process>Process</h3><p>Negotiation is initiated by a client 
sending a START command containing the client&rsquo;s chosen mechanism name and 
any mechanism-specific payload data.</p><p>The server and client then 
interchange some number (possibly zero) of CONTINUE messages. Each message 
contains payload data that is processed by the security mechanism to generate 
the next message.</p><p>Once either the client or server send a FAIL message 
then negotiation has failed. UTF-8-encoded text is included in the failure 
message. Once either a FAIL message has been sent or received, or any other 
error occurs in the negotiation, further communication on this connection must 
cease.</p><p>Once either the client or server send a COMPLETE message then 
negotiation has completed successfully. Session data may now be transmitted 
over the connection until it is closed by either side.</p><h2 
id=session-data>Session
  Data</h2><p>If no SASL QOP (quality of protection) is negotiated, then all 
subsequent writes to/reads over this connection are written/read unmodified. In 
particular, messages use Avro <a href=#Message+Framing>framing</a>, and are of 
the form:</p><p><code>| 4-byte frame length | frame data | ... | 4 zero bytes 
|</code></p><p>If a SASL QOP is negotiated, then it must be used by the 
connection for all subsequent messages. This is done by wrapping each non-empty 
frame written using the security mechanism and unwrapping each non-empty frame 
read. The length written in each non-empty frame is the length of the wrapped 
data. Complete frames must be passed to the security mechanism for unwrapping. 
Unwrapped data is then passed to the application as the content of the 
frame.</p><p>If at any point processing fails due to wrapping, unwrapping or 
framing errors, then all further communication on this connection must 
cease.</p><h2 id=anonymous-mechanism>Anonymous Mechanism</h2><p>The SASL anon
 ymous mechanism (<a href=https://www.ietf.org/rfc/rfc2222.txt>RFC 2245</a>) is 
quite simple to implement. In particular, an initial anonymous request may be 
prefixed by the following static sequence:</p><p><code>| 0 | 0009 | ANONYMOUS | 
0000 |</code></p><p>If a server uses the anonymous mechanism, it should check 
that the mechanism name in the start message prefixing the first request 
received is &lsquo;ANONYMOUS&rsquo;, then simply prefix its initial response 
with a COMPLETE message of:</p><p><code>| 3 | 0000 |</code></p><p>If an 
anonymous server recieves some other mechanism name, then it may respond with a 
FAIL message as simple as:</p><p><code>| 2 | 0000 |</code></p><p>Note that the 
anonymous mechanism need add no additional round-trip messages between client 
and server. The START message can be piggybacked on the initial request and the 
COMPLETE or FAIL message can be piggybacked on the initial 
response.</p></div></div></main></div></div><footer class="bg-dark py-5 row 
d-print-
 none"><div class="container-fluid mx-sm-5"><div class=row><div class="col-6 
col-sm-4 text-xs-center order-sm-2"><ul class="list-inline mb-0"><li 
class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top 
title="User mailing list" aria-label="User mailing list"><a class=text-white 
target=_blank rel=noopener href=mailto:[email protected] aria-label="User 
mailing list"><i class="fa fa-envelope"></i></a></li><li 
class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top 
title=Twitter aria-label=Twitter><a class=text-white target=_blank rel=noopener 
href=https://twitter.com/ApacheAvro aria-label=Twitter><i class="fab 
fa-twitter"></i></a></li><li class="list-inline-item mx-2 h3" 
data-toggle=tooltip data-placement=top title="Stack Overflow" aria-label="Stack 
Overflow"><a class=text-white target=_blank rel=noopener 
href=https://stackoverflow.com/questions/tagged/avro aria-label="Stack 
Overflow"><i class="fab fa-stack-overflow"></i></a></li></ul></div><div class=
 "col-6 col-sm-4 text-right text-xs-center order-sm-3"><ul class="list-inline 
mb-0"><li class="list-inline-item mx-2 h3" data-toggle=tooltip 
data-placement=top title=GitHub aria-label=GitHub><a class=text-white 
target=_blank rel=noopener href=https://github.com/apache/avro 
aria-label=GitHub><i class="fab fa-github"></i></a></li><li 
class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top 
title=Issues aria-label=Issues><a class=text-white target=_blank rel=noopener 
href=https://issues.apache.org/jira/projects/AVRO/issues aria-label=Issues><i 
class="fab fa-jira"></i></a></li><li class="list-inline-item mx-2 h3" 
data-toggle=tooltip data-placement=top title="Chat with other project 
developers at Slack" aria-label="Chat with other project developers at 
Slack"><a class=text-white target=_blank rel=noopener 
href=https://the-asf.slack.com/ aria-label="Chat with other project developers 
at Slack"><i class="fab fa-slack"></i></a></li><li class="list-inline-item mx-2 
h3" data-tog
 gle=tooltip data-placement=top title="Developer mailing list" 
aria-label="Developer mailing list"><a class=text-white target=_blank 
rel=noopener href=mailto:[email protected] aria-label="Developer mailing 
list"><i class="fa fa-envelope"></i></a></li></ul></div><div class="col-12 
col-sm-4 text-center py-2 order-sm-2"><small class=text-white>&copy; 2023 The 
Apache Software Foundation All Rights Reserved</small><p><small 
class=text-white>Apache Avro, Avro&trade;, Apache&reg;, and the Apache feather 
logo are either registered trademarks or trademarks of The Apache Software 
Foundation.</small></p></div></div></div></footer></div><script 
src=https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js 
integrity=sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN
 crossorigin=anonymous></script>
+<script 
src=https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js 
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
 crossorigin=anonymous></script>
+<script src=/js/tabpane-persist.js></script>
+<script 
src=/js/main.min.aa9f4c5dae6a98b2c46277f4c56f1673a2b000d1756ce4ffae93784cab25e6d5.js
 integrity="sha256-qp9MXa5qmLLEYnf0xW8Wc6KwANF1bOT/rpN4TKsl5tU=" 
crossorigin=anonymous></script>
+<script src=/js/prism.js></script></body></html>
\ No newline at end of file

Added: avro/site/publish/docs/1.11.3/sasl-profile/index.html
URL: 
http://svn.apache.org/viewvc/avro/site/publish/docs/1.11.3/sasl-profile/index.html?rev=1919887&view=auto
==============================================================================
--- avro/site/publish/docs/1.11.3/sasl-profile/index.html (added)
+++ avro/site/publish/docs/1.11.3/sasl-profile/index.html Wed Aug 14 13:30:06 
2024
@@ -0,0 +1,59 @@
+<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta 
name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.113.0"><link rel=alternate type=text/html 
href=/docs/1.11.3/sasl-profile/_print/><link rel=alternate 
type=application/rss+xml href=/docs/1.11.3/sasl-profile/index.xml><meta 
name=robots content="index, follow"><link rel=apple-touch-icon sizes=57x57 
href=https://apache.org/favicons/apple-touch-icon-57x57.png><link 
rel=apple-touch-icon sizes=60x60 
href=https://apache.org/favicons/apple-touch-icon-60x60.png><link 
rel=apple-touch-icon sizes=72x72 
href=https://apache.org/favicons/apple-touch-icon-72x72.png><link 
rel=apple-touch-icon sizes=76x76 
href=https://apache.org/favicons/apple-touch-icon-76x76.png><link 
rel=apple-touch-icon sizes=114x114 
href=https://apache.org/favicons/apple-touch-icon-114x114.png><link 
rel=apple-touch-icon sizes=120x120 
href=https://apache.org/favicons/apple-touch-icon-120x120.png>
 <link rel=apple-touch-icon sizes=144x144 
href=https://apache.org/favicons/apple-touch-icon-144x144.png><link 
rel=apple-touch-icon sizes=152x152 
href=https://apache.org/favicons/apple-touch-icon-152x152.png><link 
rel=apple-touch-icon sizes=180x180 
href=https://apache.org/favicons/apple-touch-icon-180x180.png><link rel=icon 
type=image/png href=https://apache.org/favicons/favicon-32x32.png 
sizes=32x32><link rel=icon type=image/png 
href=https://apache.org/favicons/favicon-194x194.png sizes=194x194><link 
rel=icon type=image/png href=https://apache.org/favicons/favicon-96x96.png 
sizes=96x96><link rel=icon type=image/png 
href=https://apache.org/favicons/android-chrome-192x192.png sizes=192x192><link 
rel=icon type=image/png href=https://apache.org/favicons/favicon-16x16.png 
sizes=16x16><link rel=manifest 
href=https://apache.org/favicons/manifest.json><link rel="shortcut icon" 
href=https://apache.org/favicons/favicon.ico><title>SASL profile | Apache 
Avro</title><meta name=description content
 ><meta property="og:title" content="SASL profile"><meta 
 >property="og:description" content><meta property="og:type" 
 >content="website"><meta property="og:url" 
 >content="/docs/1.11.3/sasl-profile/"><meta itemprop=name content="SASL 
 >profile"><meta itemprop=description content><meta name=twitter:card 
 >content="summary"><meta name=twitter:title content="SASL profile"><meta 
 >name=twitter:description content><link rel=preload 
 >href=/scss/main.min.e6198ccfb5f488caccc5f70e1d5d01bec7ba61523a1be10b1acc6ce8c9358f56.css
 > as=style><link 
 >href=/scss/main.min.e6198ccfb5f488caccc5f70e1d5d01bec7ba61523a1be10b1acc6ce8c9358f56.css
 > rel=stylesheet integrity><script 
 >src=https://code.jquery.com/jquery-3.5.1.min.js 
 >integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" 
 >crossorigin=anonymous></script>
+<link rel=stylesheet href=/css/prism.css></head><body 
class=td-section><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar"><a class=navbar-brand 
href=/><span class=navbar-logo><img src=/docs/1.11.3/logo.svg width=100 
height=30 style="margin:0 10px"></span><span class="text-uppercase 
font-weight-bold">Apache Avro</span></a><div class="td-navbar-nav-scroll 
ml-md-auto" id=main_navbar><ul class="navbar-nav mt-2 mt-lg-0"><li 
class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link 
href=/project/><span>Project</span></a></li><li class="nav-item mr-4 mb-2 
mb-lg-0"><a class=nav-link href=/blog/><span>Blog</span></a></li><li 
class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link 
href=/community/><span>Community</span></a></li><li class="nav-item dropdown 
mr-4 d-none d-lg-block"><a class="nav-link dropdown-toggle" href=# 
id=navbarDropdown role=button data-toggle=dropdown aria-haspopup=true 
aria-expanded=false>Documentation</a><div class=dropdown-
 menu aria-labelledby=navbarDropdownMenuLink><a class=dropdown-item 
href=/docs/1.11.3/>1.11.3 (Current)</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.11.0/>1.11.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.10.2/>1.10.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.10.1/>1.10.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.10.0/>1.10.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.9.2/>1.9.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.9.1/>1.9.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.9.0/>1.9.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.8.2/>1.8.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.8.1/>1.8.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.8.0/>1.8.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.7/>1.7.7</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.6/>1.7.6</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.5/>1.7.5</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.4/>1.7.4</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.3/>1.7.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.2/>1.7.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.1/>1.7.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.7.0/>1.7.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.3/>1.6.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.2/>1.6.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.1/>1.6.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.6.0/>1.6.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.4/>1.5.4</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.3/>1.5.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.2/>1.5.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.1/>1.5.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.5.0/>1.5.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.4.1/>1.4.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.4.0/>1.4.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.3/>1.3.3</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.2/>1.3.2</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.1/>1.3.1</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.3.0/>1.3.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.2.0/>1.2.0</a>
+<a class=dropdown-item href=https://avro.apache.org/docs/1.1.0/>1.1.0</a>
+<a class=dropdown-item 
href=https://avro.apache.org/docs/1.0.0/>1.0.0</a></div></li></ul></div><div 
class="navbar-nav d-none d-lg-block"></div></nav></header><div 
class="container-fluid td-outer"><div class=td-main><div class="row 
flex-xl-nowrap"><aside class="col-12 col-md-3 col-xl-2 td-sidebar 
d-print-none"><div id=td-sidebar-menu class=td-sidebar__inner><div 
id=content-mobile><form class="td-sidebar__search d-flex 
align-items-center"><button class="btn btn-link td-sidebar__toggle d-md-none 
p-0 ml-3 fas fa-bars" type=button data-toggle=collapse 
data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false 
aria-label="Toggle section navigation"></button></form></div><div 
id=content-desktop></div><nav class="collapse td-sidebar-nav foldable-nav" 
id=td-section-nav><ul class="td-sidebar-nav__section pr-md-3 ul-0"><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section with-child 
active-path" id=m-docs-li><a href=/docs/ class="align-left pl-0 td-sidebar-link 
td-sid
 ebar-link__section tree-root" id=m-docs><span>Documentation</span></a><ul 
class=ul-1><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
with-child active-path" id=m-docs1113-li><input type=checkbox 
id=m-docs1113-check checked>
+<label for=m-docs1113-check><a href=/docs/1.11.3/ title="Apache Avro™ 1.11.3 
Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-docs1113><span>1.11.3</span></a></label><ul class="ul-2 foldable"><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113getting-started-java-li><input type=checkbox 
id=m-docs1113getting-started-java-check>
+<label for=m-docs1113getting-started-java-check><a 
href=/docs/1.11.3/getting-started-java/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" id=m-docs1113getting-started-java><span>Getting 
Started (Java)</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-docs1113getting-started-python-li><input type=checkbox 
id=m-docs1113getting-started-python-check>
+<label for=m-docs1113getting-started-python-check><a 
href=/docs/1.11.3/getting-started-python/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-docs1113getting-started-python><span>Getting Started 
(Python)</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-docs1113specification-li><input 
type=checkbox id=m-docs1113specification-check>
+<label for=m-docs1113specification-check><a href=/docs/1.11.3/specification/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-docs1113specification><span>Specification</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113api-java-li><input type=checkbox id=m-docs1113api-java-check>
+<label for=m-docs1113api-java-check><a href=/docs/1.11.3/api/java/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-docs1113api-java><span>Java API</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113api-c-li><input type=checkbox id=m-docs1113api-c-check>
+<label for=m-docs1113api-c-check><a href=/docs/1.11.3/api/c/ class="align-left 
pl-0 td-sidebar-link td-sidebar-link__page" id=m-docs1113api-c><span>C 
API</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-docs1113api-c-li><input 
type=checkbox id=m-docs1113api-c-check>
+<label for=m-docs1113api-c-check><a href=/docs/1.11.3/api/cpp/html/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-docs1113api-c><span>C++ API</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113api-csharp-li><input type=checkbox id=m-docs1113api-csharp-check>
+<label for=m-docs1113api-csharp-check><a href=/docs/1.11.3/api/csharp/html/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-docs1113api-csharp><span>C# API</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113api-py-li><input type=checkbox id=m-docs1113api-py-check>
+<label for=m-docs1113api-py-check><a href=/docs/1.11.3/api/py/html/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-docs1113api-py><span>Python API</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113mapreduce-guide-li><input type=checkbox 
id=m-docs1113mapreduce-guide-check>
+<label for=m-docs1113mapreduce-guide-check><a 
href=/docs/1.11.3/mapreduce-guide/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" id=m-docs1113mapreduce-guide><span>MapReduce 
guide</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" id=m-docs1113idl-language-li><input 
type=checkbox id=m-docs1113idl-language-check>
+<label for=m-docs1113idl-language-check><a href=/docs/1.11.3/idl-language/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-docs1113idl-language><span>IDL Language</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-docs1113sasl-profile-li><input type=checkbox 
id=m-docs1113sasl-profile-check>
+<label for=m-docs1113sasl-profile-check><a href=/docs/1.11.3/sasl-profile/ 
class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" 
id=m-docs1113sasl-profile><span class=td-sidebar-nav-active-item>SASL 
profile</span></a></label></li></ul></li></ul></li></ul></nav></div></aside><aside
 class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div 
class="td-page-meta ml-2 pb-1 pt-2 mb-0"><a 
href=https://github.com/apache/avro/tree/master/doc/content/en/docs/1.11.3/SASL%20profile/_index.md
 class=td-page-meta--view target=_blank rel=noopener><i class="fa fa-file-alt 
fa-fw"></i> View page source</a>
+<a 
href=https://github.com/apache/avro/edit/master/doc/content/en/docs/1.11.3/SASL%20profile/_index.md
 class=td-page-meta--edit target=_blank rel=noopener><i class="fa fa-edit 
fa-fw"></i> Edit this page</a>
+<a 
href="https://github.com/apache/avro/new/master/doc/content/en/docs/1.11.3/SASL%20profile/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page+%28weight+controls+how+its+ordered+amongst+other+pages+in+the+same+directory%3B+lowest+number+first%29.%0A%2A+Add+a+good+commit+message+at+the+bottom+of+the+page+%28%3C80+characters%3B+use+the+extended+description+field+for+more+detail%29.%0A%2A+Create+a+new+branch+so+you+can+preview+your+new+file+and+request+a+review+via+Pull+Request.%0A";
 class=td-page-meta--child target=_blank rel=noopener><i class="fa fa-edit 
fa-fw"></i> Create child page</a>
+<a href="https://github.com/apache/avro/issues/new?title=SASL%20profile"; 
class=td-page-meta--issue target=_blank rel=noopener><i class="fab fa-github 
fa-fw"></i> Create documentation issue</a>
+<a href=https://github.com/apache/avro/issues/new 
class=td-page-meta--project-issue target=_blank rel=noopener><i class="fas 
fa-tasks fa-fw"></i> Create project issue</a>
+<a id=print href=/docs/1.11.3/sasl-profile/_print/><i class="fa fa-print 
fa-fw"></i> Print entire section</a></div><div class=td-toc><nav 
id=TableOfContents><ul><li><a href=#introduction>Introduction</a></li><li><a 
href=#overview>Overview</a></li><li><a 
href=#negotiation>Negotiation</a><ul><li><a 
href=#commands>Commands</a></li><li><a 
href=#process>Process</a></li></ul></li><li><a href=#session-data>Session 
Data</a></li><li><a href=#anonymous-mechanism>Anonymous 
Mechanism</a></li></ul></nav></div><div class="taxonomy taxonomy-terms-cloud 
taxo-tags"><h5 class=taxonomy-title>Tag Cloud</h5><ul 
class=taxonomy-terms><li><a class=taxonomy-term href=/tags/java/ 
data-taxonomy-term=java><span class=taxonomy-label>java</span><span 
class=taxonomy-count>1</span></a></li><li><a class=taxonomy-term 
href=/tags/python/ data-taxonomy-term=python><span 
class=taxonomy-label>python</span><span 
class=taxonomy-count>1</span></a></li></ul></div></aside><main class="col-12 
col-md-9 col-xl-8 pl-md-5" role=m
 ain><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li 
class=breadcrumb-item><a href=/docs/>Documentation</a></li><li 
class=breadcrumb-item><a href=/docs/1.11.3/>1.11.3</a></li><li 
class="breadcrumb-item active" aria-current=page><a 
href=/docs/1.11.3/sasl-profile/>SASL profile</a></li></ol></nav><div 
class=td-content><h1>SASL profile</h1><header class=article-meta><p 
class=reading-time><i class="fa fa-clock" aria-hidden=true></i>&nbsp; 4 minute 
read &nbsp;</p></header><h2 id=introduction>Introduction</h2><p>SASL (<a 
href=https://www.ietf.org/rfc/rfc2222.txt>RFC 2222</a>) provides a framework 
for authentication and security of network protocols. Each protocol that uses 
SASL is meant to define a SASL profile. This document provides a SASL profile 
for connection-based Avro RPC.</p><h2 id=overview>Overview</h2><p>SASL 
negotiation proceeds as a series of message interactions over a connection 
between a client and server using a selected SASL mechanism. The client st
 arts this negotiation by sending its chosen mechanism name with an initial 
(possibly empty) message. Negotiation proceeds with the exchange of messages 
until either side indicates success or failure. The content of the messages is 
mechanism-specific. If the negotiation succeeds, then the session can proceed 
over the connection, otherwise it must be abandoned.</p><p>Some mechanisms 
continue to process session data after negotiation (e.g., encrypting it), while 
some specify that further session data is transmitted unmodifed.</p><h2 
id=negotiation>Negotiation</h2><h3 id=commands>Commands</h3><p>Avro SASL 
negotiation uses four one-byte commands.</p><ul><li>0: START Used in a 
client&rsquo;s initial message.</li><li>1: CONTINUE Used while negotiation is 
ongoing.</li><li>2: FAIL Terminates negotiation unsuccessfully.</li><li>3: 
COMPLETE Terminates negotiation sucessfully.</li></ul><p>The format of a START 
message is:</p><p><code>| 0 | 4-byte mechanism name length | mechanism name | 
4-byte 
 payload length | payload data |</code></p><p>The format of a CONTINUE message 
is:</p><p><code>| 1 | 4-byte payload length | payload data |</code></p><p>The 
format of a FAIL message is:</p><p><code>| 2 | 4-byte message length | UTF-8 
message |</code></p><p>The format of a COMPLETE message is:</p><p><code>| 3 | 
4-byte payload length | payload data |</code></p><h3 
id=process>Process</h3><p>Negotiation is initiated by a client sending a START 
command containing the client&rsquo;s chosen mechanism name and any 
mechanism-specific payload data.</p><p>The server and client then interchange 
some number (possibly zero) of CONTINUE messages. Each message contains payload 
data that is processed by the security mechanism to generate the next 
message.</p><p>Once either the client or server send a FAIL message then 
negotiation has failed. UTF-8-encoded text is included in the failure message. 
Once either a FAIL message has been sent or received, or any other error occurs 
in the negotiation, furthe
 r communication on this connection must cease.</p><p>Once either the client or 
server send a COMPLETE message then negotiation has completed successfully. 
Session data may now be transmitted over the connection until it is closed by 
either side.</p><h2 id=session-data>Session Data</h2><p>If no SASL QOP (quality 
of protection) is negotiated, then all subsequent writes to/reads over this 
connection are written/read unmodified. In particular, messages use Avro <a 
href=#Message+Framing>framing</a>, and are of the form:</p><p><code>| 4-byte 
frame length | frame data | ... | 4 zero bytes |</code></p><p>If a SASL QOP is 
negotiated, then it must be used by the connection for all subsequent messages. 
This is done by wrapping each non-empty frame written using the security 
mechanism and unwrapping each non-empty frame read. The length written in each 
non-empty frame is the length of the wrapped data. Complete frames must be 
passed to the security mechanism for unwrapping. Unwrapped data is th
 en passed to the application as the content of the frame.</p><p>If at any 
point processing fails due to wrapping, unwrapping or framing errors, then all 
further communication on this connection must cease.</p><h2 
id=anonymous-mechanism>Anonymous Mechanism</h2><p>The SASL anonymous mechanism 
(<a href=https://www.ietf.org/rfc/rfc2222.txt>RFC 2245</a>) is quite simple to 
implement. In particular, an initial anonymous request may be prefixed by the 
following static sequence:</p><p><code>| 0 | 0009 | ANONYMOUS | 0000 
|</code></p><p>If a server uses the anonymous mechanism, it should check that 
the mechanism name in the start message prefixing the first request received is 
&lsquo;ANONYMOUS&rsquo;, then simply prefix its initial response with a 
COMPLETE message of:</p><p><code>| 3 | 0000 |</code></p><p>If an anonymous 
server recieves some other mechanism name, then it may respond with a FAIL 
message as simple as:</p><p><code>| 2 | 0000 |</code></p><p>Note that the 
anonymous mechanism need 
 add no additional round-trip messages between client and server. The START 
message can be piggybacked on the initial request and the COMPLETE or FAIL 
message can be piggybacked on the initial response.</p><div 
class=section-index></div></div></main></div></div><footer class="bg-dark py-5 
row d-print-none"><div class="container-fluid mx-sm-5"><div class=row><div 
class="col-6 col-sm-4 text-xs-center order-sm-2"><ul class="list-inline 
mb-0"><li class="list-inline-item mx-2 h3" data-toggle=tooltip 
data-placement=top title="User mailing list" aria-label="User mailing list"><a 
class=text-white target=_blank rel=noopener href=mailto:[email protected] 
aria-label="User mailing list"><i class="fa fa-envelope"></i></a></li><li 
class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top 
title=Twitter aria-label=Twitter><a class=text-white target=_blank rel=noopener 
href=https://twitter.com/ApacheAvro aria-label=Twitter><i class="fab 
fa-twitter"></i></a></li><li class="list-inline
 -item mx-2 h3" data-toggle=tooltip data-placement=top title="Stack Overflow" 
aria-label="Stack Overflow"><a class=text-white target=_blank rel=noopener 
href=https://stackoverflow.com/questions/tagged/avro aria-label="Stack 
Overflow"><i class="fab fa-stack-overflow"></i></a></li></ul></div><div 
class="col-6 col-sm-4 text-right text-xs-center order-sm-3"><ul 
class="list-inline mb-0"><li class="list-inline-item mx-2 h3" 
data-toggle=tooltip data-placement=top title=GitHub aria-label=GitHub><a 
class=text-white target=_blank rel=noopener href=https://github.com/apache/avro 
aria-label=GitHub><i class="fab fa-github"></i></a></li><li 
class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top 
title=Issues aria-label=Issues><a class=text-white target=_blank rel=noopener 
href=https://issues.apache.org/jira/projects/AVRO/issues aria-label=Issues><i 
class="fab fa-jira"></i></a></li><li class="list-inline-item mx-2 h3" 
data-toggle=tooltip data-placement=top title="Chat with other pro
 ject developers at Slack" aria-label="Chat with other project developers at 
Slack"><a class=text-white target=_blank rel=noopener 
href=https://the-asf.slack.com/ aria-label="Chat with other project developers 
at Slack"><i class="fab fa-slack"></i></a></li><li class="list-inline-item mx-2 
h3" data-toggle=tooltip data-placement=top title="Developer mailing list" 
aria-label="Developer mailing list"><a class=text-white target=_blank 
rel=noopener href=mailto:[email protected] aria-label="Developer mailing 
list"><i class="fa fa-envelope"></i></a></li></ul></div><div class="col-12 
col-sm-4 text-center py-2 order-sm-2"><small class=text-white>&copy; 2023 The 
Apache Software Foundation All Rights Reserved</small><p><small 
class=text-white>Apache Avro, Avro&trade;, Apache&reg;, and the Apache feather 
logo are either registered trademarks or trademarks of The Apache Software 
Foundation.</small></p></div></div></div></footer></div><script 
src=https://cdn.jsdelivr.net/npm/[email protected]/dist
 /umd/popper.min.js 
integrity=sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN
 crossorigin=anonymous></script>
+<script 
src=https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js 
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
 crossorigin=anonymous></script>
+<script src=/js/tabpane-persist.js></script>
+<script 
src=/js/main.min.aa9f4c5dae6a98b2c46277f4c56f1673a2b000d1756ce4ffae93784cab25e6d5.js
 integrity="sha256-qp9MXa5qmLLEYnf0xW8Wc6KwANF1bOT/rpN4TKsl5tU=" 
crossorigin=anonymous></script>
+<script src=/js/prism.js></script></body></html>
\ No newline at end of file

Added: avro/site/publish/docs/1.11.3/sasl-profile/index.xml
URL: 
http://svn.apache.org/viewvc/avro/site/publish/docs/1.11.3/sasl-profile/index.xml?rev=1919887&view=auto
==============================================================================
--- avro/site/publish/docs/1.11.3/sasl-profile/index.xml (added)
+++ avro/site/publish/docs/1.11.3/sasl-profile/index.xml Wed Aug 14 13:30:06 
2024
@@ -0,0 +1 @@
+<rss version="2.0" 
xmlns:atom="http://www.w3.org/2005/Atom";><channel><title>Apache Avro – SASL 
profile</title><link>/docs/1.11.3/sasl-profile/</link><description>Recent 
content in SASL profile on Apache Avro</description><generator>Hugo -- 
gohugo.io</generator><language>en</language><atom:link 
href="/docs/1.11.3/sasl-profile/index.xml" rel="self" 
type="application/rss+xml"/></channel></rss>
\ No newline at end of file

Added: avro/site/publish/docs/1.11.3/spec.html
URL: 
http://svn.apache.org/viewvc/avro/site/publish/docs/1.11.3/spec.html?rev=1919887&view=auto
==============================================================================
--- avro/site/publish/docs/1.11.3/spec.html (added)
+++ avro/site/publish/docs/1.11.3/spec.html Wed Aug 14 13:30:06 2024
@@ -0,0 +1 @@
+<!doctype html><html 
lang=en><head><title>/docs/1.11.3/specification/_print/</title><link 
rel=canonical href=/docs/1.11.3/specification/_print/><meta name=robots 
content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; 
url=/docs/1.11.3/specification/_print/"></head></html>
\ No newline at end of file



Reply via email to