Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

licence.cpp File Reference

#include "rdesktop.h"
#include "crypto/rc4.h"

Include dependency graph for licence.cpp:

Go to the source code of this file.

Functions

static void licence_generate_keys (uint8 *client_key, uint8 *server_key, uint8 *client_rsa)
static void licence_generate_hwid (uint8 *hwid)
static void licence_present (uint8 *client_random, uint8 *rsa_data, uint8 *licence_data, int licence_size, uint8 *hwid, uint8 *signature)
static void licence_send_request (uint8 *client_random, uint8 *rsa_data, char *user, char *host)
static void licence_process_demand (STREAM s)
static void licence_send_authresp (uint8 *token, uint8 *crypt_hwid, uint8 *signature)
static BOOL licence_parse_authreq (STREAM s, uint8 **token, uint8 **signature)
static void licence_process_authreq (STREAM s)
static void licence_process_issue (STREAM s)
void licence_process (STREAM s)

Variables

char username [16]
char hostname [16]
static uint8 licence_key [16]
static uint8 licence_sign_key [16]
BOOL licence_issued = False


Function Documentation

static void licence_generate_hwid uint8 hwid  )  [static]
 

Definition at line 56 of file licence.cpp.

References buf_out_uint32(), hostname, and LICENCE_HWID_SIZE.

Referenced by licence_process_authreq(), and licence_process_demand().

static void licence_generate_keys uint8 client_key,
uint8 server_key,
uint8 client_rsa
[static]
 

Definition at line 39 of file licence.cpp.

References licence_key, licence_sign_key, sec_hash_16(), and sec_hash_48().

Referenced by licence_process_demand().

static BOOL licence_parse_authreq STREAM  s,
uint8 **  token,
uint8 **  signature
[static]
 

Definition at line 207 of file licence.cpp.

References error(), False, in_uint16_le, in_uint8p, in_uint8s, LICENCE_SIGNATURE_SIZE, LICENCE_TOKEN_SIZE, and s_check_end.

Referenced by licence_process_authreq().

static void licence_present uint8 client_random,
uint8 rsa_data,
uint8 licence_data,
int  licence_size,
uint8 hwid,
uint8 signature
[static]
 

Definition at line 64 of file licence.cpp.

References LICENCE_HWID_SIZE, LICENCE_SIGNATURE_SIZE, LICENCE_TAG_PRESENT, out_uint16, out_uint16_le, out_uint32_le, out_uint8p, out_uint8s, s, s_mark_end, sec_init(), SEC_LICENCE_NEG, SEC_MODULUS_SIZE, SEC_PADDING_SIZE, SEC_RANDOM_SIZE, and sec_send().

Referenced by licence_process_demand().

void licence_process STREAM  s  ) 
 

Definition at line 284 of file licence.cpp.

References in_uint16_le, in_uint8s, licence_process_authreq(), licence_process_demand(), licence_process_issue(), LICENCE_TAG_AUTHREQ, LICENCE_TAG_DEMAND, LICENCE_TAG_ISSUE, LICENCE_TAG_REISSUE, LICENCE_TAG_RESULT, and unimpl().

Referenced by sec_recv().

static void licence_process_authreq STREAM  s  )  [static]
 

Definition at line 228 of file licence.cpp.

References licence_generate_hwid(), LICENCE_HWID_SIZE, licence_key, licence_parse_authreq(), licence_send_authresp(), licence_sign_key, LICENCE_SIGNATURE_SIZE, LICENCE_TOKEN_SIZE, and sec_sign().

Referenced by licence_process().

static void licence_process_demand STREAM  s  )  [static]
 

Definition at line 141 of file licence.cpp.

References hostname, in_uint8p, licence_generate_hwid(), licence_generate_keys(), LICENCE_HWID_SIZE, licence_key, licence_present(), licence_send_request(), licence_sign_key, LICENCE_SIGNATURE_SIZE, load_licence(), SEC_MODULUS_SIZE, SEC_RANDOM_SIZE, sec_sign(), username, and xfree().

Referenced by licence_process().

static void licence_process_issue STREAM  s  )  [static]
 

Definition at line 260 of file licence.cpp.

References in_uint16, in_uint16_le, in_uint8s, licence_issued, licence_key, stream::p, s_check_rem, save_licence(), and True.

Referenced by licence_process().

static void licence_send_authresp uint8 token,
uint8 crypt_hwid,
uint8 signature
[static]
 

Definition at line 180 of file licence.cpp.

References LICENCE_HWID_SIZE, LICENCE_SIGNATURE_SIZE, LICENCE_TAG_AUTHRESP, LICENCE_TOKEN_SIZE, out_uint16_le, out_uint8p, s, s_mark_end, sec_init(), SEC_LICENCE_NEG, and sec_send().

Referenced by licence_process_authreq().

static void licence_send_request uint8 client_random,
uint8 rsa_data,
char *  user,
char *  host
[static]
 

Definition at line 104 of file licence.cpp.

References LICENCE_TAG_HOST, LICENCE_TAG_REQUEST, LICENCE_TAG_USER, out_uint16, out_uint16_le, out_uint32_le, out_uint8p, out_uint8s, s, s_mark_end, sec_init(), SEC_LICENCE_NEG, SEC_MODULUS_SIZE, SEC_PADDING_SIZE, SEC_RANDOM_SIZE, and sec_send().

Referenced by licence_process_demand().


Variable Documentation

char hostname[16]
 

Definition at line 50 of file rdesktop.cpp.

Referenced by licence_generate_hwid(), licence_process_demand(), load_licence(), IRCConnection::login(), SmtpHandler::readyRead(), save_licence(), and sec_out_mcs_data().

BOOL licence_issued = False
 

Definition at line 35 of file licence.cpp.

Referenced by licence_process_issue(), sec_init(), sec_recv(), and sec_send().

uint8 licence_key[16] [static]
 

Definition at line 32 of file licence.cpp.

Referenced by licence_generate_keys(), licence_process_authreq(), licence_process_demand(), and licence_process_issue().

uint8 licence_sign_key[16] [static]
 

Definition at line 33 of file licence.cpp.

Referenced by licence_generate_keys(), licence_process_authreq(), and licence_process_demand().

char username[16]
 

Definition at line 49 of file rdesktop.cpp.

Referenced by OpieFtp::deleteServer(), UserConfig::delUser(), doqcopimpl(), UserConfig::editUser(), OpieFtp::fillCombos(), ZSafe::findPwd(), licence_process_demand(), rdp_connect(), OpieFtp::serverComboSelected(), QMyScrollView::timerEvent(), and OpieFtp::writeConfig().


Generated on Sat Nov 5 17:04:05 2005 for OPIE by  doxygen 1.4.2