[Xastir] compressed objects not displayed?
Tapio Sokura
oh2kku at iki.fi
Thu Oct 26 20:15:23 EDT 2006
Just to document this somewhere publicly, I'm following up on my earlier
post..
Tapio Sokura wrote:
> I just cvs-updated my Xastir, but still can't see compressed objects on
> my map. I can see the packets in Xastir's net.log just fine, they just
> aren't displayed on the map. station -> filter data -> select
After exchanging a few emails with Curt, the reason for those objects
not being displayed turned out to be the path of those objects. It had
nothing to do with those packets being objects and/or using compressed
location format. The paths contained lower case characters (other than
the q-construct) and thus were rejected by valid_path() in util.c. An
example of such a path is "OH2KKU-1>APRS,TCPIP*,qAC,Core-2".
I've attached a simple one-minute diff against the current CVS that
fixes it for me, but it might have unintended consequences as the same
function is also used for validating AX.25 paths. Maybe in the future
path checking should be partly separated to AX.25 and to the more
relaxed APRS-IS format. Here's how Pete, AE5PL, just described current
consensus on valid APRS-IS path components on the aprsspec mailing list:
'The generally accepted restrictions are A-Z, a-z, 0-9 with a maximum of
one hyphen used to designate a one or two character SSID. The SSID does
not have to be numeric. An asterisk may only be used at the end of a
callsign-SSID to designate "repeated by".'
Tapio
PS. I'm putting the diff both inline and attached, in case attachments
are stripped by the mailing list processor. The inline version will be
word-wrapped, so don't apply it as it is..
--- util.c.orig 2006-10-27 02:43:04.000000000 +0300
+++ util.c 2006-10-27 02:44:13.000000000 +0300
@@ -4112,11 +4112,9 @@
allast++; // count asterisks in path
}
else if ((ch <'A' || ch > 'Z')
+ && (ch <'a' || ch > 'z')
&& (ch <'0' || ch > '9')
- && ch != '-'
- && ch != 'q' // Q-construct stuff
- && ch != 'r' // Q-construct stuff
- && ch != 'o') { // Q-construct stuff
+ && ch != '-') {
if (debug_level & 1)
fprintf(stderr, "valid_path: Bad Path: Anti-loop
stuff from aprsd or lower-case chars found\n");
More information about the Xastir
mailing list