aboutsummaryrefslogtreecommitdiff
path: root/net-im/naim
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-09-04 22:38:36 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-09-04 22:38:36 +0000
commited8cf2fa247514cfb59d698a5e95c19c551148bd (patch)
treec5f551857c2d69472101089704489c7d4f5d2225 /net-im/naim
parent22a23f2e54754d47b3da6d3c2f47a718968d1f58 (diff)
downloadports-ed8cf2fa247514cfb59d698a5e95c19c551148bd.tar.gz
ports-ed8cf2fa247514cfb59d698a5e95c19c551148bd.zip
- Allow naim to connect to AIM network again
PR: ports/85340 Submitted by: Travis Poppe <tlp@liquidx.org> (maintainer) Patch author: Dane Wagner
Notes
Notes: svn path=/head/; revision=141949
Diffstat (limited to 'net-im/naim')
-rw-r--r--net-im/naim/Makefile1
-rw-r--r--net-im/naim/files/patch-toc.c92
2 files changed, 93 insertions, 0 deletions
diff --git a/net-im/naim/Makefile b/net-im/naim/Makefile
index 7ceda9406059..2ee129b07fae 100644
--- a/net-im/naim/Makefile
+++ b/net-im/naim/Makefile
@@ -7,6 +7,7 @@
PORTNAME= naim
PORTVERSION= 0.11.7.3.1
+PORTREVISION= 1
CATEGORIES= net irc
MASTER_SITES= http://shell.n.ml.org/n/naim/
diff --git a/net-im/naim/files/patch-toc.c b/net-im/naim/files/patch-toc.c
new file mode 100644
index 000000000000..9c6ab10af66a
--- /dev/null
+++ b/net-im/naim/files/patch-toc.c
@@ -0,0 +1,92 @@
+--- firetalk/toc.c.orig Sun Jul 18 21:10:04 2004
++++ firetalk/toc.c Fri Aug 26 13:09:16 2005
+@@ -1415,28 +1415,28 @@
+ } else if (strcmp(arg0, "PAUSE") == 0) {
+ c->connectstate = 1;
+ firetalk_internal_set_connectstate(c, FCS_WAITING_SIGNON);
+- } else if (strcmp(arg0, "IM_IN") == 0) {
+- args = toc_parse_args(data, 4);
++ } else if (strcmp(arg0, "IM_IN2") == 0) {
++ args = toc_parse_args(data, 5);
+ if ((args[1] == NULL) || (args[2] == NULL) || (args[3] == NULL)) {
+ (void)toc_internal_disconnect(c, FE_INVALIDFORMAT);
+ return FE_INVALIDFORMAT;
+ }
+- (void)aim_handle_ect(c, args[1], args[3], args[2][0] == 'T'?1:0);
+- if (strlen(args[3]) > 0) {
++ (void)aim_handle_ect(c, args[1], args[4], args[2][0] == 'T'?1:0);
++ if (strlen(args[4]) > 0) {
+ char *mestart;
+
+- if (strncasecmp(args[3],"/me ",4) == 0)
+- firetalk_callback_im_getaction(c, args[1], args[2][0] == 'T'?1:0, &args[3][4]);
+- else if ((mestart = strstr(args[3],">/me ")) != NULL)
++ if (strncasecmp(args[4],"/me ",4) == 0)
++ firetalk_callback_im_getaction(c, args[1], args[2][0] == 'T'?1:0, &args[4][4]);
++ else if ((mestart = strstr(args[4],">/me ")) != NULL)
+ firetalk_callback_im_getaction(c, args[1], args[2][0] == 'T'?1:0, &mestart[5]);
+ else {
+ if (args[2][0] == 'T') /* interpolate only auto-messages */
+- firetalk_callback_im_getmessage(c, args[1], 1, aim_interpolate_variables(args[3], c->nickname));
++ firetalk_callback_im_getmessage(c, args[1], 1, aim_interpolate_variables(args[4], c->nickname));
+ else
+- firetalk_callback_im_getmessage(c, args[1], 0, args[3]);
++ firetalk_callback_im_getmessage(c, args[1], 0, args[4]);
+ }
+ }
+- } else if (strcmp(arg0, "UPDATE_BUDDY") == 0) {
++ } else if (strcmp(arg0, "UPDATE_BUDDY2") == 0) {
+ args = toc_parse_args(data,7);
+ if (!args[1] || !args[2] || !args[3] || !args[4] || !args[5] || !args[6]) {
+ (void)toc_internal_disconnect(c, FE_INVALIDFORMAT);
+@@ -1609,6 +1609,7 @@
+ char *tempchr2;
+ int permit_mode;
+ firetalk_t fchandle;
++ int magicnum;
+
+ got_data_connecting_start:
+ r = toc_find_packet(c,buffer,bufferpos,data,c->connectstate == 0 ? SFLAP_FRAME_SIGNON : SFLAP_FRAME_DATA,&length);
+@@ -1641,7 +1642,23 @@
+ firetalk_callback_needpass(c,password,128);
+
+ c->connectstate = 1;
+- r = toc_send_printf(c,"toc_signon login.oscar.aol.com 5190 %s %s english \"" PACKAGE_NAME ":" PACKAGE_VERSION ":contact " PACKAGE_BUGREPORT "\"",c->nickname,toc_hash_password(password));
++
++ magicnum = 0;
++ {
++ /* see www.snaphat.com/toc2.txt */
++ int a, b, cnum, sn, pw;
++
++ sn = c->nickname[0] - 96;
++ pw = (int)(password[0]) - 96;
++
++ a = sn * 7696 + 738816;
++ b = sn * 746512;
++ cnum = pw * a;
++
++ magicnum = cnum - a + b + 71665152;
++ }
++
++ r = toc_send_printf(c,"toc2_signon login.oscar.aol.com 5190 %s %s english \"TIC:naim\" 160 %d",c->nickname,toc_hash_password(password), magicnum);
+ if (r != FE_SUCCESS) {
+ firetalk_callback_connectfailed(c,r,"Error sending login string");
+ return r;
+@@ -1701,7 +1718,7 @@
+ abort();
+ }
+ c->connectstate = 3;
+- } else if (strcmp(arg0,"CONFIG") == 0) {
++ } else if (strcmp(arg0,"CONFIG2") == 0) {
+ char *group;
+
+ group = strdup("Saved buddy");
+@@ -1711,7 +1728,7 @@
+ fchandle = firetalk_find_handle(c);
+ args = toc_parse_args(data,2);
+ if (!args[1]) {
+- firetalk_callback_connectfailed(c,FE_INVALIDFORMAT,"CONFIG");
++ firetalk_callback_connectfailed(c,FE_INVALIDFORMAT,"CONFIG2");
+ return FE_INVALIDFORMAT;
+ }
+ tempchr1 = args[1];