• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我自閑庭信步,悠然自得,不亦樂乎.

                                                   ------ Keep life simple
            GMail/GTalk/MSN:huyi.zg@gmail.com

             

            cyrus_sasl API使用方法

            /* ?This?is?a?proposed?C?API?for?support?of?SASL
            ?*
            ?*********************************IMPORTANT*******************************
            ?*?send?email?to?chris.newman@innosoft.com?and?cyrus-bugs@andrew.cmu.edu?*
            ?*?if?you?need?to?add?new?error?codes,?callback?types,?property?values,??*
            ?*?etc.???It?is?important?to?keep?the?multiple?implementations?of?this???*
            ?*?API?from?diverging.???????????????????????????????????????????????????*
            ?*********************************IMPORTANT*******************************
            ?*
            ?*?Basic?Type?Summary:
            ?*??sasl_conn_t???????Context?for?a?SASL?connection?negotiation
            ?*??sasl_ssf_t????????Security?layer?Strength?Factor
            ?*??sasl_callback_t???A?typed?client/server?callback?function?and?context
            ?*??sasl_interact_t???A?client?interaction?descriptor
            ?*??sasl_secret_t?????A?client?password
            ?*??sasl_rand_t???????Random?data?context?structure
            ?*??sasl_security_properties_t??An?application's?required?security?level
            ?*
            ?*?Callbacks:
            ?*??sasl_getopt_t?????client/server:?Get?an?option?value
            ?*??sasl_logmsg_t?????client/server:?Log?message?handler
            ?*??sasl_getsimple_t??client:?Get?user/language?list
            ?*??sasl_getsecret_t??client:?Get?authentication?secret
            ?*??sasl_chalprompt_t?client:?Display?challenge?and?prompt?for?response
            ?*
            ?*?Server?only?Callbacks:
            ?*??sasl_authorize_t?????????????user?authorization?policy?callback
            ?*??sasl_server_userdb_checkpass?check?password?and?auxprops?in?userdb
            ?*??sasl_server_userdb_setpass???set?password?in?userdb
            ?*??sasl_server_canon_user???????canonicalize?username?routine
            ?*
            ?*?Client/Server?Function?Summary:
            ?*??sasl_done?????????Release?all?SASL?global?state
            ?*??sasl_dispose??????Connection?done:?Dispose?of?sasl_conn_t
            ?*??sasl_getprop??????Get?property?(e.g.,?user?name,?security?layer?info)
            ?*??sasl_setprop??????Set?property?(e.g.,?external?ssf)
            ?*??sasl_errdetail????Generate?string?from?last?error?on?connection
            ?*??sasl_errstring????Translate?sasl?error?code?to?a?string
            ?*??sasl_encode???????Encode?data?to?send?using?security?layer
            ?*??sasl_decode???????Decode?data?received?using?security?layer
            ?*??
            ?*?Utility?functions:
            ?*??sasl_encode64?????Encode?data?to?send?using?MIME?base64?encoding
            ?*??sasl_decode64?????Decode?data?received?using?MIME?base64?encoding
            ?*??sasl_erasebuffer??Erase?a?buffer
            ?*
            ?*?Client?Function?Summary:
            ?*??sasl_client_init??Load?and?initialize?client?plug-ins?(call?once)
            ?*??sasl_client_new???Initialize?client?connection?context:?sasl_conn_t
            ?*??sasl_client_start?Select?mechanism?for?connection
            ?*??sasl_client_step??Perform?one?authentication?step
            ?*
            ?*?Server?Function?Summary
            ?*??sasl_server_init??Load?and?initialize?server?plug-ins?(call?once)
            ?*??sasl_server_new???Initialize?server?connection?context:?sasl_conn_t
            ?*??sasl_listmech?????Create?list?of?available?mechanisms
            ?*??sasl_server_start?Begin?an?authentication?exchange
            ?*??sasl_server_step??Perform?one?authentication?exchange?step
            ?*??sasl_checkpass????Check?a?plaintext?passphrase
            ?*??sasl_checkapop????Check?an?APOP?challenge/response?(uses?pseudo?"APOP"
            ?*????????????????????mechanism?similar?to?CRAM-MD5?mechanism;?optional)
            ?*??sasl_user_exists??Check?if?user?exists
            ?*??sasl_setpass??????Change?a?password?or?add?a?user?entry
            ?*??sasl_auxprop_request??Request?auxiliary?properties
            ?*??sasl_auxprop_getctx???Get?auxiliary?property?context?for?connection
            ?*??sasl_auxprop_store????Store?a?set?of?auxiliary?properties
            ?*
            ?*?Basic?client?model:
            ?*??1.?client?calls?sasl_client_init()?at?startup?to?load?plug-ins
            ?*??2.?when?connection?formed,?call?sasl_client_new()
            ?*??3.?once?list?of?supported?mechanisms?received?from?server,?client
            ?*?????calls?sasl_client_start().??goto?4a
            ?*??4.?client?calls?sasl_client_step()
            ?*?[4a.?If?SASL_INTERACT,?fill?in?prompts?and?goto?4
            ?*??????--?doesn't?happen?if?callbacks?provided]
            ?*??4b.?If?SASL?error,?goto?7?or?3
            ?*??4c.?If?SASL_OK,?continue?or?goto?6?if?last?server?response?was?success
            ?*??5.?send?message?to?server,?wait?for?response
            ?*??5a.?On?data?or?success?with?server?response,?goto?4
            ?*??5b.?On?failure?goto?7?or?3
            ?*??5c.?On?success?with?no?server?response?continue
            ?*??6.?continue?with?application?protocol?until?connection?closes
            ?*?????call?sasl_getprop/sasl_encode/sasl_decode()?if?using?security?layer
            ?*??7.?call?sasl_dispose(),?may?return?to?step?2
            ?*??8.?call?sasl_done()?when?program?terminates
            ?*
            ?*?Basic?Server?model:
            ?*??1.?call?sasl_server_init()?at?startup?to?load?plug-ins
            ?*??2.?On?connection,?call?sasl_server_new()
            ?*??3.?call?sasl_listmech()?and?send?list?to?client]
            ?*??4.?after?client?AUTH?command,?call?sasl_server_start(),?goto?5a
            ?*??5.?call?sasl_server_step()
            ?*??5a.?If?SASL_CONTINUE,?output?to?client,?wait?response,?repeat?5
            ?*??5b.?If?SASL?error,?then?goto?7
            ?*??5c.?If?SASL_OK,?move?on
            ?*??6.?continue?with?application?protocol?until?connection?closes
            ?*?????call?sasl_getprop?to?get?username
            ?*?????call?sasl_getprop/sasl_encode/sasl_decode()?if?using?security?layer
            ?*??7.?call?sasl_dispose(),?may?return?to?step?2
            ?*??8.?call?sasl_done()?when?program?terminates
            ?*
            ?*************************************************
            從sasl.h中截取的。

            posted on 2006-03-19 11:21 HuYi 閱讀(675) 評論(0)  編輯 收藏 引用 所屬分類: Server

            導航

            統計

            常用鏈接

            留言簿(12)

            隨筆分類

            相冊

            收藏夾

            友情鏈接

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久婷婷综合中文字幕| 国产亚洲精久久久久久无码AV| 国产精品美女久久久免费| 国产精品综合久久第一页| 少妇久久久久久被弄到高潮| 少妇熟女久久综合网色欲| 久久久久AV综合网成人| 99久久成人18免费网站| 久久精品国产亚洲AV不卡| 久久99精品国产| 久久久久久曰本AV免费免费| 久久狠狠色狠狠色综合| 亚洲国产成人精品91久久久 | 中文字幕久久欲求不满| 亚洲AV伊人久久青青草原| 久久精品视频网| 亚洲国产精品无码久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 日韩久久久久久中文人妻| 精品无码久久久久久国产| 人妻精品久久无码区| 一本色道久久88综合日韩精品 | 人妻丰满?V无码久久不卡| 97久久精品国产精品青草| 欧美日韩精品久久久久| 精品国产青草久久久久福利| 国产综合久久久久| 亚洲va久久久噜噜噜久久狠狠| 久久久91人妻无码精品蜜桃HD| 色综合久久久久综合99| 精品久久久无码中文字幕天天| 久久久久久久人妻无码中文字幕爆| 久久一区二区三区99| 色综合久久中文综合网| 狠狠色噜噜狠狠狠狠狠色综合久久 | 久久精品黄AA片一区二区三区| 久久久久国产精品麻豆AR影院| 999久久久免费国产精品播放| 久久精品9988| 久久精品国产黑森林| 久久精品中文字幕有码|