lib/data_blob.c

ソースコードを見る。

関数

static void free_data_blob (DATA_BLOB *d)
DATA_BLOB data_blob (const void *p, size_t length)
DATA_BLOB data_blob_talloc (TALLOC_CTX *mem_ctx, const void *p, size_t length)
void data_blob_free (DATA_BLOB *d)
void data_blob_clear (DATA_BLOB *d)
void data_blob_clear_free (DATA_BLOB *d)
DATA_BLOB data_blob_string_const (const char *str)
 useful for constructing data blobs in test suites, while avoiding const warnings
DATA_BLOB data_blob_const (const void *p, size_t length)
 Create a new data blob from const data


関数

static void free_data_blob ( DATA_BLOB d  )  [static]

data_blob.c28 行で定義されています。

参照先 data_blob_::datadata_blob_::free.

参照元 data_blob().

00029 {
00030         if ((d) && (d->free)) {
00031                 SAFE_FREE(d->data);
00032         }
00033 }

DATA_BLOB data_blob ( const void *  p,
size_t  length 
)

data_blob.c40 行で定義されています。

参照先 data_blob_::datadata_blob_::freefree_data_blob()data_blob_::lengthsmb_xmemdup().

参照元 _srv_net_file_query_secdesc()_srv_net_file_set_secdesc()add_ntlmssp_auth_footer()ads_sasl_spnego_bind()ads_sasl_spnego_ntlmssp_bind()ads_sasl_spnego_rawkrb5_bind()ads_verify_ticket()afs_createtoken()afs_encode_token()api_pipe_bind_auth3()api_SetUserPassword()asn1_read_OctetString()auth_get_challenge_server()auth_get_fixed_challenge()base64_decode_data_blob()build_kpasswd_request()check_sam_security()check_spnego_blob_complete()cli_krb5_get_ticket()cli_list_new()cli_negprot()cli_raw_ioctl()cli_session_setup_blob()cli_session_setup_blob_receive()cli_session_setup_lanman2()cli_session_setup_nt1()cli_session_setup_ntlmssp()cli_session_setup_spnego()cli_set_session_key()cli_simple_set_signing()create_krb5_auth_bind_req()create_ntlmssp_auth_rpc_bind_req()create_spnego_ntlmssp_auth_rpc_bind_req()decrypt_trustdom_secret()delete_driver_files()display_trust_dom_info_4()do_ccache_ntlm_auth()do_ntlm_auth_with_hashes()encode_krb5_setpw()gen_negTokenInit()gen_negTokenTarg()get_auth_data_from_tkt()get_challenge()get_correct_cversion()get_krb5_smb_session_key()get_ntlm_challenge()init_sam_user_info20A()init_sam_user_info21A()LMv2_generate_response()make_connection()make_internal_rpc_pipe_p()make_krb5_skew_error()make_new_server_info_guest()make_user_info()make_user_info_for_reply()make_user_info_netlogon_interactive()make_user_info_netlogon_network()manage_client_krb5_init()manage_client_ntlmssp_init()manage_client_ntlmssp_request()manage_client_ntlmssp_targ()manage_gss_spnego_request()manage_ntlm_change_password_1_request()manage_ntlm_server_1_request()manage_squid_ntlmssp_request()move_driver_to_download_area()msrpc_gen()msrpc_parse()negprot_spnego()ntlm_password_check()ntlmssp_client_challenge()ntlmssp_make_packet_signature()ntlmssp_server_auth()ntlmssp_server_negotiate()ntlmssp_update()NTLMv2_generate_client_data()NTLMv2_generate_names_blob()NTLMv2_generate_response()offer_gss_spnego_mechs()password_ok()pdb_set_lanman_passwd()pdb_set_nt_passwd()pipe_ntlmssp_auth_bind()pipe_ntlmssp_verify_final()pipe_spnego_auth_bind_continue()pipe_spnego_auth_bind_negotiate()read_negTokenInit()recv_cldap_netlogon()reply_sesssetup_and_X()reply_sesssetup_and_X_spnego()reply_spnego_auth()reply_spnego_kerberos()reply_spnego_ntlmssp()reply_tcon()reply_tcon_and_X()rpc_finish_auth3_bind()rpc_finish_spnego_ntlmssp_bind()smb_pwd_check_ntlmv1()smb_pwd_check_ntlmv2()SMBNTLMv2encrypt_hash()spnego_gen_auth()spnego_gen_auth_response()spnego_gen_krb5_wrap()spnego_gen_negTokenInit()spnego_parse_krb5_wrap()srv_set_signing()strhex_to_data_blob()test_lm_ntlm_broken()test_lmv2_ntlmv2_broken()test_ntlm_in_both()test_ntlm_in_lm()test_plaintext()vampire_trusted_domain()wbinfo_auth_crap()winbind_pw_check()winbindd_dual_ccache_ntlm_auth()winbindd_dual_pam_auth_samlogon()write_spnego_data().

00041 {
00042         DATA_BLOB ret;
00043 
00044         if (!length) {
00045                 ZERO_STRUCT(ret);
00046                 return ret;
00047         }
00048 
00049         if (p) {
00050                 ret.data = (uint8 *)smb_xmemdup(p, length);
00051         } else {
00052                 ret.data = SMB_XMALLOC_ARRAY(uint8, length);
00053         }
00054         ret.length = length;
00055         ret.free = free_data_blob;
00056         return ret;
00057 }

DATA_BLOB data_blob_talloc ( TALLOC_CTX mem_ctx,
const void *  p,
size_t  length 
)

data_blob.c63 行で定義されています。

参照先 data_blob_::datadata_blob_::freedata_blob_::lengthsmb_panic().

参照元 auth_get_challenge_server()auth_ntlmssp_check_password()auth_ntlmssp_set_challenge()check_sam_security()cli_get_ea_list()copy_serverinfo()decode_pac_data()get_ntlm_challenge()make_auth_context_fixed()ndr_pull_DATA_BLOB()netdom_join_domain()ntlmssp_client_challenge()ntlmssp_server_auth()ntlmssp_server_negotiate()ntlmssp_store_response()ntlmssp_weaken_keys()pdb_set_lanman_passwd()pdb_set_nt_passwd()pdb_set_pw_history()push_queued_message()read_ea_list_entry()strhex_to_data_blob()unwrap_pac()winbindd_dual_pam_auth_crap()winbindd_dual_pam_auth_samlogon()winbindd_dual_pam_chng_pswd_auth_crap().

00064 {
00065         DATA_BLOB ret;
00066 
00067         if (!length) {
00068                 ZERO_STRUCT(ret);
00069                 return ret;
00070         }
00071 
00072         if (p) {
00073                 ret.data = (uint8 *)TALLOC_MEMDUP(mem_ctx, p, length);
00074                 if (ret.data == NULL)
00075                         smb_panic("data_blob_talloc: TALLOC_MEMDUP failed.\n");
00076         } else {
00077                 ret.data = (uint8 *)TALLOC(mem_ctx, length);
00078                 if (ret.data == NULL)
00079                         smb_panic("data_blob_talloc: talloc failed.\n");
00080         }
00081 
00082         ret.length = length;
00083         ret.free = NULL;
00084         return ret;
00085 }

void data_blob_free ( DATA_BLOB d  ) 

data_blob.c91 行で定義されています。

参照先 data_blob_::freedata_blob_::length.

参照元 add_ntlmssp_auth_footer()ads_sasl_spnego_bind()ads_sasl_spnego_ntlmssp_bind()ads_sasl_spnego_rawkrb5_bind()ads_verify_ticket()afs_createtoken_str()afs_decode_token()afs_login()afs_settoken_str()api_pipe_bind_auth3()base64_decode_inplace()build_kpasswd_request()check_sam_security()check_spnego_blob_complete()cli_list_new()cli_session_setup_blob()cli_session_setup_kerberos()cli_session_setup_nt1()cli_session_setup_ntlmssp()cli_session_setup_spnego()cli_shutdown()close_internal_rpc_pipe_hnd()create_krb5_auth_bind_req()create_next_pdu_ntlmssp()create_ntlmssp_auth_rpc_bind_req()create_spnego_ntlmssp_auth_rpc_bind_req()data_blob_clear_free()decrypt_trustdom_secret()delete_partial_auth()display_trust_dom_info_4()do_ntlm_auth_with_hashes()free_spnego_data()free_user_info()get_auth_data_from_tkt()handle_krb5_mech()init_sam_user_info20A()init_sam_user_info21A()init_sam_user_info23A()invalidate_vuid()kerberos_auth_struct_free()LMv2_generate_response()main()make_user_info_for_reply()make_user_info_netlogon_interactive()make_user_info_netlogon_network()manage_client_krb5_init()manage_client_ntlmssp_init()manage_client_ntlmssp_request()manage_client_ntlmssp_targ()manage_gss_spnego_client_request()manage_gss_spnego_request()manage_squid_ntlmssp_request()ntlmssp_check_packet()ntlmssp_client_challenge()ntlmssp_end()ntlmssp_server_auth()ntlmssp_server_negotiate()NTLMv2_generate_response()offer_gss_spnego_mechs()parse_negTokenTarg()pipe_ntlmssp_auth_bind()pipe_ntlmssp_verify_final()pipe_spnego_auth_bind_continue()pipe_spnego_auth_bind_negotiate()recv_cldap_netlogon()register_vuid()reply_nt1()reply_sesssetup_and_X()reply_sesssetup_and_X_spnego()reply_spnego_auth()reply_spnego_kerberos()reply_spnego_negotiate()reply_spnego_ntlmssp()rpc_finish_auth3_bind()rpc_finish_spnego_ntlmssp_bind()simple_free_signing_context()spnego_gen_negTokenTarg()spnego_parse_auth()spnego_parse_auth_response()spnego_parse_challenge()spnego_parse_krb5_wrap()test_lm_ntlm_broken()test_lmv2_ntlmv2_broken()test_ntlm_in_both()test_ntlm_in_lm()test_plaintext()torture_ioctl_test()unwrap_pac()vampire_trusted_domain()wbinfo_auth_crap()winbindd_dual_ccache_ntlm_auth()winbindd_dual_pam_auth_samlogon()winbindd_raw_kerberos_login().

00092 {
00093         if (d) {
00094                 if (d->free) {
00095                         (d->free)(d);
00096                 }
00097                 d->length = 0;
00098         }
00099 }

void data_blob_clear ( DATA_BLOB d  ) 

data_blob.c105 行で定義されています。

参照先 data_blob_::datadata_blob_::length.

参照元 data_blob_clear_free()ndr_push_DATA_BLOB().

00106 {
00107         if (d->data) {
00108                 memset(d->data, 0, d->length);
00109         }
00110 }

void data_blob_clear_free ( DATA_BLOB d  ) 

data_blob.c116 行で定義されています。

参照先 data_blob_clear()data_blob_free().

参照元 api_SetUserPassword()free_user_info()pdb_set_lanman_passwd()pdb_set_nt_passwd()reply_sesssetup_and_X()reply_tcon()reply_tcon_and_X()samu_destroy()smb_pwd_check_ntlmv2().

00117 {
00118         data_blob_clear(d);
00119         data_blob_free(d);
00120 }

DATA_BLOB data_blob_string_const ( const char *  str  ) 

useful for constructing data blobs in test suites, while avoiding const warnings

data_blob.c126 行で定義されています。

参照先 data_blob_::datadata_blob_::freedata_blob_::length.

00127 {
00128         DATA_BLOB blob;
00129         blob.data = CONST_DISCARD(uint8 *, str);
00130         blob.length = strlen(str);
00131         blob.free = NULL;
00132         return blob;
00133 }

DATA_BLOB data_blob_const ( const void *  p,
size_t  length 
)

Create a new data blob from const data

data_blob.c138 行で定義されています。

参照先 data_blob_::datadata_blob_::freedata_blob_::length.

00139 {
00140         DATA_BLOB blob;
00141         blob.data = CONST_DISCARD(uint8 *, p);
00142         blob.length = length;
00143         blob.free = NULL;
00144         return blob;
00145 }


Sambaに対してSat Aug 29 21:23:35 2009に生成されました。  doxygen 1.4.7