libgaim/protocols/zephyr/ZInit.c

Sat, 28 Oct 2006 20:04:03 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Sat, 28 Oct 2006 20:04:03 +0000
changeset 14899
c65f0b4fb351
parent 14254
77edc7a6191a
child 20470
77693555855f
permissions
-rw-r--r--

[gaim-migrate @ 17606]
Add a "handle" parameter to gaim_proxy_connect(). It seemed like
people thought this was a good idea. You can still cancel
each gaim_proxy_connect() individually, if needed. I passed in
NULL for the handle in most places. It might be better to pass
in the gc in more places, but these changes do no harm, and they
should help some Yahoo! things, and I wanted to get the API change in.

2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 /* This file is part of the Project Athena Zephyr Notification System.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 * It contains source for the ZInitialize function.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 * Created by: Robert French
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 * Copyright (c) 1987, 1991 by the Massachusetts Institute of Technology.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * For copying and distribution information, see the file
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 * "mit-copyright.h".
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10
10867
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
11 #ifdef ZEPHYR_USES_KERBEROS
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
12 #ifdef WIN32
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
13
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
14 #else
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
15 #include <krb_err.h>
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
16 #endif
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
17 #endif
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
18
8792
b0645c9dc276 [gaim-migrate @ 9554]
Christian Hammond <chipx86@chipx86.com>
parents: 2419
diff changeset
19 #include "internal.h"
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20
10867
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
21 #ifdef WIN32
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
22 #include <winsock2.h>
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
23 #else
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 #include <sys/socket.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26
10867
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
27
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
28 #ifndef INADDR_NONE
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
29 #define INADDR_NONE 0xffffffff
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
30 #endif
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
31
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 Code_t ZInitialize()
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 {
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 struct servent *hmserv;
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
35 struct hostent *hostent;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
36 char addr[4], hostname[MAXHOSTNAMELEN];
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
37 struct in_addr servaddr;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
38 struct sockaddr_in sin;
11318
13fa1d5134f3 [gaim-migrate @ 13521]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11105
diff changeset
39 int s;
13fa1d5134f3 [gaim-migrate @ 13521]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11105
diff changeset
40 socklen_t sinsize = sizeof(sin);
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
41 Code_t code;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
42 ZNotice_t notice;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 #ifdef ZEPHYR_USES_KERBEROS
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
44 char *krealm = NULL;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 int krbval;
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
46 char d1[ANAME_SZ], d2[INST_SZ];
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47
10867
b39f9b646d6c [gaim-migrate @ 12553]
Arun Tharuvai <aatharuv@mit.edu>
parents: 8792
diff changeset
48 /* initialize_krb_error_table(); */
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51 initialize_zeph_error_table();
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 (void) memset((char *)&__HM_addr, 0, sizeof(__HM_addr));
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
55 __HM_addr.sin_family = AF_INET;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
57 /* Set up local loopback address for HostManager */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58 addr[0] = 127;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
59 addr[1] = 0;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 addr[2] = 0;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 addr[3] = 1;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 hmserv = (struct servent *)getservbyname(HM_SVCNAME, "udp");
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64 __HM_addr.sin_port = (hmserv) ? hmserv->s_port : HM_SVC_FALLBACK;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66 (void) memcpy((char *)&__HM_addr.sin_addr, addr, 4);
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
68 __HM_set = 0;
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
69
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
70 /* Initialize the input queue */
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
71 __Q_Tail = NULL;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
72 __Q_Head = NULL;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
73
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
74 /* if the application is a server, there might not be a zhm. The
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
75 code will fall back to something which might not be "right",
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
76 but this is is ok, since none of the servers call krb_rd_req. */
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
77
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
78 servaddr.s_addr = INADDR_NONE;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
79 if (! __Zephyr_server) {
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
80 if ((code = ZOpenPort(NULL)) != ZERR_NONE)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
81 return(code);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
82
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
83 if ((code = ZhmStat(NULL, &notice)) != ZERR_NONE)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
84 return(code);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
85
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
86 ZClosePort();
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
87
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
88 /* the first field, which is NUL-terminated, is the server name.
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
89 If this code ever support a multiplexing zhm, this will have to
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
90 be made smarter, and probably per-message */
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
91
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
92 #ifdef ZEPHYR_USES_KERBEROS
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
93 krealm = krb_realmofhost(notice.z_message);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
94 #endif
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
95 hostent = gethostbyname(notice.z_message);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
96 if (hostent && hostent->h_addrtype == AF_INET)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
97 memcpy(&servaddr, hostent->h_addr, sizeof(servaddr));
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
98
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
99 ZFreeNotice(&notice);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
100 }
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
101
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
102 #ifdef ZEPHYR_USES_KERBEROS
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
103 if (krealm) {
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
104 strcpy(__Zephyr_realm, krealm);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
105 } else if ((krb_get_tf_fullname(TKT_FILE, d1, d2, __Zephyr_realm)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
106 != KSUCCESS) &&
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
107 ((krbval = krb_get_lrealm(__Zephyr_realm, 1)) != KSUCCESS)) {
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
108 return (krbval);
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
109 }
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
110 #else
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
111 strcpy(__Zephyr_realm, "local-realm");
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
112 #endif
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
113
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
114 __My_addr.s_addr = INADDR_NONE;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
115 if (servaddr.s_addr != INADDR_NONE) {
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
116 /* Try to get the local interface address by connecting a UDP
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
117 * socket to the server address and getting the local address.
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
118 * Some broken operating systems (e.g. Solaris 2.0-2.5) yield
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
119 * INADDR_ANY (zero), so we have to check for that. */
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
120 s = socket(AF_INET, SOCK_DGRAM, 0);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
121 if (s != -1) {
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
122 memset(&sin, 0, sizeof(sin));
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
123 sin.sin_family = AF_INET;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
124 memcpy(&sin.sin_addr, &servaddr, sizeof(servaddr));
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
125 sin.sin_port = HM_SRV_SVC_FALLBACK;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
126 if (connect(s, (struct sockaddr *) &sin, sizeof(sin)) == 0
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
127 && getsockname(s, (struct sockaddr *) &sin, &sinsize) == 0
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
128 && sin.sin_addr.s_addr != 0)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
129 memcpy(&__My_addr, &sin.sin_addr, sizeof(__My_addr));
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
130 close(s);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
131 }
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
132 }
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
133 if (__My_addr.s_addr == INADDR_NONE) {
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
134 /* We couldn't figure out the local interface address by the
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
135 * above method. Try by resolving the local hostname. (This
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
136 * is a pretty broken thing to do, and unfortunately what we
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
137 * always do on server machines.) */
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
138 if (gethostname(hostname, sizeof(hostname)) == 0) {
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
139 hostent = gethostbyname(hostname);
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
140 if (hostent && hostent->h_addrtype == AF_INET)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
141 memcpy(&__My_addr, hostent->h_addr, sizeof(__My_addr));
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
142 }
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
143 }
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
144 /* If the above methods failed, zero out __My_addr so things will
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
145 * sort of kind of work. */
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
146 if (__My_addr.s_addr == INADDR_NONE)
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
147 __My_addr.s_addr = 0;
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
148
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
149 /* Get the sender so we can cache it */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
150 (void) ZGetSender();
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
151
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
152 return (ZERR_NONE);
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
153 }
2419
beb509dd2935 [gaim-migrate @ 2432]
Salvatore Valente
parents: 2086
diff changeset
154

mercurial