Mercurial > pidgin
view src/proxy.h @ 5514:5664dbaf670c
[gaim-migrate @ 5913]
This fixes a bug where the global proxy hostname would often not get
read from the .gaimrc file correctly. It is described in
http://sourceforge.net/tracker/index.php?func=detail&aid=743110&group_id=235&atid=100235
http://sourceforge.net/tracker/index.php?func=detail&aid=742985&group_id=235&atid=100235
The problem was that there was an extra new line at the end of the file,
so gaimrc_parse_tag was unable to read in a new prefs section, and it
would end up deciding that you were trying to read in the "proxy"
section again because it used the same memory it used the previous time
it was called, which meant that the buffer contained "proxy."
I think I caused this with the following commit:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gaim/gaim/src/gaimrc.c.diff?r1=1.160&r2=1.162
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 25 May 2003 17:06:30 +0000 |
parents | 4691c5936c01 |
children | 9eb5b13fd412 |
line wrap: on
line source
/** * @file proxy.h Proxy functions * @ingroup core * * gaim * * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* this is the export part of the proxy.c file. it does a little prototype-ing stuff and redefine some net function to mask them with some kind of transparent layer */ #ifndef _PROXY_H_ #define _PROXY_H_ #include <sys/types.h> /*this must happen before sys/socket.h or freebsd won't compile*/ #ifndef _WIN32 #include <sys/socket.h> #include <netdb.h> #include <netinet/in.h> #else #include <winsock.h> #endif #include <glib.h> #include "core.h" typedef enum { PROXY_USE_GLOBAL = -1, PROXY_NONE = 0, PROXY_HTTP, PROXY_SOCKS4, PROXY_SOCKS5, } proxytype_t; struct gaim_proxy_info { int proxytype; char proxyhost[128]; proxytype_t proxyport; char proxyuser[128]; char proxypass[128]; }; extern struct gaim_proxy_info global_proxy_info; extern guint proxy_info_is_from_gaimrc; typedef enum { GAIM_INPUT_READ = 1 << 0, GAIM_INPUT_WRITE = 1 << 1 } GaimInputCondition; typedef void (*GaimInputFunction)(gpointer, gint, GaimInputCondition); extern gint gaim_input_add(int, GaimInputCondition, GaimInputFunction, gpointer); extern void gaim_input_remove(gint); extern int proxy_connect(struct gaim_account *account, char *host, int port, GaimInputFunction func, gpointer data); #endif /* _PROXY_H_ */