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]