Protocols/OSCAR/SNAC/BUCP CHALLENGE RESPONSE: Difference between revisions

From Toxi's Wiki
Jump to navigationJump to search
Created page with "{{Template:Protocols/OSCAR}} BUCP__CHALLENGE_RESPONSE"
 
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:Protocols/OSCAR}}
{{Template:Protocols/OSCAR}}
BUCP__CHALLENGE_RESPONSE
 
This is the first SNAC sent by the server in response to [[Protocols/OSCAR/SNAC/BUCP__CHALLENGE_REQUEST|BUCP__CHALLENGE_REQUEST]]. After this is sent, the client should store the challenge given here, and use it for hashing the password in [[Protocols/OSCAR/SNAC/BUCP__LOGIN_REQUEST|BUCP__LOGIN_REQUEST]].
 
 
{{Template:Protocols/OSCAR/SNAC/Header
|foodgroup=00 17
|subgroup=00 07
|flags=00 00
|request_id=00 00 00 00}}
 
<!-- This isn't a TLV, so we can't use Template:Protocols/OSCAR/SNAC/TLV -->
<!-- TODO(subpurple): Maybe make something custom for non-TLV data? -->
 
                    <tr>
                        <td width="20"></td>
                        <td>
                            <table width="610" bgcolor="darkgreen" cellspacing="0" cellpadding="0" border="0">
                                <tr><td>
                                    <table width="100%" cellspacing="2" cellpadding="0" align="center" border="0">
                                        <tr><td bgcolor="#f9f9f9">
                                            <table width="610" cellspacing="0" cellpadding="0" align="center" border="0">
                                                <tr>
                                                    <td width="20%">&nbsp;xx xx</td>
                                                    <td width="5">&nbsp;</td>
                                                    <td>word</td>
                                                    <td width="5">&nbsp;</td>
                                                    <td width="60%">Challenge length</td>
                                                </tr>
                                                <tr>
                                                    <td>&nbsp;xx ..</td>
                                                    <td width="5">&nbsp;</td>
                                                    <td>string</td>
                                                    <td width="5">&nbsp;</td>
                                                    <td width="60%">Challenge</td>
                                                </tr>
                                            </table>
                                        </td></tr>
                                    </table>
                                </td></tr>
                            </table>
                        </td>
                        <td width="5"></td>
                    </tr>
 
                    <tr>
                        <td height="5" colspan="3"></td>
                    </tr>
 
{{Template:Protocols/OSCAR/SNAC/Footer}}
 
Example dump (from NINA's servers - dump contains a FLAP header):
<pre>
0000  2a 02 00 01 00 16 00 17 00 07 00 00 00 00 00 00  *...............
0010  00 0a 36 30 30 35 38 35 35 39 34 36              ..6005855946
</pre>
 
''Note for server developers: I'm not quite sure if there is anything fancy going on in the challenge generation in NINA, but judging by the packet dumps alone, I simply just made a string with 10 random numbers, as seen in my [https://github.com/subpurple/escargot server]''

Latest revision as of 18:58, 21 July 2024

OSCAR Protocol
IntroductionTermsClients
Basic
TODO
Tutorials
Sign On
Foodgroups
OSERVICE (0x0001)
BUCP (0x0017)

This is the first SNAC sent by the server in response to BUCP__CHALLENGE_REQUEST. After this is sent, the client should store the challenge given here, and use it for hashing the password in BUCP__LOGIN_REQUEST.


 00 17   word   SNAC foodgroup
 00 07   word   SNAC subgroup
 00 00   word   SNAC flags
 00 00 00 00   dword   SNAC request ID
 xx xx   word   Challenge length
 xx ..   string   Challenge

Example dump (from NINA's servers - dump contains a FLAP header):

0000   2a 02 00 01 00 16 00 17 00 07 00 00 00 00 00 00   *...............
0010   00 0a 36 30 30 35 38 35 35 39 34 36               ..6005855946

Note for server developers: I'm not quite sure if there is anything fancy going on in the challenge generation in NINA, but judging by the packet dumps alone, I simply just made a string with 10 random numbers, as seen in my server