File ud/ud_core.c

  $Revision: 1.52 $

Core functions for update lower layer
Status: NOT REVUED, NOT TESTED
Author(s): Chris Ottrey, Andrei Robachevsky

Included Files


Preprocessor definitions

#define ATTR_CREATE_OK 0

#define ATTR_CREATE_DONE 1

#define ATTR_CREATE_ERR 2

#define ATTR_CREATE_NO 3

#define OBJECT_ID 0

#define insert_reverse_domain( tr, pr )

#define update_reverse_domain( tr, pr )


Global Variable Lock

pthread_mutex_t Lock
Included from /home/shane/code/RIP/include/ca_defs.h
Visible in:  aa/aa.c
   ac/access_control.c
   ca/ca_configFns.c
   ca/ca_initFn.c
   ca/ca_sanityCheck.c
   ca/ca_sourceLoader.c
   ca/ca_values.c
   co/constants.c
   df/defs.c
   er/er.c
   er/er_arrays.c
   er/er_macro.c
   er/er_paths.c
   er/er_print.c
   ip/ip.c
   ma/bitmask.c
   mm/mm.c
   nh/nh.c
   pa/gpg.c
   pa/spawn.c
   pc/pc_commands.c
   pc/protocol_config.c
   pm/pm_serials.c
   pm/protocol_mirror.c
   pr/properties.c
   pw/protocol_whois.c
   qc/mg_getopt.c
   qc/query_command.c
   qi/query_instructions.c
   rp/rp_convert.c
   rp/rp_load.c
   rp/rp_search.c
   rp/rp_tree.c
   rp/rp_update.c
   rx/rx_node.c
   rx/rx_print.c
   rx/rx_search.c
   rx/rx_tree.c
   sk/cd_socket.c
   sk/cd_watchdog.c
   sk/sk_socket.c
   sq/mysql_driver.c
   sv/server.c
   ta/ta.c
   th/thread.c
   ud/ud_comrol.c
   ud/ud_core.c
Used in: ca_get_adminIntElement()ca/ca_configFns.c
  ca_get_adminStrElement()ca/ca_configFns.c
  ca_get_boolean()ca/ca_configFns.c
  ca_get_dirlist()ca/ca_configFns.c
  ca_get_int()ca/ca_configFns.c
  ca_get_string()ca/ca_configFns.c
  ca_set_boolean()ca/ca_configFns.c
  ca_srchandle2Intelement()ca/ca_configFns.c
  ca_srchandle2Strelement()ca/ca_configFns.c

Global Function convert_as_range()

int convert_as_range ( const char* as_range, int* begin, int* end )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: convert_as()ud/ud_core.c
  UT_free_real(), g_strdup(), strtok_r()
Called by: create_attr()ud/ud_core.c
  ud_each_primary_key_select()ud/ud_core.c

Global Function convert_if()

er_ret_t convert_if ( const char* avalue, unsigned int* pif_address )
Calls: IP_addr_a2v4()ip/ip.c
  UT_free_real(), g_strdup()
Called by: create_attr()ud/ud_core.c
  update_attr()ud/ud_core.c

Global Function convert_rf()

char* convert_rf ( const char* avalue, int* type, int* port )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: UT_free_real(), atoi(), g_strcasecmp(), g_strchug(), g_strdup()
Called by: create_attr()ud/ud_core.c
  update_attr()ud/ud_core.c

Global Function convert_time()

time_t convert_time ( const char* asc_time )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: atoi(), bzero(), mktime(), strncpy()
Called by: create_attr()ud/ud_core.c
  update_attr()ud/ud_core.c

Global Function get_field_str()

char* get_field_str ( MYSQL* sql_connection, const char* field, const char* ref_tbl_name, const char* ref_name, const char* attr_value, const char* condition )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: get_qresult_str()ud/ud_core.c
  g_string_append(), g_string_free(), g_string_sized_new(), g_string_sprintf()
Called by: UD_check_ref()ud/ud_comrol.c
  atlast()pm/pm_serials.c
  get_ref_id()ud/ud_core.c
  get_sequence_id()ud/ud_core.c
  getop()pm/pm_serials.c
  isdummy()ud/ud_core.c

Global Function get_object_id()

long get_object_id ( Transaction_t* tr )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: DF_get_class_sql_table()df/defs.c
  ER_dbg_va()er/er.c
  ER_perror()er/er.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  SQ_free_result()sq/mysql_driver.c
  SQ_get_column_string()sq/mysql_driver.c
  SQ_row_next()sq/mysql_driver.c
  rpsl_get_class_id()rpsl/syntax_api.c
  rpsl_object_get_all_attr()rpsl/syntax_api.c
  rpsl_object_get_class()rpsl/syntax_api.c
  UT_free_real(), atol(), fprintf(), g_list_foreach(), g_string_sprintf(), g_string_truncate()
References Functions: ud_each_primary_key_select()ud/ud_core.c

Global Function get_qresult_str()

char* get_qresult_str ( MYSQL* sql_connection, char* query )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: ER_dbg_va()er/er.c
  ER_perror()er/er.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  SQ_free_result()sq/mysql_driver.c
  SQ_get_column_string()sq/mysql_driver.c
  SQ_row_next()sq/mysql_driver.c
  UT_free_real(), fprintf()
Called by: UD_check_ref()ud/ud_comrol.c
  auth_member_of()ud/ud_core.c
  get_field_str()ud/ud_core.c

Global Function get_sequence_id()

long get_sequence_id ( Transaction_t* tr )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: get_field_str()ud/ud_core.c
  UT_free_real(), atol(), sprintf()
Called by: object_process()ud/ud_core.c
  perform_update()ud/ud_core.c

Global Function isdummy()

int isdummy ( Transaction_t* tr )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: ER_perror()er/er.c
  get_field_str()ud/ud_core.c
  UT_free_real(), atoi(), fprintf(), sprintf()

Global Function object_process()

int object_process ( Transaction_t* tr )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  NH_comrol()nh/nh.c
  NH_convert()nh/nh.c
  NH_free()nh/nh.c
  NH_register()nh/nh.c
  UD_check_ref()ud/ud_comrol.c
  UD_commit()ud/ud_comrol.c
  UD_delete()ud/ud_comrol.c
  UD_rollback()ud/ud_comrol.c
  UD_update_rx()ud/ud_comrol.c
  get_sequence_id()ud/ud_core.c
  perform_create()ud/ud_core.c
  perform_update()ud/ud_core.c
  TR_create_record(), TR_update_record(), UD_ack(), UT_free_real(), fprintf(), g_string_sprintfa()

Global Function ud_each_primary_key_select()

void ud_each_primary_key_select ( void* element_data, void* result_ptr )
Prototyped in: /home/shane/code/RIP/include/ud_int.h
Calls: DF_get_select_query()df/defs.c
  DF_get_select_query_type()df/defs.c
  ER_perror()er/er.c
  IP_pref_a2v4()ip/ip.c
  IP_pref_a2v6()ip/ip.c
  IP_rang_a2v4()ip/ip.c
  convert_as_range()ud/ud_core.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_attr_id()rpsl/syntax_api.c
  fprintf(), g_string_sprintfa(), strcmp()
Used in: get_object_id()ud/ud_core.c

Local Function asctime_r()

static char* asctime_r ( const struct tm* __tm, char* __buf )
Included from: /usr/include/time.h
Calls: __posix_asctime_r()

Local Function auth_member_of()

static int auth_member_of ( const rpsl_attr_t* attribute, Transaction_t* tr )
Prototyped in: ud/ud_core.c
Calls: ER_dbg_va()er/er.c
  ER_perror()er/er.c
  get_qresult_str()ud/ud_core.c
  get_set_name()ud/ud_core.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_attr_id()rpsl/syntax_api.c
  UT_free_real(), fprintf(), g_string_free(), g_string_sized_new(), g_string_sprintf(), strcmp()
Called by: each_attribute_process()ud/ud_core.c
  update_attr()ud/ud_core.c

Local Function convert_as()

static int convert_as ( const char* as )
Calls: atoi()
Called by: convert_as_range()ud/ud_core.c

Local Function create_attr()

static int create_attr ( const rpsl_attr_t* attribute, Transaction_t* tr )
Calls: DF_get_insert_query()df/defs.c
  DF_get_insert_query_type()df/defs.c
  ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  NH_check()nh/nh.c
  RP_pack_set_orig()rp/rp_convert.c
  RP_pack_set_pref4()rp/rp_convert.c
  RP_pack_set_pref6()rp/rp_convert.c
  RP_pack_set_rang()rp/rp_convert.c
  SQ_execute_query()sq/mysql_driver.c
  convert_as_range()ud/ud_core.c
  convert_if()ud/ud_core.c
  convert_rf()ud/ud_core.c
  convert_time()ud/ud_core.c
  get_ref_id()ud/ud_core.c
  get_set_name()ud/ud_core.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_attr_id()rpsl/syntax_api.c
  UT_free_real(), fprintf(), g_strcasecmp(), g_strdup(), g_string_sprintf(), g_string_sprintfa(), strncmp(), strtok_r()
Called by: each_attribute_process()ud/ud_core.c

Local Function create_dummy()

static int create_dummy ( const rpsl_attr_t* attribute, Transaction_t* tr )
Prototyped in: ud/ud_core.c
Calls: DF_get_dummy_query()df/defs.c
  DF_get_dummy_query_type()df/defs.c
  DF_get_insert_query()df/defs.c
  ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  NH_check()nh/nh.c
  NH_parse()nh/nh.c
  NH_register()nh/nh.c
  SQ_errno()sq/mysql_driver.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  free_nh()nh/nh.c
  get_set_name()ud/ud_core.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_attr_id()rpsl/syntax_api.c
  sq_get_minmax_id()sq/mysql_driver.c
  TR_update_record(), UT_free_real(), fprintf(), g_strdup(), g_string_free(), g_string_sized_new(), g_string_sprintf(), g_string_sprintfa(), sprintf(), strcmp(), strtok_r(), time()
Called by: each_attribute_process()ud/ud_core.c

Local Function ctime_r()

static char* ctime_r ( const time_t* __time, char* __buf )
Included from: /usr/include/time.h
Calls: __posix_ctime_r()

Local Function each_attribute_process()

static void each_attribute_process ( void* element_data, void* tr_ptr )
Prototyped in: ud/ud_core.c
Calls: DF_get_insert_query()df/defs.c
  DF_get_insert_query_type()df/defs.c
  ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  IP_revd_t2b()ip/ip.c
  RP_pack_set_revd()rp/rp_convert.c
  SQ_errno()sq/mysql_driver.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  SQ_get_affected_rows()sq/mysql_driver.c
  SQ_get_info()sq/mysql_driver.c
  auth_member_of()ud/ud_core.c
  create_attr()ud/ud_core.c
  create_dummy()ud/ud_core.c
  process_reverse_domain()ud/ud_core.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_attr_id()rpsl/syntax_api.c
  update_attr()ud/ud_core.c
  fprintf(), g_string_sprintfa(), strcmp()
Used in: perform_create()ud/ud_core.c
  perform_update()ud/ud_core.c

Local Function get_ref_id()

static long get_ref_id ( Transaction_t* tr, const char* ref_tbl_name, const char* ref_name, const char* attr_value, const char* condition )
Calls: get_field_str()ud/ud_core.c
  UT_free_real(), atol()
Called by: create_attr()ud/ud_core.c
  update_attr()ud/ud_core.c

Local Function get_set_name()

static char* get_set_name ( C_Type_t class_type )
Called by: auth_member_of()ud/ud_core.c
  create_attr()ud/ud_core.c
  create_dummy()ud/ud_core.c
  update_attr()ud/ud_core.c

Local Function getlogin_r()

static int getlogin_r ( char* __name, int __len )
Included from: /usr/include/unistd.h
Calls: __posix_getlogin_r()

Local Function perform_create()

static int perform_create ( Transaction_t* tr )
Prototyped in: ud/ud_core.c
Calls: ER_dbg_va()er/er.c
  ER_perror()er/er.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  rpsl_object_get_all_attr()rpsl/syntax_api.c
  sq_get_minmax_id()sq/mysql_driver.c
  TR_update_record(), fprintf(), g_list_foreach(), g_string_sprintf(), time()
Called by: object_process()ud/ud_core.c
References Functions: each_attribute_process()ud/ud_core.c

Local Function perform_update()

static int perform_update ( Transaction_t* tr )
Prototyped in: ud/ud_core.c
Calls: DF_get_class_sql_table()df/defs.c
  ER_dbg_va()er/er.c
  ER_perror()er/er.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  SQ_get_affected_rows()sq/mysql_driver.c
  get_sequence_id()ud/ud_core.c
  rpsl_object_get_all_attr()rpsl/syntax_api.c
  TR_update_record(), fprintf(), g_list_foreach(), g_string_sprintf(), g_string_sprintfa(), time()
Called by: object_process()ud/ud_core.c
References Functions: each_attribute_process()ud/ud_core.c

Local Function process_reverse_domain()

static int process_reverse_domain ( Transaction_t* tr, ip_prefix_t* prefptr, int op )
Calls: ER_dbg_va()er/er.c
  ER_perror()er/er.c
  IP_pref_b2_space()ip/ip.c
  IP_pref_b2v4()ip/ip.c
  IP_pref_b2v6()ip/ip.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  SQ_get_affected_rows()sq/mysql_driver.c
  fprintf(), sprintf()
Called by: each_attribute_process()ud/ud_core.c
  update_attr()ud/ud_core.c

Local Function readdir_r()

static int readdir_r ( DIR* __dp, struct dirent* __ent, struct dirent** __res )
Included from: /usr/include/dirent.h
Calls: __posix_readdir_r()

Local Function sigwait()

static int sigwait ( const sigset_t* __setp, int* __signo )
Included from: /usr/include/signal.h
Calls: __posix_sigwait()

Local Function ttyname_r()

static int ttyname_r ( int __fildes, char* __buf, size_t __size )
Included from: /usr/include/unistd.h
Calls: __posix_ttyname_r()

Local Function update_attr()

static void update_attr ( const rpsl_attr_t* attribute, Transaction_t* tr )
Prototyped in: ud/ud_core.c
Calls: DF_get_class_sql_table()df/defs.c
  DF_get_update_query()df/defs.c
  DF_get_update_query_type()df/defs.c
  ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  IP_revd_t2b()ip/ip.c
  SQ_error()sq/mysql_driver.c
  SQ_execute_query()sq/mysql_driver.c
  SQ_get_affected_rows()sq/mysql_driver.c
  SQ_get_info()sq/mysql_driver.c
  auth_member_of()ud/ud_core.c
  convert_if()ud/ud_core.c
  convert_rf()ud/ud_core.c
  convert_time()ud/ud_core.c
  get_ref_id()ud/ud_core.c
  get_set_name()ud/ud_core.c
  process_reverse_domain()ud/ud_core.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_attr_id()rpsl/syntax_api.c
  TR_update_record(), UT_free_real(), fprintf(), g_strcasecmp(), g_strdup(), g_string_sprintf(), g_string_sprintfa(), strcmp(), strtok_r()
Called by: each_attribute_process()ud/ud_core.c