HELP! ;)
I'm trying to use the @me array in on_handshake(), but no matter what
I do I always get the error:
"Perl on_handshake(): @me contains no valid addresses"
even with this simple sub:
sub on_handshake
{
@me;
}
HELP! ;)
I'm trying to use the @me array in on_handshake(), but no matter
what I do I always get the error:
"Perl on_handshake(): @me contains no valid addresses"
even with this simple sub:
sub on_handshake
{
@me;
}
I've never used this hook but as far as I understand you have to put the AKAs you want to present to the @me array. The array in your sub contains no addresses, so you receive the error message.
Hello Oli,
Wednesday September 08 2021, Oli wrote to All:
HELP! ;)
I'm trying to use the @me array in on_handshake(), but no matter
what I do I always get the error:
"Perl on_handshake(): @me contains no valid addresses"
even with this simple sub:
sub on_handshake
{
@me;
}
I've never used this hook but as far as I understand you have to put the AKAs you want to present to the @me array. The array in your sub contains no addresses, so you receive the error message.
HELP! ;)
I'm trying to use the @me array in on_handshake(), but no matter
what I do I always get the error:
"Perl on_handshake(): @me contains no valid addresses"
even with this simple sub:
sub on_handshake
{
@me;
}
I've never used this hook but as far as I understand you have to
put the AKAs you want to present to the @me array. The array in
your sub contains no addresses, so you receive the error message.
The side effects are a bit confusing:
sub on_handshake
{
Log(3, "<<< on_handshake() >>>");
}
sub after_handshake
{
Log(3, "<<< after_handshake() >>> @me");
}
+ 08:43 [1459] outgoing session with 127.0.0.1:24554
- 08:43 [1459] <<< on_handshake() >>>
+ 08:43 [1459] Perl on_handshake(): @me contains no valid addresses
- 08:43 [1459] OPT CRAM-MD5-fffdf8c077e8c9b94ce2e83d8da0a8ee
[...]
- 08:43 [1459] session in CRYPT mode
- 08:43 [1459] <<< after_handshake() >>> 2000:1/2@fakenet
4000:1/1@testnet
I'm not sure if this is considered to be expected behavior or a bug?
The side effects are a bit confusing:
sub on_handshake
{
Log(3, "<<< on_handshake() >>>");
}
sub after_handshake
{
Log(3, "<<< after_handshake() >>> @me");
}
+ 08:43 [1459] outgoing session with 127.0.0.1:24554
- 08:43 [1459] <<< on_handshake() >>>
+ 08:43 [1459] Perl on_handshake(): @me contains no valid addresses
- 08:43 [1459] OPT CRAM-MD5-fffdf8c077e8c9b94ce2e83d8da0a8ee
[...]
- 08:43 [1459] session in CRYPT mode
- 08:43 [1459] <<< after_handshake() >>> 2000:1/2@fakenet
4000:1/1@testnet
I'm not sure if this is considered to be expected behavior or a
bug?
Well, from my POV the binkd behavior looks logical here. If you specified the values of the @me array, then only the AKA specified in that array would be presented. Since you did not specify any values in @me, binkd presented all of your AKAs during the handshake. In after_handshake() hook, you see the AKAs that were presented during the handshake.
"Perl on_handshake(): @me contains no valid addresses" is here rather not an error message but a warning.
HELP! ;)
I'm trying to use the @me array in on_handshake(), but no matter what I
do I always get the error:
"Perl on_handshake(): @me contains no valid addresses"
even with this simple sub:
sub on_handshake
{
@me;
}
+ 08 Sep 09:45:26 [51014] incoming session with unknown
- 08 Sep 09:45:27 [51014] VER binkd/1.1a-112/Linux binkp/1.1
+ 08 Sep 09:45:27 [51014] addr: 4000:1/1@testnet
+ 08 Sep 09:45:27 [51014] Perl on_handshake(): @me contains no valid addresses
- 08 Sep 09:45:27 [51014] hiding aka 2000:1/2@fakenet
Is this a bug or how do I use @me? The perlhooks documentation says
5) on_handshake()
- for server called after receiving remote addresses (before addr is sent) - best for hide_aka and present_aka logic :-)
- return non-empty string to abort session with that reason
otherwise, if @me is defined present @me as our akas
The error message is from perlhooks.cstate->> pAddr[n++] = addr;
if ((me = perl_get_av("me", FALSE)) != NULL) {
FTN_ADDR addr;
int n = 0, N = av_len(me) + 1;
if (N > 0) state->pAddr = xalloc(N*sizeof(FTN_ADDR));
for (i = 0; i < N; i++) {
svp = av_fetch(me, i, FALSE);
if (svp == NULL) continue;
if (!parse_ftnaddress(SvPV(*svp, len), &addr, cfg->pDomains.first)) continue;
exp_ftnaddress(&addr, cfg->pAddr, cfg->nAddr, cfg->pDomains.first);
}state->> nAddr = n;
if (n == 0) Log(LL_WARN, "Perl on_handshake(): @me contains no valid addresses");
}
---
* Origin: 1995| Invention of the Cookie. The End. (2:280/464.47)
Hey Paul, if your editor supports comment linking, here's the start of an interesting exchange of messages regarding Perl hooks.
If it does not, you have the date and time, it started, below. Maybe that can help you find the chain, 140 messages ago.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 410 |
Nodes: | 16 (2 / 14) |
Uptime: | 91:29:01 |
Calls: | 8,583 |
Calls today: | 7 |
Files: | 13,228 |
Messages: | 5,933,471 |