comparison libpurple/dnssrv.c @ 32819:2c6510167895 default tip

propagate from branch 'im.pidgin.pidgin.2.x.y' (head 3315c5dfbd0ad16511bdcf865e5b07c02d07df24) to branch 'im.pidgin.pidgin' (head cbd1eda6bcbf0565ae7766396bb8f6f419cb6a9a)
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 02 Jun 2012 02:30:49 +0000
parents efe38e6319f2
children
comparison
equal deleted inserted replaced
32818:01ff09d4a463 32819:2c6510167895
723 } 723 }
724 724
725 #endif 725 #endif
726 726
727 PurpleSrvTxtQueryData * 727 PurpleSrvTxtQueryData *
728 purple_srv_resolve(const char *protocol, const char *transport, 728 purple_srv_resolve(PurpleAccount *account, const char *protocol,
729 const char *domain, PurpleSrvCallback cb, gpointer extradata)
730 {
731 return purple_srv_resolve_account(NULL, protocol, transport, domain,
732 cb, extradata);
733 }
734
735 PurpleSrvTxtQueryData *
736 purple_srv_resolve_account(PurpleAccount *account, const char *protocol,
737 const char *transport, const char *domain, PurpleSrvCallback cb, 729 const char *transport, const char *domain, PurpleSrvCallback cb,
738 gpointer extradata) 730 gpointer extradata)
739 { 731 {
740 char *query; 732 char *query;
741 char *hostname; 733 char *hostname;
796 g_free(query_data); 788 g_free(query_data);
797 cb(NULL, 0, extradata); 789 cb(NULL, 0, extradata);
798 return NULL; 790 return NULL;
799 } 791 }
800 792
793 /*
794 * TODO: We should put a cap on the number of forked processes that we
795 * allow at any given time. If we get too many requests they
796 * should be put into a queue and handled later. (This is what
797 * we do for A record lookups.)
798 */
801 pid = fork(); 799 pid = fork();
802 if (pid == -1) { 800 if (pid == -1) {
803 purple_debug_error("dnssrv", "Could not create process!\n"); 801 purple_debug_error("dnssrv", "Could not create process!\n");
804 g_free(query); 802 g_free(query);
805 g_free(query_data); 803 g_free(query_data);
861 859
862 return query_data; 860 return query_data;
863 #endif 861 #endif
864 } 862 }
865 863
866 PurpleSrvTxtQueryData *purple_txt_resolve(const char *owner, 864 PurpleSrvTxtQueryData *purple_txt_resolve(PurpleAccount *account,
867 const char *domain, PurpleTxtCallback cb, gpointer extradata)
868 {
869 return purple_txt_resolve_account(NULL, owner, domain, cb, extradata);
870 }
871
872 PurpleSrvTxtQueryData *purple_txt_resolve_account(PurpleAccount *account,
873 const char *owner, const char *domain, PurpleTxtCallback cb, 865 const char *owner, const char *domain, PurpleTxtCallback cb,
874 gpointer extradata) 866 gpointer extradata)
875 { 867 {
876 char *query; 868 char *query;
877 char *hostname; 869 char *hostname;
927 g_free(query_data); 919 g_free(query_data);
928 cb(NULL, extradata); 920 cb(NULL, extradata);
929 return NULL; 921 return NULL;
930 } 922 }
931 923
924 /*
925 * TODO: We should put a cap on the number of forked processes that we
926 * allow at any given time. If we get too many requests they
927 * should be put into a queue and handled later. (This is what
928 * we do for A record lookups.)
929 */
932 pid = fork(); 930 pid = fork();
933 if (pid == -1) { 931 if (pid == -1) {
934 purple_debug_error("dnssrv", "Could not create process!\n"); 932 purple_debug_error("dnssrv", "Could not create process!\n");
935 g_free(query); 933 g_free(query);
936 g_free(query_data); 934 g_free(query_data);
990 if (query_data->error_message != NULL) 988 if (query_data->error_message != NULL)
991 query_data->handle = purple_timeout_add(0, res_main_thread_cb, query_data); 989 query_data->handle = purple_timeout_add(0, res_main_thread_cb, query_data);
992 990
993 return query_data; 991 return query_data;
994 #endif 992 #endif
995 }
996
997 void
998 purple_txt_cancel(PurpleSrvTxtQueryData *query_data)
999 {
1000 purple_srv_txt_query_destroy(query_data);
1001 }
1002
1003 void
1004 purple_srv_cancel(PurpleSrvTxtQueryData *query_data)
1005 {
1006 purple_srv_txt_query_destroy(query_data);
1007 } 993 }
1008 994
1009 const gchar * 995 const gchar *
1010 purple_txt_response_get_content(PurpleTxtResponse *resp) 996 purple_txt_response_get_content(PurpleTxtResponse *resp)
1011 { 997 {