| 783 | } |
| 784 | |
| 785 | int ul_init_globals(void) |
| 786 | { |
| 787 | init_db_url(db_url, 1 /* can be null */); |
| 788 | |
| 789 | /* Compute the lengths of string parameters */ |
| 790 | contactid_col.len = strlen(contactid_col.s); |
| 791 | user_col.len = strlen(user_col.s); |
| 792 | domain_col.len = strlen(domain_col.s); |
| 793 | contact_col.len = strlen(contact_col.s); |
| 794 | expires_col.len = strlen(expires_col.s); |
| 795 | q_col.len = strlen(q_col.s); |
| 796 | callid_col.len = strlen(callid_col.s); |
| 797 | cseq_col.len = strlen(cseq_col.s); |
| 798 | flags_col.len = strlen(flags_col.s); |
| 799 | cflags_col.len = strlen(cflags_col.s); |
| 800 | user_agent_col.len = strlen(user_agent_col.s); |
| 801 | received_col.len = strlen(received_col.s); |
| 802 | path_col.len = strlen(path_col.s); |
| 803 | sock_col.len = strlen(sock_col.s); |
| 804 | methods_col.len = strlen(methods_col.s); |
| 805 | sip_instance_col.len = strlen(sip_instance_col.s); |
| 806 | kv_store_col.len = strlen(kv_store_col.s); |
| 807 | attr_col.len = strlen(attr_col.s); |
| 808 | last_mod_col.len = strlen(last_mod_col.s); |
| 809 | if (ul_ha_shtag.s) |
| 810 | ul_ha_shtag.len = strlen(ul_ha_shtag.s); |
| 811 | |
| 812 | if (ul_hash_size > 16) { |
| 813 | LM_WARN("hash too big! max 2 ^ 16\n"); |
| 814 | return -1; |
| 815 | } |
| 816 | |
| 817 | if (ul_hash_size <= 1) |
| 818 | ul_hash_size = 512; |
| 819 | else |
| 820 | ul_hash_size = 1 << ul_hash_size; |
| 821 | |
| 822 | ul_locks_no = ul_hash_size; |
| 823 | |
| 824 | if (ul_init_locks() != 0) { |
| 825 | LM_ERR("locks array initialization failed\n"); |
| 826 | return -1; |
| 827 | } |
| 828 | |
| 829 | /* check matching mode */ |
| 830 | switch (matching_mode) { |
| 831 | case CT_MATCH_CONTACT_ONLY: |
| 832 | case CT_MATCH_CONTACT_CALLID: |
| 833 | break; |
| 834 | default: |
| 835 | LM_ERR("invalid matching mode %d\n", matching_mode); |
| 836 | return -1; |
| 837 | } |
| 838 | |
| 839 | nat_bflag = get_flag_id_by_name(FLAG_TYPE_BRANCH, nat_bflag_str, 0); |
| 840 | |
| 841 | if (nat_bflag == (unsigned int)-1) { |
| 842 | nat_bflag = 0; |
no test coverage detected