~ubuntu-branches/ubuntu/lucid/wpasupplicant/lucid-updates

« back to all changes in this revision

Viewing changes to tls.h

  • Committer: Bazaar Package Importer
  • Author(s): Kel Modderman
  • Date: 2006-10-05 08:04:01 UTC
  • mfrom: (1.1.5 upstream) (3 etch)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20061005080401-r8lqlix4390yos7b
Tags: 0.5.5-2
* Update madwifi headers to latest SVN. (Closes: #388316)
* Remove failed attempt at action locking. [debian/functions.sh,
  debian/wpa_action.sh]
* Add hysteresis checking functions, to avoid "event loops" while
  using wpa-roam. [debian/functions.sh, debian/wpa_action.sh]
* Change of co-maintainer email address.
* Add ishex() function to functions.sh to determine wpa-psk value type in
  plaintext or hex. This effectively eliminates the need for the bogus and
  somewhat confusing wpa-passphrase contruct specific to our scripts and
  allows wpa-psk to work with either a 8 to 63 character long plaintext
  string or 64 character long hex string.
* Adjust README.modes to not refer to the redundant wpa-passphrase stuff.
* Add big fat NOTE about acceptable wpa-psk's to top of example gallery.
* Strip surrounding quotes from wpa-ssid if present, instead of just whining
  about them.
* Update email address in copyright blurb of functions.sh, ifupdown.sh and
  wpa_action.sh.  

Show diffs side-by-side

added added

removed removed

Lines of Context:
286
286
 * @in_data: Input data from TLS peer
287
287
 * @in_len: Input data length
288
288
 * @out_len: Length of the output buffer.
 
289
 * @appl_data: Pointer to application data pointer, or %NULL if dropped
 
290
 * @appl_data_len: Pointer to variable that is set to appl_data length
289
291
 *
290
292
 * Returns: Pointer to output data, %NULL on failure
291
293
 *
292
 
 * Caller is responsible for freeing returned output data.
 
294
 * Caller is responsible for freeing returned output data. If the final
 
295
 * handshake message includes application data, this is decrypted and
 
296
 * appl_data (if not %NULL) is set to point this data. Caller is responsible
 
297
 * for freeing appl_data.
293
298
 *
294
299
 * This function is used during TLS handshake. The first call is done with
295
300
 * in_data == %NULL and the library is expected to return ClientHello packet.
307
312
 */
308
313
u8 * tls_connection_handshake(void *tls_ctx, struct tls_connection *conn,
309
314
                              const u8 *in_data, size_t in_len,
310
 
                              size_t *out_len);
 
315
                              size_t *out_len, u8 **appl_data,
 
316
                              size_t *appl_data_len);
311
317
 
312
318
/**
313
319
 * tls_connection_server_handshake - Process TLS handshake (server side)
383
389
int tls_connection_set_master_key(void *tls_ctx, struct tls_connection *conn,
384
390
                                  const u8 *key, size_t key_len);
385
391
 
 
392
enum {
 
393
        TLS_CIPHER_NONE,
 
394
        TLS_CIPHER_RC4_SHA /* 0x0005 */,
 
395
        TLS_CIPHER_AES128_SHA /* 0x002f */,
 
396
        TLS_CIPHER_RSA_DHE_AES128_SHA /* 0x0031 */,
 
397
        TLS_CIPHER_ANON_DH_AES128_SHA /* 0x0034 */
 
398
};
 
399
 
386
400
/**
387
 
 * tls_connection_set_anon_dh - Configure TLS connection to use anonymous DH
 
401
 * tls_connection_set_cipher_list - Configure acceptable cipher suites
388
402
 * @tls_ctx: TLS context data from tls_init()
389
403
 * @conn: Connection context data from tls_connection_init()
390
 
 *
 
404
 * @ciphers: Zero (TLS_CIPHER_NONE) terminated list of allowed ciphers
 
405
 * (TLS_CIPHER_*).
391
406
 * Returns: 0 on success, -1 on failure
392
 
 *
393
 
 * TODO: consider changing this to more generic routine for configuring allowed
394
 
 * ciphers
395
407
 */
396
 
int tls_connection_set_anon_dh(void *tls_ctx, struct tls_connection *conn);
 
408
int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection *conn,
 
409
                                   u8 *ciphers);
397
410
 
398
411
/**
399
412
 * tls_get_cipher - Get current cipher name