modify nullcient to use google talk

enst enst.bupt at gmail.com
Tue Mar 24 04:44:18 EDT 2009


if I don't set connect_server

libpurple initialized.
0: AIM
1: Gadu-Gadu
2: GroupWise
3: ICQ
4: IRC
5: MSN
6: MySpaceIM
7: QQ
8: SIMPLE
9: XMPP
10: Yahoo
11: Zephyr
Select the protocol [0-11]: 9
Username: bot.mybots at gmail.com
Password:
prpl: prpl-jabber
gtalk
(16:43:14) account: Connecting to account bot.mybots at gmail.com
(16:43:14) prefs: /purple/savedstatus/default changed, scheduling save.
(16:43:14) prefs: /purple/savedstatus/idleaway changed, scheduling save.
(16:43:14) prefs: /purple/savedstatus/isidleaway changed, scheduling save.
(16:43:14) connection: Connecting. gc = 0x981b070
(16:43:14) dnssrv: querying SRV record for _xmpp-client._tcp.gmail.com
(16:43:14) prefs: /purple/savedstatus/default changed, scheduling save.
(16:43:14) prefs: /purple/savedstatus/isidleaway changed, scheduling save.
(16:43:14) util: Writing file prefs.xml to directory /dev/null
(16:43:14) util: Error creating directory /dev/null: File exists
(16:43:14) dnssrv: found 5 SRV entries
(16:43:14) dns: DNS query for 'talk.l.google.com' queued
(16:43:14) dns: Created new DNS child 3042, there are now 1 children.
(16:43:14) dns: Successfully sent DNS request to child 3042
(16:43:14) dns: Got response for 'talk.l.google.com'
(16:43:14) dnsquery: IP resolved for talk.l.google.com
(16:43:14) proxy: Attempting connection to 72.14.235.125
(16:43:14) proxy: Connecting to talk.l.google.com:5222 with no proxy
(16:43:14) proxy: Connection in progress
(16:43:14) proxy: Connected to talk.l.google.com:5222.
(16:43:14) jabber: Sending: <?xml version='1.0' ?>
(16:43:14) jabber: Sending: <stream:stream to='gmail.com'
xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'>
(16:43:14) jabber: Recv (348): <stream:stream from="gmail.com"
id="4F2FD753340477C7" version="1.0"
xmlns:stream="http://etherx.jabber.org/streams"
xmlns="jabber:client"><stream:features><starttls
xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
(16:43:14) jabber: Sending: <starttls
xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
(16:43:15) jabber: Recv (50): <proceed
xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
(16:43:15) gnutls: Starting handshake with gmail.com
(16:43:15) gnutls: Handshake complete
(16:43:15) gnutls/x509: Key print:
9f:f8:3b:da:2c:a3:12:55:24:d5:b9:d6:fc:49:69:8f:0a:91:d8:cd
(16:43:15) gnutls: Peer provided 1 certs
(16:43:15) gnutls: Lvl 0 SHA1 fingerprint:
9f:f8:3b:da:2c:a3:12:55:24:d5:b9:d6:fc:49:69:8f:0a:91:d8:cd
(16:43:15) gnutls: Serial: 07:3f:92
(16:43:15) gnutls: Cert DN: C=US,ST=California,L=Mountain View,O=Google
Inc.,CN=gmail.com
(16:43:15) gnutls: Cert Issuer DN: C=US,O=Equifax,OU=Equifax Secure
Certificate Authority
(16:43:15) certificate/x509/tls_cached: Starting verify for gmail.com
(16:43:15) certificate: CertificatePool x509, tls_peers requested but
not found.
(16:43:15) certificate/x509/tls_cached: Couldn't find local peers cache
tls_peers
(16:43:15) gnutls/x509: Certificate for C=US,ST=California,L=Mountain
View,O=Google Inc.,CN=gmail.com claims to be issued by
C=US,O=Equifax,OU=Equifax Secure Certificate Authority, but the
certificate for C=US,ST=California,L=Mountain View,O=Google
Inc.,CN=gmail.com does not match.
(16:43:15) certificate: Checking signature chain for
uid=C=US,ST=California,L=Mountain View,O=Google Inc.,CN=gmail.com
(16:43:15) certificate: ...Singleton. We'll say it's valid.
(16:43:15) certificate/x509/tls_cached: Checking for a CA with
DN=C=US,O=Equifax,OU=Equifax Secure Certificate Authority
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/Microsoft_Secure_Server_Authority.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/Microsoft_Secure_Server_Authority.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/Verisign_RSA_Secure_Server_CA.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/Verisign_RSA_Secure_Server_CA.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/GTE_CyberTrust_Global_Root.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/GTE_CyberTrust_Global_Root.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/Microsoft_Internet_Authority.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/Microsoft_Internet_Authority.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/Equifax_Secure_CA.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/Equifax_Secure_CA.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/CAcert_Class3.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/CAcert_Class3.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/StartCom_Free_SSL_CA.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/StartCom_Free_SSL_CA.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/Verisign_Class3_Primary_CA.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/Verisign_Class3_Primary_CA.pem
(16:43:15) gnutls: Attempting to load X.509 certificate from
/usr/local/share/purple/ca-certs/CAcert_Root.pem
(16:43:15) certificate/x509/ca: Loaded
/usr/local/share/purple/ca-certs/CAcert_Root.pem
(16:43:15) certificate/x509/ca: Lazy init completed.
(16:43:15) certificate: CertificatePool x509, tls_peers requested but
not found.
(16:43:15) certificate/x509/tls_cached: Unable to locate tls_peers
certificate cache.
(16:43:15) certificate: Successfully verified certificate for gmail.com
(16:43:15) jabber: XML parser error for JabberStream 0x981b800: Domain
1, code 5, level 3: Extra content at the end of the document
(16:43:15) jabber: Sending (ssl): <stream:stream to='gmail.com'
xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'>
(16:43:15) jabber: Recv (ssl)(138): <stream:stream from="gmail.com"
id="DB6472F9481E09E8" version="1.0"
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
(16:43:15) jabber: Recv (ssl)(166): <stream:features><mechanisms
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>
(16:43:15) jabber: Sending (ssl): <auth
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'
xmlns:ga='http://www.google.com/talk/protocol/auth'
ga:client-uses-full-bind-result='true'
mechanism='PLAIN'>AGJvdC5teWJvdHMAdG9nb2xkZW5uZXQ=</auth>
(16:43:15) util: requested to fetch
(http://10.8.8.208:2869/upnphost/udhisapi.dll?content=uuid:f26b585b-5c11-4b11-be88-3e08f81a1931),
full=1, user_agent=((null)), http11=1
(16:43:15) dns: DNS query for '10.8.8.208' queued
(16:43:15) dns: Successfully sent DNS request to child 3042
(16:43:15) dns: Got response for '10.8.8.208'
(16:43:15) dnsquery: IP resolved for 10.8.8.208
(16:43:15) proxy: Attempting connection to 10.8.8.208
(16:43:15) proxy: Connecting to 10.8.8.208:2869 with no proxy
(16:43:15) proxy: Connection in progress
(16:43:15) proxy: Connected to 10.8.8.208:2869.
(16:43:15) util: Request: 'GET
/upnphost/udhisapi.dll?content=uuid:f26b585b-5c11-4b11-be88-3e08f81a1931
HTTP/1.1
Connection: close
Host: 10.8.8.208:2869

'
(16:43:15) util: Response headers: 'HTTP/1.1 200 OK
Content-Length: 4092
Content-Type: text/xml
Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
Microsoft-HTTPAPI/1.0
Date: Tue, 24 Mar 2009 08:43:17 GMT
Connection: close

'
(16:43:15) util: parsed 4092
(16:43:15) util: requested to fetch
(http://10.8.8.208:2869/upnphost/udhisapi.dll?control=uuid:9ee37d69-95f3-479d-b972-a9d79fe8cdbc+urn:upnp-org:serviceId:WANPPPConn1),
full=0, user_agent=((null)), http11=1
(16:43:15) dns: DNS query for '10.8.8.208' queued
(16:43:15) dns: DNS query for '10.8.8.208' queued
(16:43:15) dns: Successfully sent DNS request to child 3042
(16:43:15) dns: Created new DNS child 3044, there are now 2 children.
(16:43:15) dns: Successfully sent DNS request to child 3044
(16:43:15) dns: Got response for '10.8.8.208'
(16:43:15) dnsquery: IP resolved for 10.8.8.208
(16:43:15) proxy: Attempting connection to 10.8.8.208
(16:43:15) proxy: Connecting to 10.8.8.208:2869 with no proxy
(16:43:15) proxy: Connection in progress
(16:43:15) dns: Got response for '10.8.8.208'
(16:43:15) dnsquery: IP resolved for 10.8.8.208
(16:43:15) proxy: Attempting connection to 10.8.8.208
(16:43:15) proxy: Connecting to 10.8.8.208:2869 with no proxy
(16:43:15) proxy: Connection in progress
(16:43:15) proxy: Connected to 10.8.8.208:2869.
(16:43:15) util: Request: 'POST
/upnphost/udhisapi.dll?control=uuid:9ee37d69-95f3-479d-b972-a9d79fe8cdbc+urn:upnp-org:serviceId:WANPPPConn1
HTTP/1.1
HOST: 10.8.8.208:2869
SOAPACTION:
"urn:schemas-upnp-org:service:WANPPPConnection:1#GetExternalIPAddress"
CONTENT-TYPE: text/xml ; charset="utf-8"
CONTENT-LENGTH: 311

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:GetExternalIPAddress
xmlns:u="urn:schemas-upnp-org:service:WANPPPConnection:1">
</u:GetExternalIPAddress>
</s:Body>
</s:Envelope>'
(16:43:15) proxy: Connected to 10.8.8.208:2869.
(16:43:15) upnp: Local IP: 10.8.103.41
(16:43:15) util: Response headers: 'HTTP/1.1 200 OK
Content-Length: 451
Content-Type: text/xml; charset="utf-8"
Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
Microsoft-HTTPAPI/1.0
Date: Tue, 24 Mar 2009 08:43:17 GMT

'
(16:43:15) util: parsed 451
(16:43:15) jabber: Recv (ssl)(51): <success
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
(16:43:15) jabber: XML parser error for JabberStream 0x981b800: Domain
1, code 5, level 3: Extra content at the end of the document
(16:43:15) jabber: Sending (ssl): <stream:stream to='gmail.com'
xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'>
(16:43:16) jabber: Recv (ssl)(138): <stream:stream from="gmail.com"
id="7AAECCCD9163906D" version="1.0"
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
(16:43:16) jabber: Recv (ssl)(137): <stream:features><bind
xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session
xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
dns[3044]: Oops, father has gone, wait for me, wait...!
dns[3042]: Oops, father has gone, wait for me, wait...!
Segmentation fault

Ka-Hing Cheung 写道:
> On Tue, 2009-03-24 at 15:45 +0800, enst wrote:
>   
>> I modified nullclient.c. I want to use google talk account with nullclient.
>>
>> if(!strcmp(prpl, "prpl-jabber")){
>> fprintf(stderr, "gtalk\n");
>> purple_account_set_bool(account, "require_tls", TRUE);
>> purple_account_set_bool(account, "auth_plain_in_clear", FALSE);
>> purple_account_set_bool(account, "old-ssl", FALSE);
>> purple_account_set_bool(account, "check-mail", FALSE);
>> purple_account_set_int(account, "port", 5222);
>> purple_account_set_bool(account, "auth_gssapi", TRUE);
>> purple_account_set_string(account, "server", "gmail.com");
>> purple_account_set_string(account, "connect_server", "talk.google.com");
>>     
>
>   
>> (15:33:32) certificate/x509/tls_cached: Name mismatch: Certificate given
>> for talk.google.com has a name of gmail.com
>>     
>
> Don't set the connect server will allow this to go through.
>
> -khc
>
>
>
>   




More information about the Devel mailing list