Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.MAIL.;NAMES needs reparsing when IP/Chaos addresses change (e.g. for INQUIR to work) #2330

Closed
bictorv opened this issue Aug 30, 2024 · 4 comments · Fixed by #2337
Closed
Assignees

Comments

@bictorv
Copy link
Contributor

bictorv commented Aug 30, 2024

Typically, your system is set up to handle INQUIR updates locally, by defining UPDATE-ITS-INQUIR using UPDATE-INQUIR@DB (where DB is your local ITS name) in .MAIL.;NAMES > (henceforth NAMES).

If you change only the IP address of your ITS (after running COMSAT at least once, and update your H3TEXT accordingly, but not NAMES since the ITS name wasn't changed), INQUIR will still attempt to send updates to your old IP address, which typically fails.

The reason for this is that COMSAT uses the "compiled" version of NAMES (named .MAIL.; LIST EQV) if the "source file" (NAMES) hasn't been updated (by checking file creation date), and the compilation (for efficiency) saves the IP (or Chaos) addresses of hosts used in the source file, rather than their names. If NAMES has been updated, or the compiled file is missing, the source is recompiled. (See EQVCHK in COMSAT.)

In order to make COMSAT use the updated address, a workaround could be to make SYSHST;H3MAKE (or SYSHST;HOSTS3) force COMSAT to regenerate LIST EQV, e.g. by stopping COMSAT, removing LIST EQV, and restarting COMSAT (which happens every hour through DRAGON;HOURLY CNAVRL, but why wait?).

Before you suggest that COMSAT could check if the local host address has changed and if so recompile NAMES, note that the problem also occurs for any other host names in NAMES which had their addresses updated.

The suggested workaround wouldn't help if host/address translation was done using DNS or HOSTAB, but we're not there yet so let's keep it simple.

Thoughts?

@bictorv
Copy link
Contributor Author

bictorv commented Aug 30, 2024

And of course the standard problem (above) could be avoided by defining UPDATE-ITS-INQUIR using just UPDATE-INQUIR (without a host), but the general problem is still there.

Another workaround would be to let COMSAT check if SYSBIN;HOSTS3 > is created later than LIST EQV and then recompile NAMES. Then H3MAKE would only need to restart COMSAT after the compilation finishes, without messing with the EQV file itself.

@eswenson1
Copy link
Member

eswenson1 commented Aug 30, 2024

I like your last suggestion: compare modification timestamp of sysbin;hosts3 > and recompile the EQV list (.mail.;names >) if later than compiled version.

Can COMSAT do that in its main loop without shutting dow ?

@bictorv
Copy link
Contributor Author

bictorv commented Aug 30, 2024

Can COMSAT do that in its main loop without shutting dow ?

Don't know, and I guess the effect would depend on the size of NAMES (and thus the time to recompile it). We can try it!

@bictorv bictorv self-assigned this Sep 3, 2024
@bictorv bictorv changed the title For INQUIR to work, .MAIL.;NAMES needs reparsing when IP address changes .MAIL.;NAMES needs reparsing when IP/Chaos addresses change (e.g. for INQUIR to work) Sep 3, 2024
@bictorv
Copy link
Contributor Author

bictorv commented Sep 4, 2024

Can COMSAT do that in its main loop without shutting dow ?

Don't know, and I guess the effect would depend on the size of NAMES (and thus the time to recompile it). We can try it!

It can (and does) to that (every now and then) already, so it will be done also now. The slowdown of checking the HOSTS3 file should be negligible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants