jrfoell / campfire-libpurple

A Campfire protocol plugin for libpurple (Pidgin)
48 stars 16 forks source link

Joining a Channel [pidgin crashes] #3

Closed cgardner closed 12 years ago

cgardner commented 12 years ago

I've gotten the plugin installed and I believe I've got it set up properly. However, whenever I join a channel pidgin crashes.

nicgrayson commented 12 years ago

This happens to me too.

jfoell commented 12 years ago

Unfortunately, I only have one campfire account to test with, and "it works for me" (of course). I suggest running pidgin from the command line with debug messages enabled. You can filter for only the campfire plugin debug messages and post the log. something like this should work: pidgin -d | grep campfire > campfire_plugin.log. (the campfire messages should then be saved in campfire_plugin.log). Depending on how big that file is you can post it (or part of it) here.

cgardner commented 12 years ago

I tried twice. Once with the room name and once with the room ID. Here's the log:

(17:28:33) plugins: probing /usr/lib/purple-2/libcampfire.so (17:28:58) campfire: trying to JOIN CHAT room id (null) (17:28:58) campfire: add room to list (null) ID: (null) (17:29:06) plugins: probing /usr/lib/purple-2/libcampfire.so (17:29:44) campfire: trying to JOIN CHAT room id (null) (17:29:44) campfire: add room to list (null) ID: (null)

jfoell commented 12 years ago

Yup, I can recreate a crash when using "Join Chat..." and entering a room name. Try using the "Room List" function and selecting a listed room then select "Join". I am embarrassed to say that I've never tested it by simply typing in the room name. I hope you can get up and running with the "Room List" way, and I'll work on the "Join Chat..." soon.

nicgrayson commented 12 years ago

I'm not able to view the list of rooms. It just spins when getting the list.

cgardner commented 12 years ago

It's the same for me. No rooms show up and I don't see anything in the debug log either.

jfoell commented 12 years ago

Can you find any differences in your account setup? Here's mine: Basic: Protocol: Campfire Basic: Username: jfoell Basic: Hostname: ingroup.campfirenow.com Basic: Local alias: Advanced: API Token: 95be...265d Advanced: Retrieve # msgs on join: 10 Proxy: Proxy Type: Use Global Proxy Settings

Here is what my debug log looks like when I do a room list. Can you spot any significant differences? (21:43:43) campfire: initiating ROOMLIST GET LIST (21:43:43) campfire: Formatted request: GET /rooms.xml HTTP/1.1 Content-Type: application/xml Authorization: Basic OTViZTljZTcxYTk5NjQ3ZjQ2YmQzMmMwODZhZjI5NDAzMzhjMjY1ZA== Host: ingroup.campfirenow.com Accept: */*

(21:43:43) campfire: campfire_queue_xaction input condition: 3 (21:43:43) campfire: queue length 1 (21:43:43) campfire: campfire_ssl_connect (21:43:43) campfire: new ssl connection (21:43:43) dnsquery: Performing DNS lookup for ingroup.campfirenow.com (21:43:43) campfire: new ssl connection kicked off. (21:43:43) roomlist: reffing list, ref count now 2 (21:43:43) dns: Created new DNS child 16345, there are now 1 children. (21:43:43) dns: Successfully sent DNS request to child 16345 (21:43:43) dns: Got response for 'ingroup.campfirenow.com' (21:43:43) dnsquery: IP resolved for ingroup.campfirenow.com (21:43:43) proxy: Attempting connection to 204.62.114.21 (21:43:43) proxy: Connecting to ingroup.campfirenow.com:443 with no proxy (21:43:43) proxy: Connection in progress (21:43:43) proxy: Connecting to ingroup.campfirenow.com:443. (21:43:43) proxy: Connected to ingroup.campfirenow.com:443. (21:43:43) nss: subject=CN=*.campfirenow.com,OU=Domain Control Validated - RapidSSL(R),OU=See www.rapidssl.com/resources/cps (c)11,OU=GT23036785,O=*.campfirenow.com,C=US,serialNumber=JoGozIJmZwhtvHRQCuYEMvwbe6AYqcjR issuer=CN=RapidSSL CA,O="GeoTrust, Inc.",C=US (21:43:43) nss: subject=CN=RapidSSL CA,O="GeoTrust, Inc.",C=US issuer=CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US (21:43:43) nss: subject=CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US issuer=CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US (21:43:43) certificate/x509/tls_cached: Starting verify for ingroup.campfirenow.com (21:43:43) certificate/x509/tls_cached: Checking for cached cert... (21:43:43) certificate/x509/tls_cached: ...Found cached cert (21:43:43) nss/x509: Loading certificate from /home/jerf/.purple/certificates/x509/tls_peers/ingroup.campfirenow.com (21:43:43) certificate/x509/tls_cached: Peer cert matched cached (21:43:43) nss/x509: Exporting certificate to /home/jerf/.purple/certificates/x509/tls_peers/ingroup.campfirenow.com (21:43:43) util: Writing file /home/jerf/.purple/certificates/x509/tls_peers/ingroup.campfirenow.com (21:43:43) certificate: Successfully verified certificate for ingroup.campfirenow.com (21:43:43) campfire: campfire_ssl_connect (21:43:43) campfire: previous ssl connection (21:43:43) campfire: adding input (21:43:43) campfire: writing first request on ssl connection (21:43:43) campfire: campfire_ssl_handler: first: 0x7f11aba65880 (21:43:43) campfire: TRY AGAIN (returning) (21:43:43) campfire: http status: 0 (21:43:43) campfire: campfire_ssl_handler: first: 0x7f11aba65880 (21:43:43) campfire: read 1024 bytes from HTTP Response, errno: 0 (21:43:43) campfire: read 651 bytes from HTTP Response, errno: 0 (21:43:43) campfire: EAGAIN (continuing) (21:43:43) campfire: CAMPFIRE_HTTP_RX_HEADER (21:43:43) campfire: content length str len = 3 (21:43:43) campfire: content length: 909 (21:43:43) campfire: CAMPFIRE_HTTP_RX_CONTENT (21:43:43) campfire: http status: 200 (21:43:43) campfire: processing xml... (21:43:43) roomlist: reffing list, ref count now 3 (21:43:43) campfire: removing from queue: length: 1 (21:43:43) campfire: removed from queue: length: 0 (21:43:44) roomlist: unreffing list, ref count now 2 (21:43:51) campfire: campfire_ssl_handler: first: (nil) (21:43:51) campfire: SERVER CLOSED CONNECTION (21:43:51) campfire: http status: -1 (21:43:51) campfire: closing ssl connection:0x7f11aba580a0 (0x7f11aba580a0) dns[16345]: nobody needs me... =(

jfoell commented 12 years ago

Could you try your.campfire.com instead of https://your.campfire.com in the account settings? Putting the protocol prefix seems to break the plugin. ??

ngrayson & cgardner, One more thought. are both your campfire servers running on https? This plugin mostly assumes ssl connections.

cgardner commented 12 years ago

Bingo. It turns out that I just didn't have the proper hostname setup. I guess I'm just used to the applications assuming campfirenow.com.

Thanks. :+1: