pluto实现分析(2)-1

 
-> aggr_inI2
            -> aggr_inI2_tail
              -> nat_traversal_natd_lookup
              -> nat_traversal_show_result
              -> nat_traversal_new_ka_event
              -> build_id_payload
              -> init_pbs
              -> out_struct
              -> out_chunk
              -> close_output_pbs
              -> in_struct
              -> aggr_id_and_auth
                -> aggr_inI2_continue
                  -> key_continue
                    -> tail: aggr_inI2_tail
              -> update_iv
          -> quick_inI1_outR1 (ikev1_quick.c)
            -> quick_mode_hash12
            -> decode_net_id
            -> save_new_iv
            -> quick_inI1_outR1_authtail
              -> find_client_connection
              -> format_end
              -> quick_inI1_outR1_process_answer
                -> get_RSA_private_key
                -> same_RSA_public_key
                -> report_verify_failure
              -> quick_inI1_outR1_start_query
                -> alloc_thing(struct verify_oppo_continuation
                -> resolve_myid
                -> iptoid
                -> start_adns_query
                  -> quick_inI1_outR1_continue
                    -> report_verify_failure
                    -> quick_inI1_outR1_authtail
                    -> complete_state_transition
                    -> release_md
                -> report_verify_failure
              -> oppo_instantiate
              -> rw_instantiate
              -> is_virtual_connection
              -> duplicate_state
              -> connection_discard
              -> insert_state
              -> nat_traversal_natoa_lookup
              -> parse_ipsec_sa_body
              -> accept_nonce
              -> accept_PFS_KE
              -> alloc_thing(struct qke_continuation
              -> build_ke
                -> pcrc_func: quick_inI1_outR1_cryptocontinue
                  -> set_cur_state
                  -> quick_inI1_outR1_cryptotail
                    -> out_struct
                    -> parse_ipsec_sa_body
                    -> ship_nonce
                    -> ship_KE
                    -> perform_dh_secret
                    -> out_raw
                    -> quick_mode_hash12
                    -> compute_keymats
                    -> install_inbound_ipsec_sa
                    -> encrypt_message
                    -> delete_ipsec_sa
                      -> do_command (kernel.c)
                        -> kernel_ops->docommand
                          -> klips_kernel_ops: do_command_linux (sysdep_linux.c)
                          -> linux_kernel_ops: do_command_linux
                            -> subnetisaddr
                            -> DEFAULT_UPDOWN : sr->this.updown
                            -> popen
                      -> unroute_connection
                      -> teardown_half_ipsec_sa (kernel.c)
                        -> raw_eroute
                        -> del_spi
                          -> set_text_said
                          -> kernel_ops->del_sa
                            -> klips_kernel_ops: pfkey_del_sa (kernel_pfkey.c)
                              -> pfkey_msg_start
                              -> pfkey_sa_build
                              -> pfkeyext_address
                              -> finish_pfkey_msg
                            -> noklips_kernel_ops: noklips_del_sa
                              ->
                            -> linux_kernel_ops: netlink_del_sa (kernel_netlink.c)
                              -> ip2xfrm
                              -> send_netlink_msg
                  -> complete_state_transition
                  -> release_md
                  -> reset_cur_state
              -> build_nonce
                -> quick_inI1_outR1_cryptocontinue
          -> quick_inR1_outI2
            -> quick_mode_hash12
            -> parse_ipsec_sa_body
            -> accept_nonce
            -> accept_PFS_KE
            -> perform_dh_secret
            -> check_net_id
            -> nat_traversal_natoa_lookup
            -> quick_mode_hash3
            -> compute_keymats
            -> install_ipsec_sa (kernel.c)
              -> could_route
              -> setup_half_ipsec_sa
                -> set_text_said
                -> kernel_alg_esp_info
                -> kernel_ops->add_sa
                -> raw_eroute
                  -> set_text_said
                  -> kernel_ops->raw_eroute
                    -> klips_kernel_ops: pfkey_raw_eroute (kernel_pfkey.c)
                      -> pfkey_msg_start
                      -> pfkey_sa_build
                      -> pfkeyext_address
                      -> pfkeyext_protocol
                      -> finish_pfkey_msg
                    -> noklips_kernel_ops: noklips_raw_eroute (kernel_noklips.c)
                    -> linux_kernel_ops: netlink_raw_eroute (kernel_netlink.c)
                      -> netlink_policy
                        -> send_netlink_msg
                          -> write, recvfrom
                -> kernel_ops->grp_sa
                  -> klips_kernel_ops: pfkey_grp_sa (kernel_pfkey.c)
                    -> pfkey_msg_start
                    -> pfkey_sa_build
                    -> pfkey_x_satype_build
                    -> pfkeyext_address
                    -> finish_pfkey_msg
                  -> noklips_kernel_ops: noklips_grp_sa
                  -> linux_kernel_ops: NULL
              -> route_and_eroute (kernel.c)
                -> route_owner
                -> bare_shunt_ptr
                -> shunt_eroute
                  -> shunt_policy_spi
                  -> eclipsed
                  -> raw_eroute
                  -> eroute_connection
                    -> aftoinfo
                    -> raw_eroute
                -> sag_eroute
                -> do_command
                -> routed
                -> routes_agree
                -> free_bare_shunt
                -> raw_eroute
                -> state_with_serialno
              -> delete_ipsec_sa
            -> encrypt_message
            -> delete_ipsec_sa
            -> dpd_init (dpd.c)
              -> find_state
              -> delete_dpd_event
              -> event_schedule
              -> delete_dpd_event
          -> quick_inI2
            -> quick_mode_hash3
            -> install_ipsec_sa
            -> update_iv
            -> dpd_init
            -> delete_ipsec_sa
          -> informational
            -> dpd_inI_outR
              -> send_isakmp_notification
              -> delete_dpd_event
            -> dpd_inR
              -> delete_dpd_event
            -> delete_state
          -> xauth_inR0 (xauth.c)
            -> xauth_mode_cfg_hash
              -> hmac_init_chunk
              -> hmac_update
              -> hmac_final
            -> in_struct
            -> clonetochunk
            -> xauth_send_status
              -> generate_msgid
              -> out_struct
              -> out_raw
              -> close_output_pbs
              -> close_message
              -> xauth_mode_cfg_hash
              -> init_phase2_iv
              -> encrypt_message
              -> freeanychunk
              -> clonetochunk
              -> delete_event
              -> event_schedule
              -> send_packet
            -> xauth_launch_authent
              -> alloc_thing(struct thread_arg
              -> do_authentication
                -> do_pam_authentication
                -> do_md5_authentication
                  -> verify_path_space
                  -> fopen, crypt
          -> xauth_inR1
          -> modecfg_inR0
            -> xauth_mode_cfg_hash
            -> pbs_left
            -> in_struct
            -> modecfg_resp
              -> out_generic
              -> out_zero
              -> close_output_pbs
              -> get_internal_addresses
              -> out_raw
              -> close_output_pbs
              -> close_message
              -> xauth_mode_cfg_hash
              -> encrypt_message
          -> modecfg_inR1
            -> xauth_mode_cfg_hash
            -> pbs_left
            -> in_struct
          -> xauth_inI0
            -> modecfg_inI2
              -> xauth_mode_cfg_hash
              -> pbs_left
              -> in_struct
              -> modecfg_resp
            -> xauth_mode_cfg_hash
            -> in_struct
            -> xauth_client_ackstatus
              -> out_generic
              -> out_zero
              -> close_output_pbs
              -> out_struct
              -> close_message
              -> xauth_mode_cfg_hash
              -> encrypt_message
            -> xauth_client_resp
              -> out_generic
              -> out_zero
              -> close_output_pbs
              -> out_struct
              -> whack_prompt_for
              -> out_raw
              -> xauth_mode_cfg_hash
              -> close_message
              -> encrypt_message
          -> xauth_inI1
            -> modecfg_inI2
            -> xauth_mode_cfg_hash
            -> in_struct
            -> xauth_inI0
            -> xauth_client_ackstatus
        -> complete_state_transition
          -> update_retransmit_history
          -> delete_event
          -> freeanychunk
          -> close_output_pbs
          -> clonetochunk
          -> nat_traversal_change_port_lookup
            -> nat_traversal_new_mapping
              -> for_each_state
                -> nat_traversal_find_new_mapp_state
                  -> update_ipsec_sa
            -> update_pending
          -> send_packet
          -> event_schedule
          -> dpd_init
          -> xauth_send_request 
            -> init_pbs
            -> out_struct
            -> close_message
            -> xauth_mode_cfg_hash
            -> close_message
            -> close_output_pbs
            -> init_phase2_iv
            -> encrypt_message
            -> clonetochunk
            -> send_packet
            -> delete_event
            -> event_schedule
          -> modecfg_send_request 
          -> modecfg_start_set
          -> quick_outI1 
          -> unpend 
          -> release_whack 
          -> update_retransmit_history 
          -> delete_event 
          -> release_pending_whacks 
          -> delete_state 
            -> set_cur_state
            -> delete_dpd_event
            -> send_state
            -> delete_event
            -> flush_pending_by_state
            -> delete_cryptographic_continuation
            -> unhash_state
            -> delete_ipsec_sa
            -> connection_discard
            -> unreference_key
            -> mpz_clear
            -> pfreeany
      -> release_md
      -> reset_cur_connection
    -> whack_handle (rcv_whack.c)
      -> accept, read
      -> show_status
      -> unpack_whack_msg
      -> con_by_name
      -> set_myid
      -> delete_connections_by_name
      -> state_with_serialno
      -> delete_state
      -> add_connection
      -> set_myFQDN
      -> find_ifaces
      -> load_preshared_secrets
      -> load_groups
      -> list_public_keys
      -> load_authcerts
      -> load_acerts
      -> load_crls
      -> free_ocsp_fetch
      -> free_ocsp_cache
      -> list_certs
      -> list_authcerts
      -> list_acerts
      -> list_groups
      -> list_crls
      -> list_crl_fetch_requests
      -> list_ocsp_cache
      -> list_ocsp_fetch_requests
      -> scx_list (smart_card)
      -> timer_list
      -> key_add_request
      -> set_cur_connection
      -> route_group
      -> reset_cur_connection
      -> unroute_group
      -> initiate_connection (connections.c)
        -> con_by_name
        -> set_cur_connection
        -> oriented
        -> kernel_alg_makedb
        -> scx_get_pin
        -> ipsecdoi_initiate (ipsec_doi.c)
          -> find_phase1_state
          -> aggr_outI1 (ikev1_aggr.c)
            -> new_state
            -> set_state_ike_endpoints
            -> get_cookie
            -> insert_state
            -> init_am_st_oakley
            -> add_pending
            -> build_ke
              -> pcrc_func: aggr_outI1_continue
                -> set_cur_state
                -> aggr_outI1_tail
                -> complete_state_transition
                -> release_md
                -> reset_globals
            -> aggr_outI1_tail
              -> init_pbs
              -> out_struct
              -> out_sa
              -> clonetochunk
              -> ship_KE
              -> ship_nonce
              -> build_id_payload
              -> out_generic_raw
              -> nat_traversal_add_vid
              -> out_vendorid
              -> close_message
              -> close_output_pbs
              -> send_packet
              -> delete_event
              -> event_schedule
            -> reset_globals
          -> main_outI1
            -> new_state
            -> set_state_ike_endpoints
            -> set_cur_state
            -> get_cookie
            -> insert_state
            -> add_pending
            -> init_pbs
            -> out_struct
            -> POLICY_ISAKMP
            -> out_sa (spdb_struct.c)
              -> oakley_alg_makedb
              -> kernel_alg_makedb
              -> out_struct
              -> out_raw
              -> get_ipsec_spi (kernel.c)
                -> set_text_said
                -> kernel_ops->get_spi
                  -> klips_kernel_ops: NULL
                  -> noklips_kernel_ops: NULL
                  -> linux_kernel_ops: netlink_get_spi
                    -> ip2xfrm
                    -> send_netlink_msg
                -> get_rnd_bytes
              -> out_attr
              -> close_output_pbs
              -> free_sa
            -> clonetochunk
            -> out_generic_raw
            -> out_modify_previous_np
            -> nat_traversal_add_vid
            -> out_vendorid
            -> close_message
            -> close_output_pbs
            -> clonetochunk
            -> send_packet
            -> delete_event
            -> event_schedule
            -> reset_cur_state
          -> add_pending
          -> quick_outI1
            -> duplicate_state
            -> set_cur_state
            -> generate_msgid
            -> insert_state
            -> ike_alg_pfsgroup
            -> build_ke
              -> pcrc_func: quick_outI1_continue
                -> set_cur_state
                -> quick_outI1_tail
                  -> nat_traversal_change_port_lookup
                  -> init_pbs
                  -> out_struct
                  -> START_HASH_PAYLOAD
                  -> out_sa
                  -> ship_nonce
                  -> ship_KE
                  -> emit_subnet_id
                  -> nat_traversal_add_natoa
                  -> quick_mode_hash12
                    -> hmac_init_chunk
                    -> hmac_update
                    -> hmac_update_chunk
                    -> hmac_final
                  -> init_phase2_iv
                  -> encrypt_message
                  -> clonetochunk
                  -> send_packet
                  -> delete_event
                  -> event_schedule
            -> build_nonce
            -> reset_globals
        -> reset_cur_connection
        -> close_any
      -> initiate_opportunistic
      -> terminate_connection
    -> info_handle (rcv_info.c)
      -> accept
      -> ipsec_policy_readmsg
      -> info_lookuphostpair
        -> find_connection_for_clients
        -> find_client_connection
        -> state_with_serialno
        -> find_phase1_state
        -> idtoa
    -> pluto_crypto_helper_ready
      -> handle_helper_comm
      -> crypto_send_backlog
      -> (*cn->pcrc_func)
 
...... 待续 ......
 

你可能感兴趣的:(职场,休闲)