<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>StringUtilities xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/proxy/utils/StringUtilities.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.proxy.utils;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.io.UnsupportedEncodingException;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> javax.security.sasl.AuthenticationException;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> javax.security.sasl.SaslException;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <em class="jxr_javadoccomment"> * StringUtilities.java - Various methods to handle strings.</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <em class="jxr_javadoccomment"> * </em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <em class="jxr_javadoccomment"> * @since MINA 2.0.0-M3</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="StringUtilities" href="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#StringUtilities">StringUtilities</a> {
<a class="jxr_linenumber" name="L39" href="#L39">39</a>      <strong class="jxr_keyword">private</strong> <a name="StringUtilities" href="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#StringUtilities">StringUtilities</a>(){
<a class="jxr_linenumber" name="L40" href="#L40">40</a>      }
<a class="jxr_linenumber" name="L41" href="#L41">41</a>      
<a class="jxr_linenumber" name="L42" href="#L42">42</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <em class="jxr_javadoccomment">     * A directive is a parameter of the digest authentication process.</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  <em class="jxr_javadoccomment">     * Returns the value of a directive from the map. If mandatory is true and the </em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <em class="jxr_javadoccomment">     * value is null, then it throws an {@link AuthenticationException}.</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <em class="jxr_javadoccomment">     *  </em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <em class="jxr_javadoccomment">     * @param directivesMap the directive's map </em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <em class="jxr_javadoccomment">     * @param directive the name of the directive we want to retrieve</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment">     * @param mandatory is the directive mandatory</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <em class="jxr_javadoccomment">     * @return the mandatory value as a String</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <em class="jxr_javadoccomment">     * @throws AuthenticationException if mandatory is true and if </em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <em class="jxr_javadoccomment">     * directivesMap.get(directive) == null</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getDirectiveValue(Map&lt;String, String&gt; directivesMap, String directive, <strong class="jxr_keyword">boolean</strong> mandatory)
<a class="jxr_linenumber" name="L55" href="#L55">55</a>              <strong class="jxr_keyword">throws</strong> AuthenticationException {
<a class="jxr_linenumber" name="L56" href="#L56">56</a>          String value = directivesMap.get(directive);
<a class="jxr_linenumber" name="L57" href="#L57">57</a>          
<a class="jxr_linenumber" name="L58" href="#L58">58</a>          <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L59" href="#L59">59</a>              <strong class="jxr_keyword">if</strong> (mandatory) {
<a class="jxr_linenumber" name="L60" href="#L60">60</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> AuthenticationException(<span class="jxr_string">"\&quot;"</span> + directive + <span class="jxr_string">"\&quot; mandatory directive is missing"</span>);
<a class="jxr_linenumber" name="L61" href="#L61">61</a>              }
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  
<a class="jxr_linenumber" name="L63" href="#L63">63</a>              <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L64" href="#L64">64</a>          }
<a class="jxr_linenumber" name="L65" href="#L65">65</a>  
<a class="jxr_linenumber" name="L66" href="#L66">66</a>          <strong class="jxr_keyword">return</strong> value;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>      }
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  
<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <em class="jxr_javadoccomment">     * Copy the directive to the {@link StringBuilder} if not null.</em>
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <em class="jxr_javadoccomment">     * (A directive is a parameter of the digest authentication process.)</em>
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  <em class="jxr_javadoccomment">     * @param directives the directives map</em>
<a class="jxr_linenumber" name="L74" href="#L74">74</a>  <em class="jxr_javadoccomment">     * @param sb the output buffer</em>
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  <em class="jxr_javadoccomment">     * @param directive the directive name to look for</em>
<a class="jxr_linenumber" name="L76" href="#L76">76</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L77" href="#L77">77</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> copyDirective(Map&lt;String, String&gt; directives, StringBuilder sb, String directive) {
<a class="jxr_linenumber" name="L78" href="#L78">78</a>          String directiveValue = directives.get(directive);
<a class="jxr_linenumber" name="L79" href="#L79">79</a>          
<a class="jxr_linenumber" name="L80" href="#L80">80</a>          <strong class="jxr_keyword">if</strong> (directiveValue != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L81" href="#L81">81</a>              sb.append(directive).append(<span class="jxr_string">" = \&quot;"</span>).append(directiveValue).append(<span class="jxr_string">"\&quot;, "</span>);
<a class="jxr_linenumber" name="L82" href="#L82">82</a>          }
<a class="jxr_linenumber" name="L83" href="#L83">83</a>      }
<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
<a class="jxr_linenumber" name="L85" href="#L85">85</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L86" href="#L86">86</a>  <em class="jxr_javadoccomment">     * Copy the directive from the source map to the destination map, if it's</em>
<a class="jxr_linenumber" name="L87" href="#L87">87</a>  <em class="jxr_javadoccomment">     * value isn't null.</em>
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  <em class="jxr_javadoccomment">     * (A directive is a parameter of the digest authentication process.)</em>
<a class="jxr_linenumber" name="L89" href="#L89">89</a>  <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  <em class="jxr_javadoccomment">     * @param src the source map</em>
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <em class="jxr_javadoccomment">     * @param dst the destination map</em>
<a class="jxr_linenumber" name="L92" href="#L92">92</a>  <em class="jxr_javadoccomment">     * @param directive the directive name</em>
<a class="jxr_linenumber" name="L93" href="#L93">93</a>  <em class="jxr_javadoccomment">     * @return the value of the copied directive</em>
<a class="jxr_linenumber" name="L94" href="#L94">94</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L95" href="#L95">95</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String copyDirective(Map&lt;String, String&gt; src, Map&lt;String, String&gt; dst, String directive) {
<a class="jxr_linenumber" name="L96" href="#L96">96</a>          String directiveValue = src.get(directive);
<a class="jxr_linenumber" name="L97" href="#L97">97</a>          
<a class="jxr_linenumber" name="L98" href="#L98">98</a>          <strong class="jxr_keyword">if</strong> (directiveValue != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L99" href="#L99">99</a>              dst.put(directive, directiveValue);
<a class="jxr_linenumber" name="L100" href="#L100">100</a>         }
<a class="jxr_linenumber" name="L101" href="#L101">101</a> 
<a class="jxr_linenumber" name="L102" href="#L102">102</a>         <strong class="jxr_keyword">return</strong> directiveValue;
<a class="jxr_linenumber" name="L103" href="#L103">103</a>     }
<a class="jxr_linenumber" name="L104" href="#L104">104</a> 
<a class="jxr_linenumber" name="L105" href="#L105">105</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L106" href="#L106">106</a> <em class="jxr_javadoccomment">     * Parses digest-challenge string, extracting each token and value(s). Each token</em>
<a class="jxr_linenumber" name="L107" href="#L107">107</a> <em class="jxr_javadoccomment">     * is a directive.</em>
<a class="jxr_linenumber" name="L108" href="#L108">108</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L109" href="#L109">109</a> <em class="jxr_javadoccomment">     * @param buf A non-null digest-challenge string.</em>
<a class="jxr_linenumber" name="L110" href="#L110">110</a> <em class="jxr_javadoccomment">     * @return A Map containing the aprsed directives</em>
<a class="jxr_linenumber" name="L111" href="#L111">111</a> <em class="jxr_javadoccomment">     * @throws SaslException if the String cannot be parsed according to RFC 2831</em>
<a class="jxr_linenumber" name="L112" href="#L112">112</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L113" href="#L113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Map&lt;String, String&gt; parseDirectives(byte[] buf) <strong class="jxr_keyword">throws</strong> SaslException {
<a class="jxr_linenumber" name="L114" href="#L114">114</a>         Map&lt;String, String&gt; map = <strong class="jxr_keyword">new</strong> HashMap&lt;&gt;();
<a class="jxr_linenumber" name="L115" href="#L115">115</a>         <strong class="jxr_keyword">boolean</strong> gettingKey = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L116" href="#L116">116</a>         <strong class="jxr_keyword">boolean</strong> gettingQuotedValue = false;
<a class="jxr_linenumber" name="L117" href="#L117">117</a>         <strong class="jxr_keyword">boolean</strong> expectSeparator = false;
<a class="jxr_linenumber" name="L118" href="#L118">118</a>         byte bch;
<a class="jxr_linenumber" name="L119" href="#L119">119</a> 
<a class="jxr_linenumber" name="L120" href="#L120">120</a>         ByteArrayOutputStream key = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(10);
<a class="jxr_linenumber" name="L121" href="#L121">121</a>         ByteArrayOutputStream value = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(10);
<a class="jxr_linenumber" name="L122" href="#L122">122</a> 
<a class="jxr_linenumber" name="L123" href="#L123">123</a>         <strong class="jxr_keyword">int</strong> i = skipLws(buf, 0);
<a class="jxr_linenumber" name="L124" href="#L124">124</a>         
<a class="jxr_linenumber" name="L125" href="#L125">125</a>         <strong class="jxr_keyword">while</strong> (i &lt; buf.length) {
<a class="jxr_linenumber" name="L126" href="#L126">126</a>             bch = buf[i];
<a class="jxr_linenumber" name="L127" href="#L127">127</a> 
<a class="jxr_linenumber" name="L128" href="#L128">128</a>             <strong class="jxr_keyword">if</strong> (gettingKey) {
<a class="jxr_linenumber" name="L129" href="#L129">129</a>                 <strong class="jxr_keyword">if</strong> (bch == ',') {
<a class="jxr_linenumber" name="L130" href="#L130">130</a>                     <strong class="jxr_keyword">if</strong> (key.size() != 0) {
<a class="jxr_linenumber" name="L131" href="#L131">131</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Directive key contains a ',':"</span> + key);
<a class="jxr_linenumber" name="L132" href="#L132">132</a>                     }
<a class="jxr_linenumber" name="L133" href="#L133">133</a> 
<a class="jxr_linenumber" name="L134" href="#L134">134</a>                     <em class="jxr_comment">// Empty element, skip separator and lws</em>
<a class="jxr_linenumber" name="L135" href="#L135">135</a>                     i = skipLws(buf, i + 1);
<a class="jxr_linenumber" name="L136" href="#L136">136</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (bch == '=') {
<a class="jxr_linenumber" name="L137" href="#L137">137</a>                     <strong class="jxr_keyword">if</strong> (key.size() == 0) {
<a class="jxr_linenumber" name="L138" href="#L138">138</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Empty directive key"</span>);
<a class="jxr_linenumber" name="L139" href="#L139">139</a>                     }
<a class="jxr_linenumber" name="L140" href="#L140">140</a> 
<a class="jxr_linenumber" name="L141" href="#L141">141</a>                     gettingKey = false; <em class="jxr_comment">// Termination of key</em>
<a class="jxr_linenumber" name="L142" href="#L142">142</a>                     i = skipLws(buf, i + 1); <em class="jxr_comment">// Skip to next non whitespace</em>
<a class="jxr_linenumber" name="L143" href="#L143">143</a> 
<a class="jxr_linenumber" name="L144" href="#L144">144</a>                     <em class="jxr_comment">// Check whether value is quoted</em>
<a class="jxr_linenumber" name="L145" href="#L145">145</a>                     <strong class="jxr_keyword">if</strong> (i &lt; buf.length) {
<a class="jxr_linenumber" name="L146" href="#L146">146</a>                         <strong class="jxr_keyword">if</strong> (buf[i] == '&quot;') {
<a class="jxr_linenumber" name="L147" href="#L147">147</a>                             gettingQuotedValue = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L148" href="#L148">148</a>                             ++i; <em class="jxr_comment">// Skip quote</em>
<a class="jxr_linenumber" name="L149" href="#L149">149</a>                         }
<a class="jxr_linenumber" name="L150" href="#L150">150</a>                     } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L151" href="#L151">151</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Valueless directive found: "</span> + key.toString());
<a class="jxr_linenumber" name="L152" href="#L152">152</a>                     }
<a class="jxr_linenumber" name="L153" href="#L153">153</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isLws(bch)) {
<a class="jxr_linenumber" name="L154" href="#L154">154</a>                     <em class="jxr_comment">// LWS that occurs after key</em>
<a class="jxr_linenumber" name="L155" href="#L155">155</a>                     i = skipLws(buf, i + 1);
<a class="jxr_linenumber" name="L156" href="#L156">156</a> 
<a class="jxr_linenumber" name="L157" href="#L157">157</a>                     <em class="jxr_comment">// Expecting '='</em>
<a class="jxr_linenumber" name="L158" href="#L158">158</a>                     <strong class="jxr_keyword">if</strong> (i &lt; buf.length) {
<a class="jxr_linenumber" name="L159" href="#L159">159</a>                         <strong class="jxr_keyword">if</strong> (buf[i] != '=') {
<a class="jxr_linenumber" name="L160" href="#L160">160</a>                             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"'=' expected after key: "</span> + key.toString());
<a class="jxr_linenumber" name="L161" href="#L161">161</a>                         }
<a class="jxr_linenumber" name="L162" href="#L162">162</a>                     } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L163" href="#L163">163</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"'=' expected after key: "</span> + key.toString());
<a class="jxr_linenumber" name="L164" href="#L164">164</a>                     }
<a class="jxr_linenumber" name="L165" href="#L165">165</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L166" href="#L166">166</a>                     key.write(bch); <em class="jxr_comment">// Append to key</em>
<a class="jxr_linenumber" name="L167" href="#L167">167</a>                     ++i; <em class="jxr_comment">// Advance</em>
<a class="jxr_linenumber" name="L168" href="#L168">168</a>                 }
<a class="jxr_linenumber" name="L169" href="#L169">169</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (gettingQuotedValue) {
<a class="jxr_linenumber" name="L170" href="#L170">170</a>                 <em class="jxr_comment">// Getting a quoted value</em>
<a class="jxr_linenumber" name="L171" href="#L171">171</a>                 <strong class="jxr_keyword">if</strong> (bch == '&#92;&#92;') {
<a class="jxr_linenumber" name="L172" href="#L172">172</a>                     <em class="jxr_comment">// quoted-pair = "\&quot; CHAR ==&gt; CHAR</em>
<a class="jxr_linenumber" name="L173" href="#L173">173</a>                     ++i; <em class="jxr_comment">// Skip escape</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</a>                     
<a class="jxr_linenumber" name="L175" href="#L175">175</a>                     <strong class="jxr_keyword">if</strong> (i &lt; buf.length) {
<a class="jxr_linenumber" name="L176" href="#L176">176</a>                         value.write(buf[i]);
<a class="jxr_linenumber" name="L177" href="#L177">177</a>                         ++i; <em class="jxr_comment">// Advance</em>
<a class="jxr_linenumber" name="L178" href="#L178">178</a>                     } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L179" href="#L179">179</a>                         <em class="jxr_comment">// Trailing escape in a quoted value</em>
<a class="jxr_linenumber" name="L180" href="#L180">180</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Unmatched quote found for directive: "</span> + key.toString()
<a class="jxr_linenumber" name="L181" href="#L181">181</a>                                 + <span class="jxr_string">" with value: "</span> + value.toString());
<a class="jxr_linenumber" name="L182" href="#L182">182</a>                     }
<a class="jxr_linenumber" name="L183" href="#L183">183</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (bch == '&quot;') {
<a class="jxr_linenumber" name="L184" href="#L184">184</a>                     <em class="jxr_comment">// closing quote</em>
<a class="jxr_linenumber" name="L185" href="#L185">185</a>                     ++i; <em class="jxr_comment">// Skip closing quote</em>
<a class="jxr_linenumber" name="L186" href="#L186">186</a>                     gettingQuotedValue = false;
<a class="jxr_linenumber" name="L187" href="#L187">187</a>                     expectSeparator = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L188" href="#L188">188</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L189" href="#L189">189</a>                     value.write(bch);
<a class="jxr_linenumber" name="L190" href="#L190">190</a>                     ++i; <em class="jxr_comment">// Advance</em>
<a class="jxr_linenumber" name="L191" href="#L191">191</a>                 }
<a class="jxr_linenumber" name="L192" href="#L192">192</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isLws(bch) || bch == ',') {
<a class="jxr_linenumber" name="L193" href="#L193">193</a>                 <em class="jxr_comment">// Value terminated</em>
<a class="jxr_linenumber" name="L194" href="#L194">194</a>                 extractDirective(map, key.toString(), value.toString());
<a class="jxr_linenumber" name="L195" href="#L195">195</a>                 key.reset();
<a class="jxr_linenumber" name="L196" href="#L196">196</a>                 value.reset();
<a class="jxr_linenumber" name="L197" href="#L197">197</a>                 gettingKey = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L198" href="#L198">198</a>                 gettingQuotedValue = expectSeparator = false;
<a class="jxr_linenumber" name="L199" href="#L199">199</a>                 i = skipLws(buf, i + 1); <em class="jxr_comment">// Skip separator and LWS</em>
<a class="jxr_linenumber" name="L200" href="#L200">200</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (expectSeparator) {
<a class="jxr_linenumber" name="L201" href="#L201">201</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Expecting comma or linear whitespace after quoted string: \&quot;"</span>
<a class="jxr_linenumber" name="L202" href="#L202">202</a>                         + value.toString() + <span class="jxr_string">"\&quot;"</span>);
<a class="jxr_linenumber" name="L203" href="#L203">203</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L204" href="#L204">204</a>                 value.write(bch); <em class="jxr_comment">// Unquoted value</em>
<a class="jxr_linenumber" name="L205" href="#L205">205</a>                 ++i; <em class="jxr_comment">// Advance</em>
<a class="jxr_linenumber" name="L206" href="#L206">206</a>             }
<a class="jxr_linenumber" name="L207" href="#L207">207</a>         }
<a class="jxr_linenumber" name="L208" href="#L208">208</a> 
<a class="jxr_linenumber" name="L209" href="#L209">209</a>         <strong class="jxr_keyword">if</strong> (gettingQuotedValue) {
<a class="jxr_linenumber" name="L210" href="#L210">210</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Unmatched quote found for directive: "</span> + key.toString() + <span class="jxr_string">" with value: "</span>
<a class="jxr_linenumber" name="L211" href="#L211">211</a>                     + value.toString());
<a class="jxr_linenumber" name="L212" href="#L212">212</a>         }
<a class="jxr_linenumber" name="L213" href="#L213">213</a> 
<a class="jxr_linenumber" name="L214" href="#L214">214</a>         <em class="jxr_comment">// Get last pair</em>
<a class="jxr_linenumber" name="L215" href="#L215">215</a>         <strong class="jxr_keyword">if</strong> (key.size() &gt; 0) {
<a class="jxr_linenumber" name="L216" href="#L216">216</a>             extractDirective(map, key.toString(), value.toString());
<a class="jxr_linenumber" name="L217" href="#L217">217</a>         }
<a class="jxr_linenumber" name="L218" href="#L218">218</a> 
<a class="jxr_linenumber" name="L219" href="#L219">219</a>         <strong class="jxr_keyword">return</strong> map;
<a class="jxr_linenumber" name="L220" href="#L220">220</a>     }
<a class="jxr_linenumber" name="L221" href="#L221">221</a> 
<a class="jxr_linenumber" name="L222" href="#L222">222</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L223" href="#L223">223</a> <em class="jxr_javadoccomment">     * Processes directive/value pairs from the digest-challenge and</em>
<a class="jxr_linenumber" name="L224" href="#L224">224</a> <em class="jxr_javadoccomment">     * fill out the provided map.</em>
<a class="jxr_linenumber" name="L225" href="#L225">225</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L226" href="#L226">226</a> <em class="jxr_javadoccomment">     * @param key A non-null String challenge token name.</em>
<a class="jxr_linenumber" name="L227" href="#L227">227</a> <em class="jxr_javadoccomment">     * @param value A non-null String token value.</em>
<a class="jxr_linenumber" name="L228" href="#L228">228</a> <em class="jxr_javadoccomment">     * @throws SaslException if either the key or the value is null or</em>
<a class="jxr_linenumber" name="L229" href="#L229">229</a> <em class="jxr_javadoccomment">     * if the key already has a value. </em>
<a class="jxr_linenumber" name="L230" href="#L230">230</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L231" href="#L231">231</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> extractDirective(Map&lt;String, String&gt; map, String key, String value) <strong class="jxr_keyword">throws</strong> SaslException {
<a class="jxr_linenumber" name="L232" href="#L232">232</a>         <strong class="jxr_keyword">if</strong> (map.get(key) != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L233" href="#L233">233</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> SaslException(<span class="jxr_string">"Peer sent more than one "</span> + key + <span class="jxr_string">" directive"</span>);
<a class="jxr_linenumber" name="L234" href="#L234">234</a>         }
<a class="jxr_linenumber" name="L235" href="#L235">235</a> 
<a class="jxr_linenumber" name="L236" href="#L236">236</a>         map.put(key, value);
<a class="jxr_linenumber" name="L237" href="#L237">237</a>     }
<a class="jxr_linenumber" name="L238" href="#L238">238</a> 
<a class="jxr_linenumber" name="L239" href="#L239">239</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L240" href="#L240">240</a> <em class="jxr_javadoccomment">     * Is character a linear white space ?</em>
<a class="jxr_linenumber" name="L241" href="#L241">241</a> <em class="jxr_javadoccomment">     * LWS            = [CRLF] 1*( SP | HT )</em>
<a class="jxr_linenumber" name="L242" href="#L242">242</a> <em class="jxr_javadoccomment">     * Note that we're checking individual bytes instead of CRLF</em>
<a class="jxr_linenumber" name="L243" href="#L243">243</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L244" href="#L244">244</a> <em class="jxr_javadoccomment">     * @param b the byte to check</em>
<a class="jxr_linenumber" name="L245" href="#L245">245</a> <em class="jxr_javadoccomment">     * @return &lt;tt&gt;true&lt;/tt&gt; if it's a linear white space</em>
<a class="jxr_linenumber" name="L246" href="#L246">246</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L247" href="#L247">247</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isLws(byte b) {
<a class="jxr_linenumber" name="L248" href="#L248">248</a>         <strong class="jxr_keyword">switch</strong> (b) {
<a class="jxr_linenumber" name="L249" href="#L249">249</a>             <strong class="jxr_keyword">case</strong> 13: <em class="jxr_comment">// US-ASCII CR, carriage return</em>
<a class="jxr_linenumber" name="L250" href="#L250">250</a>             <strong class="jxr_keyword">case</strong> 10: <em class="jxr_comment">// US-ASCII LF, line feed</em>
<a class="jxr_linenumber" name="L251" href="#L251">251</a>             <strong class="jxr_keyword">case</strong> 32: <em class="jxr_comment">// US-ASCII SP, space</em>
<a class="jxr_linenumber" name="L252" href="#L252">252</a>             <strong class="jxr_keyword">case</strong> 9: <em class="jxr_comment">// US-ASCII HT, horizontal-tab</em>
<a class="jxr_linenumber" name="L253" href="#L253">253</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L254" href="#L254">254</a>         }
<a class="jxr_linenumber" name="L255" href="#L255">255</a> 
<a class="jxr_linenumber" name="L256" href="#L256">256</a>         <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="L257" href="#L257">257</a>     }
<a class="jxr_linenumber" name="L258" href="#L258">258</a> 
<a class="jxr_linenumber" name="L259" href="#L259">259</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L260" href="#L260">260</a> <em class="jxr_javadoccomment">     * Skip all linear white spaces</em>
<a class="jxr_linenumber" name="L261" href="#L261">261</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L262" href="#L262">262</a> <em class="jxr_javadoccomment">     * @param buf the buf which is being scanned for lws</em>
<a class="jxr_linenumber" name="L263" href="#L263">263</a> <em class="jxr_javadoccomment">     * @param start the offset to start at</em>
<a class="jxr_linenumber" name="L264" href="#L264">264</a> <em class="jxr_javadoccomment">     * @return the next position in buf which isn't a lws character</em>
<a class="jxr_linenumber" name="L265" href="#L265">265</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L266" href="#L266">266</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> skipLws(byte[] buf, <strong class="jxr_keyword">int</strong> start) {
<a class="jxr_linenumber" name="L267" href="#L267">267</a>         <strong class="jxr_keyword">int</strong> i;
<a class="jxr_linenumber" name="L268" href="#L268">268</a> 
<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <strong class="jxr_keyword">for</strong> (i = start; i &lt; buf.length; i++) {
<a class="jxr_linenumber" name="L270" href="#L270">270</a>             <strong class="jxr_keyword">if</strong> (!isLws(buf[i])) {
<a class="jxr_linenumber" name="L271" href="#L271">271</a>                 <strong class="jxr_keyword">return</strong> i;
<a class="jxr_linenumber" name="L272" href="#L272">272</a>             }
<a class="jxr_linenumber" name="L273" href="#L273">273</a>         }
<a class="jxr_linenumber" name="L274" href="#L274">274</a> 
<a class="jxr_linenumber" name="L275" href="#L275">275</a>         <strong class="jxr_keyword">return</strong> i;
<a class="jxr_linenumber" name="L276" href="#L276">276</a>     }
<a class="jxr_linenumber" name="L277" href="#L277">277</a> 
<a class="jxr_linenumber" name="L278" href="#L278">278</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L279" href="#L279">279</a> <em class="jxr_javadoccomment">     * Used to convert username-value, passwd or realm to 8859_1 encoding</em>
<a class="jxr_linenumber" name="L280" href="#L280">280</a> <em class="jxr_javadoccomment">     * if all chars in string are within the 8859_1 (Latin 1) encoding range.</em>
<a class="jxr_linenumber" name="L281" href="#L281">281</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L282" href="#L282">282</a> <em class="jxr_javadoccomment">     * @param str a non-null String</em>
<a class="jxr_linenumber" name="L283" href="#L283">283</a> <em class="jxr_javadoccomment">     * @return a non-null String containing the 8859_1 encoded string</em>
<a class="jxr_linenumber" name="L284" href="#L284">284</a> <em class="jxr_javadoccomment">     * @throws UnsupportedEncodingException if we weren't able to decode using the ISO 8859_1 encoding</em>
<a class="jxr_linenumber" name="L285" href="#L285">285</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L286" href="#L286">286</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String stringTo8859_1(String str) <strong class="jxr_keyword">throws</strong> UnsupportedEncodingException {
<a class="jxr_linenumber" name="L287" href="#L287">287</a>         <strong class="jxr_keyword">if</strong> (str == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L288" href="#L288">288</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="L289" href="#L289">289</a>         }
<a class="jxr_linenumber" name="L290" href="#L290">290</a> 
<a class="jxr_linenumber" name="L291" href="#L291">291</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String(str.getBytes(<span class="jxr_string">"UTF8"</span>), <span class="jxr_string">"8859_1"</span>);
<a class="jxr_linenumber" name="L292" href="#L292">292</a>     }
<a class="jxr_linenumber" name="L293" href="#L293">293</a> 
<a class="jxr_linenumber" name="L294" href="#L294">294</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L295" href="#L295">295</a> <em class="jxr_javadoccomment">     * Returns the value of the named header. If it has multiple values</em>
<a class="jxr_linenumber" name="L296" href="#L296">296</a> <em class="jxr_javadoccomment">     * then an {@link IllegalArgumentException} is thrown</em>
<a class="jxr_linenumber" name="L297" href="#L297">297</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L298" href="#L298">298</a> <em class="jxr_javadoccomment">     * @param headers the http headers map</em>
<a class="jxr_linenumber" name="L299" href="#L299">299</a> <em class="jxr_javadoccomment">     * @param key the key of the header </em>
<a class="jxr_linenumber" name="L300" href="#L300">300</a> <em class="jxr_javadoccomment">     * @return the value of the http header</em>
<a class="jxr_linenumber" name="L301" href="#L301">301</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L302" href="#L302">302</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String getSingleValuedHeader(Map&lt;String, List&lt;String&gt;&gt; headers, String key) {
<a class="jxr_linenumber" name="L303" href="#L303">303</a>         List&lt;String&gt; values = headers.get(key);
<a class="jxr_linenumber" name="L304" href="#L304">304</a> 
<a class="jxr_linenumber" name="L305" href="#L305">305</a>         <strong class="jxr_keyword">if</strong> (values == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L306" href="#L306">306</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L307" href="#L307">307</a>         }
<a class="jxr_linenumber" name="L308" href="#L308">308</a> 
<a class="jxr_linenumber" name="L309" href="#L309">309</a>         <strong class="jxr_keyword">if</strong> (values.size() &gt; 1) {
<a class="jxr_linenumber" name="L310" href="#L310">310</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Header with key [\&quot;"</span> + key + <span class="jxr_string">"\&quot;] isn't single valued !"</span>);
<a class="jxr_linenumber" name="L311" href="#L311">311</a>         }
<a class="jxr_linenumber" name="L312" href="#L312">312</a> 
<a class="jxr_linenumber" name="L313" href="#L313">313</a>         <strong class="jxr_keyword">return</strong> values.get(0);
<a class="jxr_linenumber" name="L314" href="#L314">314</a>     }
<a class="jxr_linenumber" name="L315" href="#L315">315</a> 
<a class="jxr_linenumber" name="L316" href="#L316">316</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L317" href="#L317">317</a> <em class="jxr_javadoccomment">     * Adds an header to the provided map of headers.</em>
<a class="jxr_linenumber" name="L318" href="#L318">318</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="L319" href="#L319">319</a> <em class="jxr_javadoccomment">     * @param headers the http headers map</em>
<a class="jxr_linenumber" name="L320" href="#L320">320</a> <em class="jxr_javadoccomment">     * @param key the name of the new header to add</em>
<a class="jxr_linenumber" name="L321" href="#L321">321</a> <em class="jxr_javadoccomment">     * @param value the value of the added header</em>
<a class="jxr_linenumber" name="L322" href="#L322">322</a> <em class="jxr_javadoccomment">     * @param singleValued if true and the map already contains one value</em>
<a class="jxr_linenumber" name="L323" href="#L323">323</a> <em class="jxr_javadoccomment">     * then it is replaced by the new value. Otherwise it simply adds a new</em>
<a class="jxr_linenumber" name="L324" href="#L324">324</a> <em class="jxr_javadoccomment">     * value to this multi-valued header.</em>
<a class="jxr_linenumber" name="L325" href="#L325">325</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L326" href="#L326">326</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> addValueToHeader(Map&lt;String, List&lt;String&gt;&gt; headers, String key, String value,
<a class="jxr_linenumber" name="L327" href="#L327">327</a>             <strong class="jxr_keyword">boolean</strong> singleValued) {
<a class="jxr_linenumber" name="L328" href="#L328">328</a>         List&lt;String&gt; values = headers.get(key);
<a class="jxr_linenumber" name="L329" href="#L329">329</a> 
<a class="jxr_linenumber" name="L330" href="#L330">330</a>         <strong class="jxr_keyword">if</strong> (values == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L331" href="#L331">331</a>             values = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;(1);
<a class="jxr_linenumber" name="L332" href="#L332">332</a>             headers.put(key, values);
<a class="jxr_linenumber" name="L333" href="#L333">333</a>         }
<a class="jxr_linenumber" name="L334" href="#L334">334</a> 
<a class="jxr_linenumber" name="L335" href="#L335">335</a>         <strong class="jxr_keyword">if</strong> (singleValued &amp;&amp; values.size() == 1) {
<a class="jxr_linenumber" name="L336" href="#L336">336</a>             values.set(0, value);
<a class="jxr_linenumber" name="L337" href="#L337">337</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L338" href="#L338">338</a>             values.add(value);
<a class="jxr_linenumber" name="L339" href="#L339">339</a>         }
<a class="jxr_linenumber" name="L340" href="#L340">340</a>     }
<a class="jxr_linenumber" name="L341" href="#L341">341</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2004&#x2013;2019 <a href="https://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</div>
</body>
</html>
