Synch to No Gnus 200511080839.
[elisp/gnus-doc-ja.git] / sasl-ja.texi
1 \input texinfo                  @c -*-texinfo-*-
2
3 @setfilename sasl-ja
4
5 @set VERSION 0.2
6
7 @dircategory Emacs
8 @direntry
9 * SASL-ja: (sasl-ja).           The Emacs SASL library (Japanese).
10 @end direntry
11
12 @settitle Emacs SASL Library @value{VERSION}
13
14 @ifinfo
15 \e$B$3$N%U%!%$%k$O\e(B Emacs SASL \e$B%i%$%V%i%j!<$r@bL@$7$^$9!#\e(B
16
17 Copyright (C) 2000 Daiki Ueno.
18
19 Permission is granted to copy, distribute and/or modify this document
20 under the terms of the GNU Free Documentation License, Version 1.2 or
21 any later version published by the Free Software Foundation; with no
22 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
23 Texts.  A copy of the license is included in the section entitled "GNU
24 Free Documentation License".
25
26 \e$B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N\e(B GNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q\e(B
27 \e$BBh\e(B 1.2 \e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9\e(B
28 \e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,!"I=I=;f%F%-%9%H$*$h$SN"I=;f%F%-%9%H$O;X\e(B
29 \e$BDj$7$^$;$s!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O!V\e(BGNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H\e(B
30 \e$B$$$&>O$K4^$^$l$F$$$^$9!#\e(B
31 @end ifinfo
32
33 @tex
34
35 @titlepage
36 @title Emacs SASL Library
37
38 @author by Daiki Ueno
39 @page
40
41 @vskip 0pt plus 1filll
42 Copyright @copyright{} 2000 Daiki Ueno.
43
44 Permission is granted to copy, distribute and/or modify this document
45 under the terms of the GNU Free Documentation License, Version 1.2 or
46 any later version published by the Free Software Foundation; with no
47 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
48 Texts.  A copy of the license is included in the section entitled "GNU
49 Free Documentation License".
50
51 \e$B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N\e(B GNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q\e(B
52 \e$BBh\e(B 1.2 \e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9\e(B
53 \e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,!"I=I=;f%F%-%9%H$*$h$SN"I=;f%F%-%9%H$O;X\e(B
54 \e$BDj$7$^$;$s!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O!V\e(BGNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H\e(B
55 \e$B$$$&>O$K4^$^$l$F$$$^$9!#\e(B
56 @end titlepage
57 @page
58
59 @end tex
60
61 @node Top
62 @top Emacs SASL
63
64 \e$B$3$N%^%K%e%"%k$O\e(B Emacs SASL \e$B%i%$%V%i%j!<$r@bL@$7$^$9!#\e(B
65
66 \e$B0[$J$k%W%m%H%3%k$r;H$&%"%W%j%1!<%7%g%s4V$G!"J#?t$NG'>Z%a%+%K%:%`$r6&M-$9\e(B
67 \e$B$k$?$a$N6&DL%$%s%?!<%U%'!<%9$G$9!#\e(B
68
69 @menu
70 * Overview::                    Emacs SASL \e$B%i%$%V%i%j!<$H$O\e(B
71 * How to use::                  \e$B%"%W%j%1!<%7%g%s$KG'>Z%5%]!<%H$rDI2C$9$k\e(B
72 * Data types::
73 * Back end drivers::            \e$BFH<+$N%I%i%$%P!<$r=q$/\e(B
74 * Index::
75 * Function Index::
76 * Variable Index::
77 @end menu
78
79 @node Overview
80 @chapter \e$BBgMW\e(B
81
82 @sc{sasl} \e$B$O\e(B @dfn{Simple Authentication and Security Layer} \e$B$NN,$G$9!#I8\e(B
83 \e$B=`$O\e(B RFC2222 \e$B$KJ8=q2=$5$l$F$$$^$9!#$3$l$O!"$5$^$6$^$J%"%W%j%1!<%7%g%s!&\e(B
84 \e$B%W%m%H%3%k$K!"G'>Z%5%]!<%H$rDI2C$9$k$?$a$N4JC1$J<jCJ$rDs6!$7$^$9!#\e(B
85
86 \e$B$3$N%i%$%V%i%j!<$N:G>e0L$N%$%s%?!<%U%'!<%9$O!"\e(BJava @sc{sasl} Application
87 Program Interface \e$B$K$h$C$F?(H/$5$l$^$7$?!#$=$l$O!"Cj>]2=$7$?0lO"$NG'>Z%a\e(B
88 \e$B%+%K%:%`$N%I%i%$%P!<$rDj5A$7$^$9!#\e(B
89
90 \e$B%P%C%/%(%s%I$N%I%i%$%P!<$O!"$J$k$Y$/G'>Z%a%+%K%:%`$KL)@\$7$F$$$k$3$H$rL\\e(B
91 \e$B;X$7$F$$$^$9!#$I$3$K$"$kDI2C$N@_Dj>pJs$K$b!"$3$N<BAu$+$i%"%/%;%9$9$k$3$H\e(B
92 \e$B$,$G$-$^$9!#\e(B
93
94 @node How to use
95 @chapter \e$B;H$$J}\e(B
96
97 (\e$B$^$@=q$+$l$F$$$^$;$s\e(B)\e$B!#\e(B
98
99 Emacs SASL \e$B%i%$%V%i%j!<$r;H$&$K$O!"%"%W%j%1!<%7%g%s!&%W%m%0%i%`$N:G=i$G!"\e(B
100 \e$B0J2<$N<0$rI>2A$7$F2<$5$$!#\e(B
101
102 @lisp
103 (require 'sasl)
104 @end lisp
105
106 \e$B<B9T;~$K$N$_\e(B sasl.el \e$B$,B8:_$7$F$$$k$3$H$r8!::$7$?$$$J$i$P!"Be$o$j$KI,MW\e(B
107 \e$B$J4X?t$N\e(B autoload \e$B$N@_Dj$rJB$Y$F$*$$$F$b9=$$$^$;$s!#\e(B
108
109 @node Data types
110 @chapter \e$B%G!<%?$N7?\e(B
111
112 \e$B%M%4%7%(!<%H$5$l$?%;%-%e%j%F%#!<AX$NEAAw$K;H$o$l$k;0$D$N%G!<%?$N7?$H$7$F!"\e(B
113 \e$B%a%+%K%:%`!"%/%i%$%"%s%H!&%Q%i%a!<%?!"$*$h$SG'>Z%9%F%C%W$,$"$j$^$9!#\e(B
114
115 @menu
116 * Mechanisms::
117 * Clients::
118 * Steps::
119 @end menu
120
121 @node Mechanisms
122 @section \e$B%a%+%K%:%`\e(B
123
124 \e$B%a%+%K%:%`\e(B (@code{sasl-mechanism} \e$B%*%V%8%'%/%H\e(B) \e$B$,!"\e(B@sc{sasl} \e$BG'>Z%a%+%K\e(B
125 \e$B%:%`$N%I%i%$%P!<$N\e(B schema \e$B$G$9!#\e(B
126
127 @defvar sasl-mechanisms
128 \e$B%a%+%K%:%`L>$N%j%9%H!#\e(B
129 @end defvar
130
131 @defun sasl-find-mechanism mechanisms
132 \e$BE,@Z$J%a%+%K%:%`$r<hF@$7$^$9!#\e(B@*
133 \e$B$3$N4X?t$O\e(B @var{mechanisms} \e$B$H\e(B @code{sasl-mechanisms} \e$B$rHf3S$7$F!"E,@Z\e(B
134 \e$B$J\e(B @code{sasl-mechanism} \e$B%*%V%8%'%/%H$rJV$7$^$9!#\e(B
135
136 @lisp
137 (let ((sasl-mechanisms '("CRAM-MD5" "DIGEST-MD5")))
138   (setq mechanism (sasl-find-mechanism server-supported-mechanisms)))
139 @end lisp
140 @end defun
141
142 @defun sasl-mechanism-name mechanism
143 \e$B%a%+%K%:%`$NL>A0$rJ8;zNs$GJV$7$^$9!#\e(B
144 @end defun
145
146 \e$BG'>Z%a%+%K%:%`$N%I%i%$%P!<\e(B (@ref{Back end drivers}) \e$B$r=q$-$?$1$l$P!"\e(B
147 @code{sasl-make-mechanism} \e$B$r;H$$!"\e(B@code{sasl-mechanisms} \e$B$*$h\e(B
148 \e$B$S\e(B @code{sasl-mechanism-alist} \e$B$r@5$7$/JQ99$7$F2<$5$$!#\e(B
149
150 @defun sasl-make-mechanism name steps
151 @code{sasl-mechanism} \e$B%*%V%8%'%/%H$r3d$jEv$F$^$9!#\e(B@*
152 \e$B$3$N4X?t$OFs$D$N%Q%i%a!<%?!"$9$J$o$A%a%+%K%:%`$NL>A0!"$*$h$SG'>Z$9$k$?$a\e(B
153 \e$B$N4X?t$N%j%9%H$r<u$1<h$j$^$9!#\e(B
154
155 @lisp
156 (defconst sasl-anonymous-steps
157   '(identity                            ; \e$B:G=i$O1~EzL5$7\e(B
158     sasl-anonymous-response))
159
160 (put 'sasl-anonymous 'sasl-mechanism
161      (sasl-make-mechanism "ANONYMOUS" sasl-anonymous-steps))
162 @end lisp
163 @end defun
164
165 @node Clients
166 @section \e$B%/%i%$%"%s%H\e(B
167
168 \e$B%/%i%$%"%s%H\e(B (@code{sasl-client} \e$B%*%V%8%'%/%H\e(B) \e$B$O;M$D$N%Q%i%a!<%?!"$9$J\e(B
169 \e$B$o$A%a%+%K%:%`!"%f!<%6!<L>!"%5!<%S%9L>!"$*$h$S%5!<%P!<L>$K$h$C$F=i4|2=$5\e(B
170 \e$B$l$^$9!#\e(B
171
172 @defun sasl-make-client mechanism name service server
173 @code{sasl-client} \e$B%*%V%8%'%/%H$rMQ0U$7$^$9!#\e(B
174 @end defun
175
176 @defun sasl-client-mechanism client
177 \e$B%/%i%$%"%s%H$N%a%+%K%:%`\e(B (@code{sasl-mechanism} \e$B%*%V%8%'%/%H\e(B) \e$B$rJV$7$^$9!#\e(B
178 @end defun
179
180 @defun sasl-client-name client
181 \e$B%/%i%$%"%s%H$NG'>ZL>$rJ8;zNs$GJV$7$^$9!#\e(B
182 @end defun
183
184 @defun sasl-client-service client
185 \e$B%/%i%$%"%s%H$N%5!<%S%9L>$rJ8;zNs$GJV$7$^$9!#\e(B
186 @end defun
187
188 @defun sasl-client-server client
189 \e$B%/%i%$%"%s%H$N%5!<%P!<L>$rJ8;zNs$GJV$7$^$9!#\e(B
190 @end defun
191
192 \e$BB0@-$N@_Dj$rDI2C$7$?$$>l9g$O!"\e(B@code{sasl-client-set-property} \e$B$r;H$C$F2<\e(B
193 \e$B$5$$!#\e(B
194
195 @defun sasl-client-set-property client property value
196 \e$BM?$($i$l$?B0@-$*$h$S$=$NCM$r%/%i%$%"%s%H$KDI2C$7$^$9!#\e(B
197 @end defun
198
199 @defun sasl-client-property client property
200 \e$B%/%i%$%s%H$NB0@-$NCM$rJV$7$^$9!#\e(B
201 @end defun
202
203 @defun sasl-client-set-properties client plist
204 \e$B%/%i%$%"%s%H$NB0@-$rGK2uE*$K@_Dj$7$^$9!#\e(B@*
205 \e$BBhFs0z?t$O?7$7$$%W%m%Q%F%#!<!&%j%9%H\e(B (plist) \e$B$G$9!#\e(B
206 @end defun
207
208 @defun sasl-client-properties client
209 \e$B%/%i%$%"%s%H$N@_Dj$N%W%m%Q%F%#!<!&%j%9%H$r!"$^$k$4$HJV$7$^$9!#\e(B
210 @end defun
211
212 @node Steps
213 @section \e$B%9%F%C%W\e(B
214
215 \e$B%9%F%C%W\e(B (@code{sasl-step} \e$B%*%V%8%'%/%H\e(B) \e$B$OG'>Z%9%F%C%W$NCj>]2=$G$9!#$=\e(B
216 \e$B$l$O!"1~Ez$NCM$H<!2s$NG'>Z=hM}$NF~$j8}$rJ];}$7$^$9\e(B (\e$B8e<T$O%"%/%;%9$G$-$^\e(B
217 \e$B$;$s\e(B)\e$B!#\e(B
218
219 @defun sasl-step-data step
220 @var{step} \e$B$,J];}$9$k%G!<%?$rJ8;zNs$GJV$7$^$9!#\e(B
221 @end defun
222
223 @defun sasl-step-set-data step data
224 @var{step} \e$B$K\e(B @var{data} \e$B$NJ8;zNs$r3JG<$7$^$9!#\e(B
225 @end defun
226
227 \e$B:G=i$N1~Ez$rF@$k$K$O!"BhFs0z?t$r\e(B @code{nil} \e$B$K$7$F4X\e(B
228 \e$B?t\e(B @code{sasl-next-step} \e$B$r8F$P$J$1$l$P$J$j$^$;$s!#\e(B
229
230 @lisp
231 (setq name (sasl-mechanism-name mechanism))
232 @end lisp
233
234 \e$B$3$NCJ3,$G!"\e(BSASL \e$B$NG'>Z%W%m%H%3%k$N8r49$r3+;O$9$k%3%^%s%I$rAw$k$3$H$,$G\e(B
235 \e$B$-$^$9!#Nc$G$9!#\e(B
236
237 @lisp
238 (process-send-string
239  process
240  (if (sasl-step-data step)              ; \e$B:G=i$N1~Ez\e(B
241      (format "AUTH %s %s\r\n"
242              name (base64-encode-string (sasl-step-data step) t))
243    (format "AUTH %s\r\n" name)))
244 @end lisp
245
246 \e$BG'>Z=hM}$rB3$1$k$?$a$K9T$J$o$J$1$l$P$J$i$J$$$3$H$O!"O"B3$7\e(B
247 \e$B$F\e(B @code{sasl-next-step} \e$B$r8F$V$3$H$G$9!#\e(B
248
249 @defun sasl-next-step client step
250 \e$BG'>Z%9%F%C%W$r<B9T$7$^$9!#\e(B@*
251 \e$B:G=i$O\e(B @var{step} \e$B$r\e(B @code{nil} \e$B$K@_Dj$7$J$1$l$P$J$j$^$;$s!#\e(B
252 @end defun
253
254 @node Back end drivers
255 @chapter \e$B%P%C%/%(%s%I!&%I%i%$%P!<\e(B
256
257 (\e$B$^$@=q$+$l$F$$$^$;$s\e(B)\e$B!#\e(B
258
259 @node Index
260 @chapter Index
261 @printindex cp
262
263 @node Function Index
264 @chapter Function Index
265 @printindex fn
266
267 @node Variable Index
268 @chapter Variable Index
269 @printindex vr
270
271 @summarycontents
272 @contents
273 @bye
274
275 @c Local Variables:
276 @c coding: iso-2022-7bit
277 @c fill-column: 72
278 @c mode: texinfo
279 @c use-kuten-for-period: t
280 @c use-touten-for-comma: t
281 @c End: