mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +00:00
Make BUGHST, TCPGAT, DOMGAT, HDRGAT and GATHST be settable in NAMES.
This commit is contained in:
parent
ac4087ffd6
commit
85b2050c82
3
Makefile
3
Makefile
@ -372,7 +372,8 @@ $(OUT)/syshst/$(H3TEXT): build/$(H3TEXT)
|
||||
|
||||
$(OUT)/_mail_/$(NAMES): build/$(NAMES)
|
||||
$(MKDIR) $(OUT)/_mail_
|
||||
$(SED) -e 's/%MCHN%/$(MCHN)/' < $< > $@
|
||||
$(SED) -e 's/%MCHN%/$(MCHN)/' \
|
||||
-e 's/%GW%/$(GW)/' < $< > $@
|
||||
|
||||
$(KLH10):
|
||||
cd tools/klh10; \
|
||||
|
||||
@ -222,10 +222,7 @@ expect ":KILL"
|
||||
|
||||
respond "*" "comsat\033j"
|
||||
respond "*" "\033l.mail.;comsat bin\r"
|
||||
respond "*" "bughst/$ip\r"
|
||||
type "domgat/$gw\r"
|
||||
type "tcpgat/$gw\r"
|
||||
type "debug/0\r"
|
||||
respond "*" "debug/0\r"
|
||||
type "xvers/0\r"
|
||||
type "purify\033g"
|
||||
respond ":PDUMP DSK:.MAIL.;COMSAT LAUNCH" "\r"
|
||||
|
||||
@ -25,6 +25,22 @@
|
||||
(SYS-OPERATING-TROUBLE (EQV-LIST %MCHN%-ADMIN))
|
||||
(MAGIC-DRAGON-KEEPER (EQV-LIST %MCHN%-ADMIN))
|
||||
|
||||
; Gateways and bug host. To set a value, use (EQV-LIST @host), where
|
||||
; host is a known host name, or an (octal) Chaosnet address, or
|
||||
; an IP address such as 192.168.1.1. Remember the @.
|
||||
; *COMSAT-TCP-GATEWAY sets TCPGAT, which is used for all non-Chaosnet mail.
|
||||
(*COMSAT-TCP-GATEWAY (EQV-LIST @%GW%))
|
||||
; *COMSAT-DOMAIN-GATEWAY sets DOMGAT, which is used as a relay
|
||||
; for all unknown hostnames.
|
||||
(*COMSAT-DOMAIN-GATEWAY (EQV-LIST @%GW%))
|
||||
; *COMSAT-BUGHOST sets BUGHST: where to send BUG mail which isn't specified
|
||||
; below. Default is the local host.
|
||||
; *COMSAT-HEADER-GATEWAY sets HDRGAT, which is used in headers to create
|
||||
; user%host@HDRGAT headers on outgoing mail through relays.
|
||||
; *COMSAT-GATEWAY-HOST sets GATHST which is used to set the default
|
||||
; HDRGAT, TCPGAT, and DOMGAT for Chaos-only hosts. It has no effect on
|
||||
; Internet-connected hosts. It's better to set the entries above explicitly.
|
||||
|
||||
; Mail maintenance stuff. Do not fuck with this.
|
||||
(BUG-MAIL (EQV-LIST BUG-QMAIL))
|
||||
(BUG-MAILER (EQV-LIST BUG-QMAIL))
|
||||
@ -2296,6 +2296,8 @@ INIT10: CALL SCOPN ; Initialize SC statistics channel.
|
||||
CALL MGCFIX ; Fix whatever.
|
||||
SETOM GCQFLG ; Garbage collect the queues when convenient
|
||||
|
||||
CALL MYGTWS ;Set up gateways etc
|
||||
|
||||
; Must initialize Schedule List. This implies setting up
|
||||
; initial requests for any reminders or network sites which
|
||||
; are queued.
|
||||
@ -2307,6 +2309,73 @@ INIT10: CALL SCOPN ; Initialize SC statistics channel.
|
||||
; sleep...
|
||||
JRST WAKEUP
|
||||
|
||||
;; Set up BUGHST, TCPGAT, DOMGAT and GATHST from entries in NAMES.
|
||||
;; Get each special name, and update the corresponding setting if found.
|
||||
MYGTWS: PUSH P,EQVTIB ; Save time of EQV file last loaded
|
||||
CALL EQVCHK ; Update EQV if needed
|
||||
POP P,A
|
||||
CAME A,EQVTIB ; Same EQV time? Then do the update
|
||||
RET ; If different, EQVCHK already called MYGTW0
|
||||
; Call here from EQVCHK if EQV was updated.
|
||||
MYGTW0: MOVE A,[ASCNT [*COMSAT-BUGHOST]]
|
||||
CALL MYGTW
|
||||
MOVEM A,BUGHST
|
||||
MOVE A,[ASCNT [*COMSAT-TCP-GATEWAY]]
|
||||
CALL MYGTW
|
||||
MOVEM A,TCPGAT
|
||||
MOVE A,[ASCNT [*COMSAT-DOMAIN-GATEWAY]]
|
||||
CALL MYGTW
|
||||
MOVEM A,TCPGAT
|
||||
MOVE A,[ASCNT [*COMSAT-GATEWAY-HOST]]
|
||||
CALL MYGTW
|
||||
MOVEM B,GATHST
|
||||
MOVE A,[ASCNT [*COMSAT-HEADER-GATEWAY]]
|
||||
CALL MYGTW
|
||||
MOVEM A,HDRGAT
|
||||
;; Special hackery for header gw
|
||||
SKIPN B,HDRGAT
|
||||
RET
|
||||
MOVE A,[440700,,GATNAM] ; Is there, get its name for header munging
|
||||
CALL RESOLV"HSTSRC
|
||||
JSR AUTPSY ; Better find it if are using it!
|
||||
RET
|
||||
|
||||
;; Call with ASCNT in A. Returns +1 with address in A, or +2 if no match found.
|
||||
MYGTW: PUSHAE [B,C,D]
|
||||
MOVE D,A ;Save arg
|
||||
MOVE B,[ASCNT [*MSG]]
|
||||
CALL RCPEQV ;Get LP in A
|
||||
JRST [ SKIPE DEBUG
|
||||
PSTAT (,("No "),TC(D),(" found"))
|
||||
JRST MYGTWZ ]
|
||||
SKIPE DEBUG
|
||||
PSTAT (,("Found "),TC(D))
|
||||
PUSH P,L ;Save LSE
|
||||
MOVE L,$ARLOC+EQVAR ;Make it current LSE
|
||||
FINDA B,[A$RNAM,,[LISTAR(A)+1]] ; Get name
|
||||
SETZ B,
|
||||
FINDA C,[A$RHST,,[LISTAR(A)+1]] ; Get host
|
||||
TDZA C,C ; none
|
||||
MOVE C,LISTAR(C)+1 ; get its address
|
||||
SKIPN C
|
||||
JRST [ PSTAT (,("Warning: "),TC(D),(" defined but no host part given, or unknown host"))
|
||||
POP P,L
|
||||
JRST MYGTWZ ]
|
||||
SKIPN B
|
||||
JRST MYGTW2
|
||||
HLRZ B,LISTAR(B)+1 ;get name part length
|
||||
SKIPE B
|
||||
PSTAT (,("Note: Only host part needed for "),TC(d))
|
||||
MYGTW2: SKIPE DEBUG
|
||||
PSTAT (,TC(D),(" name len "),DEC(B),(" host "),HST(C),(" = "),OCT(C))
|
||||
MYGTW9: MOVE A,C ;Return its address
|
||||
POP P,L ;Restore LSE
|
||||
POPAE [D,C,B] ;and some acs
|
||||
RET ;and return +1
|
||||
MYGTWZ: POPAE [D,C,B] ;Restore some acs
|
||||
SETZ A, ;No address to return
|
||||
JRST POPJ1 ; and return +2 (not found)
|
||||
|
||||
SUBTTL INIT - Time checking
|
||||
|
||||
;;; The following performs follow-up checking on system time, after
|
||||
@ -2438,7 +2507,7 @@ HN$ML==:<HNCHA 3133>
|
||||
HN$LCS==:<HNCHA 15044> ; LCS.MIT.EDU mail relay machine
|
||||
|
||||
; Magic address to drop into TCPGAT if we're a chaos-only machine.
|
||||
GATHST: HN$LCS
|
||||
LVAR GATHST: HN$LCS
|
||||
|
||||
; MTMHNG - Time Hanger... called immediately after determining that system
|
||||
; doesn't know time. If running under DDT, will .VALUE appropriate
|
||||
@ -3000,6 +3069,7 @@ EQVCH3: CALL EQVGOB ; Attempt compile
|
||||
STAT (,("Note: Backup failed... dying."))
|
||||
JSR AUTPSY ; Refuse to run without beloved EQV file!
|
||||
EQVCH7: STAT (,("Note: EQV file compiled."))
|
||||
CALL MYGTW0 ; Update gateways and BUGHST is case of changes.
|
||||
EQVCH9: POPAE P,[B,A]
|
||||
.CLOSE DKIC,
|
||||
RET
|
||||
@ -3025,19 +3095,34 @@ EQVCH5: .IOPUSH DKIC, ; Save channel.
|
||||
|
||||
;;; EQVBIN/EQVGET - Slurp binary up into core.
|
||||
|
||||
LVAR EQVTIB: 0 ;has creation date of last binary file loaded
|
||||
|
||||
EQVBIN: PUSH P,A
|
||||
MOVE A,[EQVAR,,EQVFN1]
|
||||
CALL DFGET ; Get compiled EQV data file.
|
||||
JRST POPAJ ; Not there?
|
||||
CALL EQVGTB ; Keep track of creation date
|
||||
JRST POPAJ1
|
||||
|
||||
EQVGET: PUSH P,A ; Same but no erret provision
|
||||
MOVE A,[EQVAR,,EQVFN1]
|
||||
CALL DFGET
|
||||
JSR AUTPSY
|
||||
CALL EQVGTB ; Keep track of creation date
|
||||
POP P,A
|
||||
RET
|
||||
|
||||
;; Get creation date
|
||||
EQVGTB: .IOPUSH DKIC,
|
||||
MOVEI A,EQVFN1
|
||||
CALL OPNMFI
|
||||
JSR AUTPSY ; Can't not be there now?
|
||||
SYSCAL RFDATE,[CIMM DKIC ? CRET A]
|
||||
JSR SYSLOS
|
||||
MOVEM A,EQVTIB ;Save it
|
||||
.IOPOP DKIC,
|
||||
RET
|
||||
|
||||
|
||||
SUBTTL EQVGOB - Compilation of NAMES > ascii equivalence file
|
||||
|
||||
@ -3097,6 +3182,7 @@ EQVG95: FWRITE TMPC,[[No errors detected for file ],6F,EQAFR1,[ ],6F,EQAFR2,[
|
||||
CALL EQRPUT
|
||||
MOVE A,[EQVAR,,EQVFN1]
|
||||
CALL DFPUT ;write out the LSE
|
||||
CALL EQVGTB ; Keep track of creation date
|
||||
AOS -6(P) ;won, skip on return
|
||||
|
||||
EQVG99: POPAE P,[L,E,D,C,B,A] ;return
|
||||
@ -8469,7 +8555,7 @@ RXPB90: AOS -3(P)
|
||||
RET
|
||||
|
||||
;; Kludge -- magic host address which can deal with BUG-RANDOM-PROGRAM
|
||||
BUGHST: 0 ; If zero, use local host
|
||||
LVAR BUGHST: 0 ; If zero, use local host
|
||||
|
||||
SUBTTL RXPERR - send error message after expansion/header.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user