pat icon indicating copy to clipboard operation
pat copied to clipboard

Ability to specify which addresses to request messages on behalf of

Open martinhpedersen opened this issue 2 years ago • 4 comments

Initial discussion: https://groups.google.com/g/pat-users/c/5G1JIEyFXe4 (ping @bseidenberg).

The B2F protocol allows for specifying which addresses to request messages on behalf of through the ;FW command. This is not limited to tactical addresses, and there is nothing in the protocol specifying that the local station's primary address must be included. As a result, the protocol and Winlink CMS allows to request messages on behalf of arbitrary addresses as long as the user can provide the correct credentials ("secure login" password).

It's not yet clear to me how to wrap this up as an intuitive feature, but if done properly I think this might be very powerful in some scenarios.

Some use cases that comes to mind:

  • Request messages for tactical address(es) only. (ref initial discussion)
  • Request messages on behalf of a third party's account, while using the operator's callsign to identify the station "on air".
  • P2P relaying. Being able to receive someone else's traffic with the intent to forward it to the final recipient. E.g. "man in the middle" relays.

To get started with some experimentation, I'm going to add an environment variable (FW_AUX_ONLY_EXPERIMENT=1) limiting message reception to the auxiliary addresses defined in the config. This will hopefully give us some insights as to how it behaves in the real world.

martinhpedersen avatar Nov 03 '23 15:11 martinhpedersen

@bseidenberg - I've pushed this to the develop branch now, and it will also be included in the next release (v0.15.1) 🙂 I don't think we need to rush this, so take your time testing with the experimental env variable. Please share your experience along the way 😄

martinhpedersen avatar Nov 04 '23 11:11 martinhpedersen

@martinhpedersen Will do, and thank you! I plan on picking this up soon-ish.

bseidenberg avatar Nov 05 '23 05:11 bseidenberg

Received the below email from WDT just now. The reasoning makes sense to me. I'll remove the experiment in the next release.

Hi Martin, The WDT changed the CMS backend to disallow this feature, Pat will need to change.

On a connection to the CMS, the first parm of the FW command must be the login call, which has to be a legit Ham call. You cannot just pull a tactical address this way anymore. This was deemed a security issue. You will now get the following error:

;WARNING: ;FW: first callsign does not match login callsign: ;FW: SLOECC-6

*** [418] Protocol error - response to proposals does not match.

*** Disconnecting

-Scott

martinhpedersen avatar Oct 30 '25 17:10 martinhpedersen

Hey Martin:

Yeah, that unfortunately came out of a conversation that Doug and I were having with Scott. :(

We are still very interested in this functionality, according to Scott, the only way to do this is to

look at any pending messages, the PM command, and associated proposals, FC commands, parse the call signs and MID, and then respond to the proposals with a FS command indicating which messages should be sent (Y response) and which should be held (H response). Note that the PM and FC may be in a different order, so you have to go by the MID with the FS response. This is all (more or less) documented here: https://winlink.org/B2F

I will need to find some time to look into implementing this but I'll try to get to when I can.

bseidenberg avatar Nov 06 '25 02:11 bseidenberg