* Netromd ssid-0 broadcasts being ignored
@ 2015-05-15 8:14 Paul Lewis
2015-05-16 15:50 ` David Ranch
2015-05-17 20:04 ` Richard Stearn
0 siblings, 2 replies; 5+ messages in thread
From: Paul Lewis @ 2015-05-15 8:14 UTC (permalink / raw)
To: linux-hams
Hi All
Since I moved to the latest netromd code in 2013-2015
I have notice that there have been changes to the ssid-0 of
nodes.
Examples
1) issuing a C GB7BA fails. GB7BA-0 works
C GB7CIP fails GB7CIP-0 works
Never us to behave this way on my old Slackware system (1994-2014)
2) Setting a locked Route
nrparms -routes axu1 MB7NUQ-0 + 70
nrparms -routes axu1 G3LDI-0 + 75
the node broadcast received from MB7NUQ-0
gets ignored
Callsign Device Packets Date & Time Frame Type(s)
--------- ------ -------- --------------- -------------
MB7NUQ axu1 17593 May 15 08:47:54 NetRom
G3LDI axu1 691 May 13 11:04:48 NetRom
Just a couple of examples
Have tested with the ax25 app/tools/ax25 0.0.# and 1.0.# series of
code.
Binaries complied from source code.
I find this very frustrating when setting up static routing tables in
the past 14 months, after my updated system went live.
Is their a patch that can be applied to get the code to behave as it use
to.
Why was it changed??
73 de Paul G4APL (GB7CIP/MB7NCR)
--
paul@skywaves.demon.co.uk
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Netromd ssid-0 broadcasts being ignored
2015-05-15 8:14 Netromd ssid-0 broadcasts being ignored Paul Lewis
@ 2015-05-16 15:50 ` David Ranch
2015-05-16 19:46 ` Richard Stearn
2015-05-17 20:04 ` Richard Stearn
1 sibling, 1 reply; 5+ messages in thread
From: David Ranch @ 2015-05-16 15:50 UTC (permalink / raw)
To: linux-hams
Hello Paul,
Are you using the CVS version of the "Official AX.25" sources? If so,
this is a known issue and why VE7FET put together his repo with help
from Bernard F6BVP. Read this URL to understand some of the key
differences:
https://code.google.com/p/linuxax25/
--
In the linux-ax25.org source, the ax25_ntoa function in axutils.c was
changed so that it mangles callsigns. Specifically, if the callsign has
a SSID of -0, it strips it.
. . .
NOTE: It appears (as of Nov 2014), that this bad behaviour of the
Official Source may have been reverted. Patches have been noted in the
Official Source that seem to get rid of stripping the SSID-0
--
Check out https://code.google.com/p/linuxax25/w/list to understand some
of the other current differences between the two repos. I personally
have been running the VE7FET version of AX25 app/lib/tools with good luck.
--David
KI6ZHD
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Netromd ssid-0 broadcasts being ignored
2015-05-16 15:50 ` David Ranch
@ 2015-05-16 19:46 ` Richard Stearn
0 siblings, 0 replies; 5+ messages in thread
From: Richard Stearn @ 2015-05-16 19:46 UTC (permalink / raw)
To: Linux Hams
Hi David
Whilst I have a working test environment I had a look at this with
the following results:
ax25-apps ax25-tools libax25 node
0.0.6 0.0.8 0.0.11 0.3.3 works
0.0.8-rc4 0.0.10-rc4 0.0.12-rc4 0.3.3 does not work
1.0.5 1.0.3 1.0.5 0.3.3 does not work
("works"/"does not work" is in terms of Paul's original issue)
A look at this site https://code.google.com/p/linuxax25/w/list
indicates that libax25 code is identical between 0.0.12-rc4 and
1.0.5, the difference being the directory tree layout.
--
Regards
Richard
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Netromd ssid-0 broadcasts being ignored
2015-05-15 8:14 Netromd ssid-0 broadcasts being ignored Paul Lewis
2015-05-16 15:50 ` David Ranch
@ 2015-05-17 20:04 ` Richard Stearn
2015-05-17 20:34 ` Paul Lewis
1 sibling, 1 reply; 5+ messages in thread
From: Richard Stearn @ 2015-05-17 20:04 UTC (permalink / raw)
To: linux-hams
Paul Lewis did scribe:
>
> Hi All
>
> Since I moved to the latest netromd code in 2013-2015
> I have notice that there have been changes to the ssid-0 of
> nodes.
>
> Examples
>
> 1) issuing a C GB7BA fails. GB7BA-0 works
> C GB7CIP fails GB7CIP-0 works
>
Hi Paul
Try this patch against libax25-1.0.5, it is my attempt a reverting the
"strip -0" change in recent versions of libax25 :
----------------------------------------------------------------------------
diff -ru reference/libax25-1.0.5/lib/ax25/axconfig.c modified/libax25-1.0.5/lib/ax25/axconfig.c
--- reference/libax25-1.0.5/lib/ax25/axconfig.c 2014-11-07 17:41:26.000000000 +0000
+++ modified/libax25-1.0.5/lib/ax25/axconfig.c 2015-05-16 19:03:27.000000000 +0100
@@ -238,8 +238,8 @@
strupr(call);
found = 0;
char *cp;
- if ((cp = strstr(call, "-0")) != NULL)
- *cp = '\0';
+
+
for (;ifcalls && *ifcalls; ++ifcalls, ++ifdevs) {
if (strcmp(call, *ifcalls) == 0) {
found = 1;
diff -ru reference/libax25-1.0.5/lib/ax25/axutils.c modified/libax25-1.0.5/lib/ax25/axutils.c
--- reference/libax25-1.0.5/lib/ax25/axutils.c 2014-11-07 17:41:26.000000000 +0000
+++ modified/libax25-1.0.5/lib/ax25/axutils.c 2015-05-15 17:22:35.000000000 +0100
@@ -199,17 +199,14 @@
*s++ = c;
}
- /* Convention is: -0 suffixes are NOT printed */
- if (a->ax25_call[6] & 0x1E) {
- *s++ = '-';
-
- if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
- *s++ = '1';
- n -= 10;
- }
- *s++ = n + '0';
- }
+ *s++ = '-';
+ if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
+ *s++ = '1';
+ n -= 10;
+ }
+
+ *s++ = n + '0';
*s++ = '\0';
return buf;
diff -ru reference/libax25-1.0.5/lib/ax25/nrconfig.c modified/libax25-1.0.5/lib/ax25/nrconfig.c
--- reference/libax25-1.0.5/lib/ax25/nrconfig.c 2014-11-07 17:41:26.000000000 +0000
+++ modified/libax25-1.0.5/lib/ax25/nrconfig.c 2015-05-16 19:03:45.000000000 +0100
@@ -216,8 +216,8 @@
strupr(alias);
char *cp;
- if ((cp = strstr(call, "-0")) != NULL)
- *cp = 0;
+
+
found = 0;
for (;ifcalls && *ifcalls; ++ifcalls, ++ifdevs) {
diff -ru reference/libax25-1.0.5/lib/ax25/procutils.c modified/libax25-1.0.5/lib/ax25/procutils.c
--- reference/libax25-1.0.5/lib/ax25/procutils.c 2014-11-07 17:41:26.000000000 +0000
+++ modified/libax25-1.0.5/lib/ax25/procutils.c 2015-05-16 19:58:44.000000000 +0100
@@ -70,6 +70,15 @@
return buf;
}
+static char *strip_zero_ssid(char *call)
+{
+ char *cp;
+
+ if ((cp = strstr(call, "-0")) != NULL)
+ *cp = 0;
+ return call;
+}
+
struct proc_ax25 *read_proc_ax25(void)
{
FILE *fp;
@@ -336,6 +345,8 @@
cp = buffer;
safe_strncpy(new->call, token(&cp, space), 9);
+ strip_zero_ssid(new->call);
+
safe_strncpy(new->alias, token(&cp, space), 6);
new->w = safe_atoi(token(&cp, space));
@@ -375,6 +386,7 @@
break;
if ((cp = nr_config_get_addr(name)) == NULL)
break;
+ strip_zero_ssid(cp);
safe_strncpy(new->call, cp, 9);
if ((cp = nr_config_get_alias(name)) == NULL)
break;
@@ -658,6 +670,7 @@
static struct proc_nr_nodes n;
struct proc_nr_nodes *p, *list;
+ strip_zero_ssid(addr);
list = nodes ? nodes : read_proc_nr_nodes();
for (p = list; p != NULL; p = p->next) {
if (!strcasecmp(addr, p->call) || !strcasecmp(addr, p->alias)) {
----------------------------------------------------------------------------
To apply to libax25-1.0.5 "cd" into libax25-1.0.5 and use
patch -p2 < <filename>
--
Regards
Richard
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Netromd ssid-0 broadcasts being ignored
2015-05-17 20:04 ` Richard Stearn
@ 2015-05-17 20:34 ` Paul Lewis
0 siblings, 0 replies; 5+ messages in thread
From: Paul Lewis @ 2015-05-17 20:34 UTC (permalink / raw)
To: Richard Stearn; +Cc: linux-hams
Hello Richard
Many THANKS for taking the time and interest
in fixing this callsign-0 (ssid 0 issue that I and others have.
In applying the patch on my ubuntu 14.4.1
to the unoffical source release of libax25-1.0.5
the C callsign (-0) now works
also the static routes for the -0 callsign entries
are NOW being updated correctly.
Patch installed today at 11:15 UK time
and been running correctly for the
past 9 hours.
I am happy now.
Next!
Now back to checking why Xrouter node links fails to connect
my system for the past many months, Pings replies work,
73 de Paul G4APL SysOP GB7CIP MB7NCR
In message <201505172004.t4HK4BQQ022187@ux4.g1sog>, Richard Stearn
<richard@rns-stearn.demon.co.uk> writes
>Paul Lewis did scribe:
>>
>> Hi All
>>
>> Since I moved to the latest netromd code in 2013-2015
>> I have notice that there have been changes to the ssid-0 of
>> nodes.
>>
>> Examples
>>
>> 1) issuing a C GB7BA fails. GB7BA-0 works
>> C GB7CIP fails GB7CIP-0 works
>>
>
>Hi Paul
>
>Try this patch against libax25-1.0.5, it is my attempt a reverting the
>"strip -0" change in recent versions of libax25 :
>
>----------------------------------------------------------------------------
>diff -ru reference/libax25-1.0.5/lib/ax25/axconfig.c
>modified/libax25-1.0.5/lib/ax25/axconfig.c
>--- reference/libax25-1.0.5/lib/ax25/axconfig.c 2014-11-07
>17:41:26.000000000 +0000
>+++ modified/libax25-1.0.5/lib/ax25/axconfig.c 2015-05-16
>19:03:27.000000000 +0100
>@@ -238,8 +238,8 @@
> strupr(call);
> found = 0;
> char *cp;
>- if ((cp = strstr(call, "-0")) != NULL)
>- *cp = '\0';
>+
>+
> for (;ifcalls && *ifcalls; ++ifcalls, ++ifdevs) {
> if (strcmp(call, *ifcalls) == 0) {
> found = 1;
>diff -ru reference/libax25-1.0.5/lib/ax25/axutils.c
>modified/libax25-1.0.5/lib/ax25/axutils.c
>--- reference/libax25-1.0.5/lib/ax25/axutils.c 2014-11-07
>17:41:26.000000000 +0000
>+++ modified/libax25-1.0.5/lib/ax25/axutils.c 2015-05-15
>17:22:35.000000000 +0100
>@@ -199,17 +199,14 @@
> *s++ = c;
> }
>
>- /* Convention is: -0 suffixes are NOT printed */
>- if (a->ax25_call[6] & 0x1E) {
>- *s++ = '-';
>-
>- if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
>- *s++ = '1';
>- n -= 10;
>- }
>- *s++ = n + '0';
>- }
>+ *s++ = '-';
>
>+ if ((n = ((a->ax25_call[6] >> 1) & 0x0F)) > 9) {
>+ *s++ = '1';
>+ n -= 10;
>+ }
>+
>+ *s++ = n + '0';
> *s++ = '\0';
>
> return buf;
>diff -ru reference/libax25-1.0.5/lib/ax25/nrconfig.c
>modified/libax25-1.0.5/lib/ax25/nrconfig.c
>--- reference/libax25-1.0.5/lib/ax25/nrconfig.c 2014-11-07
>17:41:26.000000000 +0000
>+++ modified/libax25-1.0.5/lib/ax25/nrconfig.c 2015-05-16
>19:03:45.000000000 +0100
>@@ -216,8 +216,8 @@
> strupr(alias);
>
> char *cp;
>- if ((cp = strstr(call, "-0")) != NULL)
>- *cp = 0;
>+
>+
>
> found = 0;
> for (;ifcalls && *ifcalls; ++ifcalls, ++ifdevs) {
>diff -ru reference/libax25-1.0.5/lib/ax25/procutils.c
>modified/libax25-1.0.5/lib/ax25/procutils.c
>--- reference/libax25-1.0.5/lib/ax25/procutils.c 2014-11-07
>17:41:26.000000000 +0000
>+++ modified/libax25-1.0.5/lib/ax25/procutils.c 2015-05-16
>19:58:44.000000000 +0100
>@@ -70,6 +70,15 @@
> return buf;
> }
>
>+static char *strip_zero_ssid(char *call)
>+{
>+ char *cp;
>+
>+ if ((cp = strstr(call, "-0")) != NULL)
>+ *cp = 0;
>+ return call;
>+}
>+
> struct proc_ax25 *read_proc_ax25(void)
> {
> FILE *fp;
>@@ -336,6 +345,8 @@
> cp = buffer;
>
> safe_strncpy(new->call, token(&cp, space), 9);
>+ strip_zero_ssid(new->call);
>+
> safe_strncpy(new->alias, token(&cp, space), 6);
>
> new->w = safe_atoi(token(&cp, space));
>@@ -375,6 +386,7 @@
> break;
> if ((cp = nr_config_get_addr(name)) == NULL)
> break;
>+ strip_zero_ssid(cp);
> safe_strncpy(new->call, cp, 9);
> if ((cp = nr_config_get_alias(name)) == NULL)
> break;
>@@ -658,6 +670,7 @@
> static struct proc_nr_nodes n;
> struct proc_nr_nodes *p, *list;
>
>+ strip_zero_ssid(addr);
> list = nodes ? nodes : read_proc_nr_nodes();
> for (p = list; p != NULL; p = p->next) {
> if (!strcasecmp(addr, p->call) || !strcasecmp(addr, p->alias)) {
>----------------------------------------------------------------------------
>
>To apply to libax25-1.0.5 "cd" into libax25-1.0.5 and use
> patch -p2 < <filename>
>
--
paul@skywaves.demon.co.uk
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-05-17 20:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-15 8:14 Netromd ssid-0 broadcasts being ignored Paul Lewis
2015-05-16 15:50 ` David Ranch
2015-05-16 19:46 ` Richard Stearn
2015-05-17 20:04 ` Richard Stearn
2015-05-17 20:34 ` Paul Lewis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox