Package: aprsd
Version: 1:2.2.5-13-3
Severity: wishlist
Tags: patch,sid,upstream


Hi Hamish,

aprsd doesnt allow a JavAPRS filter to be specified when it connects
to servers/hubs/igates. Typically you need to do this if you connect
to the user defined filter port (14580) on a remote javAPRS host.

Patch to extend the igate lines in aprsd.conf is attached, along
with some documentation in aprsd.conf. The patch is real simple
(I don't even know C++...)

Would you consider including it in the debian build, or even pushing
it upstream ? I only did it on igate lines because: a) That suited my
needs, and b) It was quick and easy. Patch could be easily extended
to hit server and hub lines as well.


I use this so I can just pull the telemetry from PCSAT, PCSAT2, and
friends, and then connect multiple aprstlm clients to my local (same LAN)
aprsd server, instead of connecting them all up to a Tier 2 server.

I guess this is a slightly different use for aprsd than a lot of folks,
but no less valid, and does help reduce my bandwidth requirements.


All the Best

Iain


diff -uprN aprsd-2.2.5-13/admin/aprsd.conf aprsd-2.2.5-13-iii/admin/aprsd.conf
--- aprsd-2.2.5-13/admin/aprsd.conf     2006-02-28 16:11:09.122713640 +0000
+++ aprsd-2.2.5-13-iii/admin/aprsd.conf 2006-03-09 15:57:27.749412960 +0000
@@ -211,6 +211,23 @@ Server first.aprs.net 23 hub-sr
 #server wv.aprs.net 1313
 #---------------------------------
 #
+#Igate connections
+#
+# Igate connections are client connections for connecting to remote igate
+# servers etc. G7III extended their functionality to be able to specify a
+# filter to a JavAPRS server for use on a user defined port. General
+# format is:
+#
+#igate <server> <port> <user> <passcode> <filter>
+#
+#passcode should be -1 unless you *intend* to send data upstream to
+#the remote igate. Example:
+#
+# Grab all APRS packets from PCSAT and PCSAT2
+#
+#igate fred.aprs.net 14580 Z0ZZZ -1 p/w3ado/pcsat
+#
+#---------------------------------
 #Define server listen ports
 #Read ports.html for more info.
 #
diff -uprN aprsd-2.2.5-13/src/aprsd.cpp aprsd-2.2.5-13-iii/src/aprsd.cpp
--- aprsd-2.2.5-13/src/aprsd.cpp        2006-02-28 16:11:08.456814872 +0000
+++ aprsd-2.2.5-13-iii/src/aprsd.cpp    2006-03-09 15:55:54.583576320 +0000
@@ -395,6 +395,9 @@ int serverConfig(const string& cf)
                     if (nTokens >= 5)
                         cpIGATE[m].pass = strdup(token[4].c_str()); //Get 
Passcode
 
+                    if (nTokens >= 6)
+                        cpIGATE[m].filter = strdup(token[5].c_str()); //Get 
Filter String
+
                     /* If passcode is valid allow the this server to send data 
up stream */
                     if ((validate(cpIGATE[m].user, cpIGATE[m].pass,APRSGROUP, 
APRS_PASS_ALLOW) == 0)){
                         cpIGATE[m].mode = MODE_RECV_SEND;
diff -uprN aprsd-2.2.5-13/src/servers.cpp aprsd-2.2.5-13-iii/src/servers.cpp
--- aprsd-2.2.5-13/src/servers.cpp      2006-02-28 16:11:08.520805144 +0000
+++ aprsd-2.2.5-13-iii/src/servers.cpp  2006-03-09 15:54:39.679963400 +0000
@@ -2715,6 +2715,8 @@ ConnectParams* getNextHub(ConnectParams*
                     << pcp->pass
                     << " vers "
                     << VERS
+                    << " filter "
+                    << pcp->filter
                     << "\r\n";
 
                 //Send logon string to IGATE or Hub
diff -uprN aprsd-2.2.5-13/src/servers.h aprsd-2.2.5-13-iii/src/servers.h
--- aprsd-2.2.5-13/src/servers.h        2003-05-29 04:09:39.000000000 +0100
+++ aprsd-2.2.5-13-iii/src/servers.h    2006-03-09 15:54:39.685962488 +0000
@@ -71,6 +71,7 @@ struct ConnectParams {
     string user;
     //char* pass;
     string pass;
+    string filter;
     //char* remoteIgateInfo;
     string remoteIgateInfo;
     int   nCmds;


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to