commit 8d2a5c080b45205b7b4958ce84657123d30e0122 Author: Deon George Date: Mon Aug 10 08:13:39 2020 +1000 Initial commit diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..8574067 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,19 @@ +image: docker:latest + +stages: +- build + +variables: + VERSION: latest-${ARCH} + CACHETAG: build-${ARCH} + DOCKER_HOST: tcp://docker:2375 + +services: +- docker:dind + +before_script: +- docker info +- docker version +- echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin + +include: .gitlab-docker.yml diff --git a/.gitlab-docker.yml b/.gitlab-docker.yml new file mode 100644 index 0000000..7a6e017 --- /dev/null +++ b/.gitlab-docker.yml @@ -0,0 +1,33 @@ +armv7l:build: + variables: + ARCH: armv7l + stage: build + image: docker:latest + script: + - if [ -f init ]; then chmod 500 init; fi + - ([ -z "$REFRESH" ] && docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG}) || echo "true" + - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} . + - docker push ${CI_REGISTRY_IMAGE}:${VERSION} + - docker push ${CI_REGISTRY_IMAGE}:${CACHETAG} + tags: + - docker + - master + only: + - master + +x86_64:build: + variables: + ARCH: x86_64 + stage: build + image: docker:latest + script: + - if [ -f init ]; then chmod 500 init; fi + - ([ -z "$REFRESH" ] && docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG}) || echo "true" + - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} . + - docker push ${CI_REGISTRY_IMAGE}:${VERSION} + - docker push ${CI_REGISTRY_IMAGE}:${CACHETAG} + tags: + - docker + - master + only: + - master diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9167f92 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,117 @@ +# NAME leenooks/fidohub +# VERSION latest + +FROM debian:buster-slim + +# Set the default timezone for the container +RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime + +RUN apt-get update \ + && apt-get install -yyq curl ifcico crashmail jamnntpd xinetd nginx supervisor cron procps less logrotate \ + zip unzip arc arj unrar-free lhasa p7zip vim libtimedate-perl \ + && mkdir /etc/jamnntpd && mv /etc/jamnntpd.* /etc/jamnntpd/ && mv /etc/jamnntpd /etc/jamnntpd.orig \ + && apt-get -y purge exim4-base \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# Add in Leenooks' apt repository +RUN curl -s http://apt.leenooks.net/stretch/setup.sh | sh +RUN curl -s http://apt.leenooks.net/buster/setup.sh | sh + +# Add ZeroTier +RUN echo "deb [trusted=yes] http://download.zerotier.com/debian/stretch stretch main" > /etc/apt/sources.list.d/zerotier.list + +# Leenooks Utils +RUN apt-get update \ + && apt-get install -y binkd=1.1a-109 makenl goldedplus qico zerotier-one \ + && mv /etc/binkd /etc/binkd.orig \ + && mv /etc/qico /etc/qico.orig \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN apt-get update \ + && apt-get install -yqq git make gcc zlib1g-dev libperl-dev libbz2-dev ncurses-dev automake flex bison \ + && cd /tmp && git clone https://github.com/huskyproject/huskybse.git \ + && cd huskybse \ + && sed -e 's#CFGDIR=$(PREFIX)/etc/fido#CFGDIR=/etc/ftn#' -i huskymak.cfg \ + && sed -e 's#PERL=0#PERL=1#' -i huskymak.cfg \ + && sed -e 's#USE_HPTZIP=0#USE_HPTZIP=1#' -i huskymak.cfg \ + && git clone https://github.com/huskyproject/huskylib.git \ + && cd huskylib && make install && cd .. \ + && git clone https://github.com/huskyproject/smapi.git \ + && cd smapi && make install && cd .. \ + && git clone https://github.com/huskyproject/fidoconf.git \ + && cd fidoconf && make && make install && cd .. \ + && git clone https://github.com/huskyproject/areafix.git \ + && cd areafix && make install && cd .. \ + && git clone https://github.com/huskyproject/hptzip.git \ + && cd hptzip && make install && cd .. \ + && git clone https://github.com/huskyproject/hpt.git \ + && cd hpt && make install && cd .. \ + && cp -Ra hpt/misc /usr/local/include/hpt \ + && git clone https://github.com/huskyproject/htick.git \ + && cd htick && make install && cd .. \ + && cp -Ra htick/misc /usr/local/include/htick \ + && git clone https://github.com/huskyproject/nltools.git \ + && cd nltools && make install && cd .. \ + && git clone https://github.com/huskyproject/hptkill.git \ + && cd hptkill && make install && cd .. \ + && git clone https://github.com/huskyproject/areastat.git \ + && cd areastat && echo 'ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggZjRmZTgxYi4uODgzZmRkYSAx\ +MDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTI2LDcgKzI2LDcgQEAgZW5k\ +aWYKIGlmZXEgKCQoU0hPUlROQU1FKSwgMSkKICAgTElCUyAgPSAtTCQoTElCRElSKSAtbGZpZG9j\ +b25mIC1sc21hcGkKIGVsc2UKLSAgTElCUyAgPSAtTCQoTElCRElSKSAtbGZpZG9jb25maWcgLWxz\ +bWFwaQorICBMSUJTICA9IC1MJChMSUJESVIpIC1sZmlkb2NvbmZpZyAtbHNtYXBpIC1saHVza3kK\ +IGVuZGlmCiAKIENERUZTPS1EJChPU1RZUEUpIC1EVU5BTUU9XCIkKFVOQU1FKVwiICQoQUREQ0RF\ +RlMpCkBAIC04MSw3ICs4MSw4IEBAIGlmZGVmIEhUTUxESVIKIGVuZGlmCiBpZmRlZiBNQU5ESVIK\ +IAktJChNS0RJUikgJChNS0RJUk9QVCkgJChNQU5ESVIpJChESVJTRVApbWFuMQotCWZvciBtIGlu\ +ICQoTUFOUyk7IGRvICQoSU5TVEFMTCkgJChJTU9QVCkgJCRtLmd6ICQoTUFORElSKSQoRElSU0VQ\ +KW1hbmBlY2hvICQkbSB8IHNlZCBzLy4qXFwuLy9gLzsgZG9uZQorCS0kKE1LRElSKSAkKE1LRElS\ +T1BUKSAkKE1BTkRJUikkKERJUlNFUCltYW41CisJZm9yIG0gaW4gJChNQU5TKTsgZG8gJChJTlNU\ +QUxMKSAkKElNT1BUKSAkJG0uZ3ogJChNQU5ESVIpJChESVJTRVApbWFuYGVjaG8gJCRtIHwgc2Vk\ +IHMvLipcXFxcLi8vYC87IGRvbmUKIGVuZGlmCiAKIHVuaW5zdGFsbDoK '|base64 -d|git apply \ + && make install && cd .. \ + && git clone https://github.com/huskyproject/hptutil.git \ + && cd hptutil && make install && cd .. \ + && git clone https://github.com/huskyproject/fidostat.git \ + && cd fidostat && make && make install && cd .. \ + && cd /tmp && rm -rf /tmp/huskybse \ + && apt-get -y purge git make gcc zlib1g-dev libperl-dev libbz2-dev ncurses-dev automake flex bison \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +# && git clone https://github.com/huskyproject/msged.git \ +# && git clone https://github.com/huskyproject/cfroute.git \ ? +# && git clone https://github.com/huskyproject/lxtrack.git \ ? +# && git clone https://github.com/huskyproject/bsopack.git \ ? +# && git clone https://github.com/huskyproject/emailpkt.git \ ? +# && git clone https://github.com/huskyproject/mpost.git \ ? +# && git clone https://github.com/huskyproject/fidoroute.git \ +# && git clone https://github.com/huskyproject/hptzip.git \ + +# Other tools +#RUN apt-get update \ +# && apt-get install -yqq libtimedate-perl \ +# && apt-get -y autoremove \ +# && apt-get clean \ +# && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +COPY nginx/binkps.conf /etc/nginx/modules-enabled/ +COPY nginx/binkps.* /etc/nginx/conf.d/ssl/ +COPY xinetd.d /etc/xinetd.d/ +COPY logrotate.d /etc/logrotate.d/ +COPY supervisord.d /etc/supervisor/conf.d/ +COPY jamnntpd.orig/config /etc/jamnntpd.orig/ +COPY ftn.orig /etc/ftn.orig/ +COPY init /sbin/init +COPY golded /usr/local/bin +COPY goldkeys.cfg /etc + +EXPOSE 119 24553 24554 60177 60179 +VOLUME [ "/var/lib/zerotier-one" ] +VOLUME [ "/etc/binkd","/etc/ifmail","/etc/ftn","/etc/jamnntpd","/etc/qico","/fido" ] +VOLUME [ "/etc/cron.hourly","/etc/cron.daily","/etc/cron.weekly","/etc/cron.monthly" ] +ENTRYPOINT [ "/sbin/init" ] +CMD [ "/usr/bin/supervisord","-c","/etc/supervisor/supervisord.conf","-n" ] diff --git a/ftn.orig/areastat.cfg b/ftn.orig/areastat.cfg new file mode 100644 index 0000000..d4f1388 --- /dev/null +++ b/ftn.orig/areastat.cfg @@ -0,0 +1,143 @@ +;===================== AreaStat 1.9.0 configuration file ====================== +;$Id$ +; +; The sequence of keywords can be any. +; +; The 'Area' keyword specifies area(s) for statistic. +; Amount of these keywords is not limited. +; +; Area +; +; name - echotag. +; type - msg, squish or jam +; path - path to MSG or filename without extension (JAM/SQUISH) +; out_file - statistics will be written in this file +; +; +; Name Type Path Out +; ---- ---- ----- ___ +; +Area 5090_94.POINTS squish d:\fido.bas\echo\94points 1.stt +Area MY.AREA jam d:\fido.bas\carbons\myarea~1 my.stt +;Area KRS.BUSINESS squish d:\fido.bas\echo\krsbus~1 2.stt +;Area KRS.FILEECHO squish d:\fido.bas\echo\krsfil~1 3.stt +;Area KRS.FLAME squish d:\fido.bas\echo\krsfla~1 4.stt +;Area KRS.LINK squish d:\fido.bas\echo\krslin~1 5.stt +;Area KRS.CARS squish d:\fido.bas\echo\krscar~1 6.stt +;Area KRS.HELP squish d:\fido.bas\echo\krshel~1 7.stt +;Area KRS.ROBOTS squish d:\fido.bas\echo\krsrob 8.stt +;Area KRS.SYSOP squish d:\fido.bas\echo\krssys~1 9.stt +;Area KRS.INTERNET squish d:\fido.bas\echo\krsint~1 10.stt +;Area KRS.SPORT squish d:\fido.bas\echo\krsspo~1 11.stt +;Area KRS.HARDWARE squish d:\fido.bas\echo\krshar~1 12.stt +;Area KRS.SOFTWARE squish d:\fido.bas\echo\krssof~1 13.stt +;Area KRS.MUSIC squish d:\fido.bas\echo\krsmus~1 14.stt +;Area KRS.MUSIC.FILES squish d:\fido.bas\echo\krsmus~2 15.stt +;Area MY.NETMAIL msg d:\fido.bas\netmail\tome 16.stt +; +; Period for statistics +; +; Stat_Period [m][w] +; +; Examples: +; +; Stat_Period 60 - statistics for 60 days +; Stat_Period w2 - statistics for 2 weeks +; Stat_Period m1 - statistics for 1 month +; +; +;Stat_Period w1 +;Stat_Period 3 +Stat_Period m1 +; +; Create statistics by name +; +By_Name +; +; Create statistics by From +; +By_From 100 +; +; Create statistics by To +; +By_To 100 +; +; Create statistics by From -> To +; +;By_FromTo 100 +; +; Create statistics by Total +; +By_Total 100 +; +; Create statistics by Size +; +By_Size 100 +; +; Create statistics by Quote Percent +; +By_QPercent 100 +; +; Create statistics by Subjects +; +Subj_By_Total 100 +; +; Create statistics by Date +; +By_Date +; +; Create statistics by Week Day +; +By_WDay +; +; Create statistics by Time +; +By_Time +; +;======================= Output PKT section ============================== +; +; Create pkt-file with statistics +; +Make_Pkt +; +; Maximal size of 1 message (bytes) +; +Pkt_Size 10240 +; +; Inbound path. By default - current folder +; +;Pkt_Inbound d:\fido\in +; +; From name +; +Pkt_FromName Statistics Maker +; +; To name +; +Pkt_ToName All +; +; Subj +; +Pkt_Subj Statistics +; +; Origination address of message +; +Pkt_OrigAddress 2:5090/94 +; +; Destination address of message +; +Pkt_DestAddress 2:5090/94 +; +; Pkt - password. By default is absent +; +;Pkt_Password PKTPASS +; +; Tearline of message, default is version string +; +;Pkt_Tearline My Tearline +; +; Origin of message +; +Pkt_Origin Automatically posted message +; +;=============================== END OF FILE ================================ diff --git a/ftn.orig/config b/ftn.orig/config new file mode 100644 index 0000000..558e83d --- /dev/null +++ b/ftn.orig/config @@ -0,0 +1,362 @@ +# sample fido config file + + +version 0.14 # test for new stripComment +Name hpt-HQ +Location Paderborn, GER +Sysop Matthias Tichy + +LogLevels 456789 + +Address 2:2432/645 +Address 44:4932/110 +Address 21:499/976 +Address 49:199/976 +Address 54:490/976 +Address 64:199/976 +Address 530:199/976 + +# This is taken from Serge Koghin's ParToss +# Hope he wouldn't be angry for this +# ATTENTION the commented lines are not tested by me (mtt) +# and will mostly be only useful on dos-systems + +Unpack "unzip -j -Loqq $a -d $p" 0 504b0304 +Unpack "\path\pkzipc -ext -dir=none -over=all -nozip -silent $a $p $f" 0 504b0304 +#Unpack "pkunzip -njCL $a -d $p $f" 0 504b0304 +#Unpack "pkzip25 -ext -silent -over=all -nofix -nozip $a $p $f" 0 504b0304 +Pack zip zip -9 -j -q $a $f + +Unpack "arc eno $a $p'*.*'" 0 1a + +#Unpack "pkunpak /r $a $p" 0 1a +#Pack arc pkpak -oct a $a $f + +#Unpack "pak e /wn $a $p" -2 fe +#Pack pak pak a $a $f + +#Unpack "lha e /m $a $p" 2 2d6c68 +#Pack lha lha a /o /m $a $f + +#Unpack "zoo e:O $a $p" 0 5a4f4f +#Pack zoo zoo a: $a $f + +#Unpack "arj e -+ -y $a $p" 0 60ea +# Unpack "cd $p && /usr/bin/unarj e $a > /dev/null" 0 60ea # for Linux +#Pack arj arj a -+ -e -y $a $f + +# *.rar +Unpack "unrar e -y -c- -inul $a $p $f" 0 52617221 +# rar-sfx/DOS +Unpack "unrar e -y -c- -inul $a $p $f" 28 52534658 +#Pack rar rar a -std -ep $a $f + +#Unpack "jar e -y $a $p" 14 1a4a61721b +#Pack jar jar a -y $a $f + +#Unpack "ha eyq $a" 0 4841 +#Pack ha ha a21eq $a $f + +# include /etc/fido/areas + +Link Matthias Schniedermeyer +Aka 2:2432/600 +ourAka 2:2432/645 +Password xxxxxxxxx +EchoMailFlavour Crash +AutoAreaCreate on +areafixAutoCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +AutoFileCreate on +forwardRequests on +Packer zip + +Link Matthias Schniedermeyer +Aka 44:4932/100 +ourAka 44:4932/110 +password xxxxxxxx +EchoMailFlavour Crash +AutoAreaCreate on +AutoFileCreate on +areafixAutoCreateDefaults -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +Packer zip + +Link Carsten Ellermann +Aka 2:2432/215 +ourAka 2:2432/645 +password xxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +autoFileCreate on + +Link Matthias Tichy +Aka 2:2432/646 +ourAka 2:2432/645 +Password xxxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +forwardPkts on + +Link Matthias Tichy +Aka 21:499/980 +ourAka 21:499/976 +Password xxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 21:499/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +forwardPkts on + +Link Matthias Tichy +Aka 49:199/980 +ourAka 49:199/976 +Password xxxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +forwardPkts on + +Link Matthias Tichy +Aka 54:490/980 +ourAka 54:490/976 +Password xxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +forwardPkts on + +Link Matthias Tichy +Aka 64:199/980 +ourAka 64:199/976 +Password xxxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 64:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +forwardPkts on + +Link Matthias Tichy +Aka 530:199/980 +ourAka 530:199/976 +Password xxxxxxxx +autoAreaCreate on +areafixAutoCreateDefaults -a 530:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 +forwardPkts on + +Link Matthias Born +Aka 2:240/6223 +ourAka 2:2432/645 +Password xxxxxxx +EchoMailFlavour hold +Packer zip + +Link Matthias Born +Aka 44:4932/120 +ourAka 44:4932/110 +Password xxxxxxx +EchoMailFlavour hold +Packer zip + +Link Sascha Silbe +Aka 2:2435/424 +ourAka 2:2432/645 +AutoFileCreate on +Password xxxxxxxx + +Link Sascha Silbe +Aka 54:490/963 +ourAka 54:490/976 +AutoFileCreate on +Password xxxxxxxxx + +Link Alfred Cleve +Aka 2:244/6260 +ourAka 2:2432/645 +password xxxxxxxxxxx +packer zip +EchoMailFlavour crash +autoAreaCreate on +areafixAutoCreateDefaults -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 + +; +++ FREEPNT-MARKE +++ + +#route crash 2:2433/1245 * +#route hold 2:2433/1247.100 2:2433/1247.100 +#route Crash 2:2433/1245 2:2433/* +#route hold noroute 2:2433/1245.* +#route crash host 2:2433/* +#route crash enc no-route * + +route hold noroute 2:2432/645.* +route hold noroute 2:240/6223.* +route crash noroute 2:2432/646 +route hold 44:4932/120 44:4932/120 44:4932/130 +Route crash 44:4932/100 44:* +Route crash 49:199/980 49:* +Route crash 54:490/980 54:* +Route crash 530:199/980 530:* + +Route normal 2:2435/424 2:2435/* + +Route crash 2:2432/646 * + +Inbound /home/mtt/fido/in/ +ProtInbound /home/mtt/fido/in.sec +LocalInbound /home/mtt/fido/in.loc +Outbound /home/mtt/fido/out/ +tempOutbound /home/mtt/fido/out.tmp +tempInbound /home/mtt/fido/in.tmp +#MsgBaseDir Passthrough +MsgBaseDir /home/mtt/fido/msgb +FileAreaBaseDir /home/mtt/fido/files + +public /home/mtt/fido/public +# public /home/mtt/fido/public2 + +# intab /home/mtt/fido/recode/outaltkoi8 +# outtab /home/mtt/fido/recode/outkoi8alt + +echotosslog /home/mtt/fido/echotoss.log +importlog /home/mtt/fido/import.log + +logFileDir /home/mtt/fido/hpt/linux +DupeHistoryDir /home/mtt/fido/dupes +NodelistDir /home/mtt/fido/nodelist +PassFileAreaDir /home/mtt/fido/passFileDir +magic /home/mtt/fido/magic +lockfile /home/mtt/fido/lock + +areafixhelp /home/mtt/fido/hpt/misc/areafix.hlp +FileFixHelp /home/mtt/fido/htick/misc/filefix.hlp + +AreafixReportsAttr loc pvt k/s npd dir +FilefixReportsAttr loc pvt k/s npd dir + +NodeList nodelist +DiffUpdate /home/mtt/fido/files/nodediff +NodeList unionnet +Nodelist geonode +Nodelist linuxnet +DiffUpdate /home/mtt/fido/files/lin44.node + +NetmailArea NetmailArea /home/mtt/fido/msgb/netmail -b msg +# NetmailArea NetmailArea /home/mtt/fido/msgb/net -b Squish +BadArea BadArea /home/mtt/fido/msgb/bad -b Squish +DupeArea DupeArea /home/mtt/fido/msgb/dupe -b Squish + +EchoArea 2432.points /home/mtt/fido/msgb/2432/points -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea 2432.Talk /home/mtt/fido/msgb/2432/talk -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea C_ECHO.ger /home/mtt/fido/msgb/c_echo_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea C_PLUSPLUS.ger /home/mtt/fido/msgb/c_plpl_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea binkley /home/mtt/fido/msgb/binkley -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea Binkley.ger /home/mtt/fido/msgb/binkley_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea hardrock.ger /home/mtt/fido/msgb/hardrock_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea linux.ger /home/mtt/fido/msgb/linux/ger -a 2:2432/645 -b Squish -p 14 -dupecheck move -dupeHistory 11 2:2432/646 +echoArea linux.develop.ger /home/mtt/fido/msgb/linux/develop_g -a 2:2432/645 -b Squish -dupeCheck move -dupeHistory 11 2:2432/646 +EchoArea os2.base.ger /home/mtt/fido/msgb/os2/base_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2.beta.ger /home/mtt/fido/msgb/os2/beta_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2bbs.ger /home/mtt/fido/msgb/os2/bbs_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2.debate.ger /home/mtt/fido/msgb/os2/debate_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2.install.ger /home/mtt/fido/msgb/os2/install_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea Os2.wps.ger /home/mtt/fido/msgb/os2/wps_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea Os2.prog.ger /home/mtt/fido/msgb/os2/prog_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea Os2.lan.ger /home/mtt/fido/msgb/os2/lan_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2.hw.ger /home/mtt/fido/msgb/os2/hw_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2.online.ger /home/mtt/fido/msgb/os2/online_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea os2.tec.ger /home/mtt/fido/msgb/os2/tec_g -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea OWL.Newfiles /home/mtt/fido/msgb/owl/newfiles -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea owl.announce /home/mtt/fido/msgb/owl/announce -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea owl.flea /home/mtt/fido/msgb/owl/flea -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea owlserver.news /home/mtt/fido/msgb/owl/snews -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea Paderborn.Flohmarkt /home/mtt/fido/msgb/pader/floh -a 2:2432/645 -b Squish -p 14 2:2432/600 +EchoArea Tolkien.ger /home/mtt/fido/msgb/tolkien_g -a 2:2432/645 -b Squish -dupeCheck move -p 14 2:2432/600 +EchoArea Schweden.ger /home/mtt/fido/msgb/schweden_g -a 2:2432/645 -b Squish -tinySB -p 14 2:2432/600 + +LocalArea carbonArea /home/mtt/fido/msgb/carbonArea -b Squish + +CarbonTo Matthias Tichy +CarbonCopy carbonArea + +EchoArea paderborn.mailbox /home/mtt/fido/msgb/paderborn.mailbox -a 2:2432/645 -b Squish -dupeCheck move -dupeHistory 11 -p 14 2:2432/600 +EchoArea owl.allfix /home/mtt/fido/msgb/owl.allfix -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea fidosoft.winpoint.ger /home/mtt/fido/msgb/fidosoft.winpoint.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea net_dev.ger /home/mtt/fido/msgb/net_dev.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea net_dev /home/mtt/fido/msgb/net_dev -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea fidosoft.ger /home/mtt/fido/msgb/fidosoft.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea linux.bbs /home/mtt/fido/msgb/linux.bbs -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.software /home/mtt/fido/msgb/linux.software -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.setup /home/mtt/fido/msgb/linux.setup -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.reg /home/mtt/fido/msgb/linux.reg -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea linux.netzwerk /home/mtt/fido/msgb/linux.netzwerk -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.announce /home/mtt/fido/msgb/linux.announce -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.hardware /home/mtt/fido/msgb/linux.hardware -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea darkness.info /home/mtt/fido/msgb/darkness.info -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea linux.coord /home/mtt/fido/msgb/linux.coord -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea 2432.nodes.info /home/mtt/fido/msgb/2432.nodes.info -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea linux.office /home/mtt/fido/msgb/linux.office -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.develop /home/mtt/fido/msgb/linux.develop -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea linux.x /home/mtt/fido/msgb/linux.x -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea 2432.nodes /home/mtt/fido/msgb/2432.nodes -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea fido2000.ger /home/mtt/fido/msgb/fido2000.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea java.ger /home/mtt/fido/msgb/java.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea ftsc_public /home/mtt/fido/msgb/ftsc_public -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646 +EchoArea BINKLEY.DEVELOP /home/mtt/fido/msgb/binkley.develop -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/215 + +FileArea binkley.dev /home/mtt/fido/files/binkley.dev -a 2:2432/645 -d "Binkleyterm Development: Source Diffs, Misc, stuff" 2:2432/215 +FileArea btxebos2 /home/mtt/fido/files/btxebos2 -a 2:2432/645 -d "Binkleyterm Development: Beta Binaries for OS/2" 2:2432/215 +FileArea btxebsrc /home/mtt/fido/files/btxebsrc -a 2:2432/645 -d "Binkleyterm Development: Beta Source" 2:2432/215 +FileArea btxebw32 /home/mtt/fido/files/btxebw32 -a 2:2432/645 -d "Binkleyterm Development: Beta Binaries for Win32" 2:2432/215 +EchoArea golded.ger /home/mtt/fido/msgb/golded.ger -b Squish -a 2:2432/645 -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea fidosoft.husky /home/mtt/fido/msgb/fidosoft.husky -b Squish -a 2:2432/645 -dupeCheck move -dupeHistory 11 2:2432/646 2:240/6223 +EchoArea darkness.points /home/mtt/fido/msgb/darkness.points -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea linux.fido.ger /home/mtt/fido/msgb/linux.fido.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646 +EchoArea FUSSBALL.GER /home/mtt/fido/msgb/fussball.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea PGP.GER /home/mtt/fido/msgb/pgp.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea HARDWARE.SCSI.GER /home/mtt/fido/msgb/hardware.scsi.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea TV.GER /home/mtt/fido/msgb/tv.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea CDWRITER.GER /home/mtt/fido/msgb/cdwriter.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea FASTECHO.GER /home/mtt/fido/msgb/fastecho.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea URTEILE.GER /home/mtt/fido/msgb/urteile.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea PRO_WRESTLING /home/mtt/fido/msgb/pro_wrestling -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea SPORT.EISHOCKEY.GER /home/mtt/fido/msgb/sport.eishockey.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea RAETSEL.GER /home/mtt/fido/msgb/raetsel.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea WRESTLING.GER /home/mtt/fido/msgb/wrestling.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea JAZZ.GER /home/mtt/fido/msgb/jazz.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea TV.SITCOM.GER /home/mtt/fido/msgb/tv.sitcom.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea FAEKAL.GER /home/mtt/fido/msgb/faekal.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea STEUER.GER /home/mtt/fido/msgb/steuer.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600 +EchoArea LINUX.TALK /home/mtt/fido/msgb/linux.talk -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100 +EchoArea LINUX /home/mtt/fido/msgb/linux -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646 2:240/6223 +EchoArea FTN.BACKBONE.INFO /home/mtt/fido/msgb/ftn.backbone.info -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646 +FileArea 24000 /home/mtt/fido/files/24000 -a 2:2432/645 2:2432/600 +FileArea NODEDIFF /home/mtt/fido/files/nodediff -a 2:2432/645 2:2432/600 +FileArea LIN44.NODE /home/mtt/fido/files/lin44.node -a 44:4932/110 44:4932/100 +FileArea LIN44.POINT /home/mtt/fido/files/lin44.point -a 44:4932/110 44:4932/100 +EchoArea GN.ALLGEMEIN /home/mtt/fido/msgb/gn.allgemein -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980 +EchoArea GN.ANNOUNCE /home/mtt/fido/msgb/gn.announce -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980 +EchoArea SN.GEW.IGMEDIEN.ALLG /home/mtt/fido/msgb/sn.gew.igmedien.allg -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.RECHT.ARB.URTEILE /home/mtt/fido/msgb/sn.recht.arb.urteile -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.RECHT.SOZ.DISKUSSION /home/mtt/fido/msgb/sn.recht.soz.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.RECHT.ARB.DISKUSSION /home/mtt/fido/msgb/sn.recht.arb.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.BETR.BR+PR /home/mtt/fido/msgb/sn.betr.br+pr -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.BETR.VEREINBARUNGEN /home/mtt/fido/msgb/sn.betr.vereinbarungen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea GN.CLUBS /home/mtt/fido/msgb/gn.clubs -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.KOO.VORSTELLUNG /home/mtt/fido/msgb/sn.koo.vorstellung -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.ALLGEMEIN /home/mtt/fido/msgb/sn.gew.allgemein -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.AKTUELL.TERMINE /home/mtt/fido/msgb/sn.aktuell.termine -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.KOO.TEST /home/mtt/fido/msgb/sn.koo.test -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.GHK /home/mtt/fido/msgb/sn.gew.ghk -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.AKTUELL.AKTIONEN /home/mtt/fido/msgb/sn.aktuell.aktionen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.BETR.BILDUNG /home/mtt/fido/msgb/sn.betr.bildung -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.INTERNATIONAL /home/mtt/fido/msgb/sn.gew.international -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.KOO.DISKUSSION /home/mtt/fido/msgb/sn.koo.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.HBV /home/mtt/fido/msgb/sn.gew.hbv -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.IGMETALL /home/mtt/fido/msgb/sn.gew.igmetall -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.JUGEND /home/mtt/fido/msgb/sn.gew.jugend -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea GN.CBM /home/mtt/fido/msgb/gn.cbm -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980 +EchoArea SN.KOO.WICHTIG /home/mtt/fido/msgb/sn.koo.wichtig -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.KOO.ANTRAEGE /home/mtt/fido/msgb/sn.koo.antraege -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.THESEN /home/mtt/fido/msgb/sn.gew.thesen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.OETV /home/mtt/fido/msgb/sn.gew.oetv -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.FRAUEN /home/mtt/fido/msgb/sn.frauen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.GEW.HBS /home/mtt/fido/msgb/sn.gew.hbs -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.ARB+SOZ.ALLGEMEIN /home/mtt/fido/msgb/sn.arb+soz.allgemein -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.AKTUELL.VORSCHAU /home/mtt/fido/msgb/sn.aktuell.vorschau -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.ARB+SOZ.ERWERBSLOS /home/mtt/fido/msgb/sn.arb+soz.erwerbslos -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.ARB+SOZ.DISKUSSION /home/mtt/fido/msgb/sn.arb+soz.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.BETR.ARBSCHU+UMWELT /home/mtt/fido/msgb/sn.betr.arbschu+umwelt -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea SN.BETR.ARBEIT+TECHNIK /home/mtt/fido/msgb/sn.betr.arbeit+technik -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980 +EchoArea GN.SYSOPS /home/mtt/fido/msgb/gn.sysops -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980 diff --git a/ftn.orig/filter.pl b/ftn.orig/filter.pl new file mode 100644 index 0000000..799b39b --- /dev/null +++ b/ftn.orig/filter.pl @@ -0,0 +1,250 @@ +# $Id$ +# Template for perl hook +# +# API functions: +# +# w_log([level, ]str); +# outputs a string to hpt log +# no printf() format, use sprintf()! +# +# crc32(str) +# returns CRC-32 of string +# +# alike(s1, s2) +# return Levenstein distance between parameters (smaller -> more alike) +# +# putMsgInArea(area, fromname, toname, fromaddr, toaddr, +# subject, date, attr, text, addkludges); +# post to first netmail area if area eq ""; +# set current date if date eq ""; +# set fromaddr to ouraka if fromaddr eq ""; +# attr -- binary or text string (i.e. "pvt loc k/s") (text form DEPRECATED!); +# date -- unixtime, as in time() +# addkludges can be: +# 0 not to add any kludges +# 1 to add required kludges (will add duplicates if they exist) +# 2 to add missing kludges (will never modify existing ones) +# 3 to update or add required kludges corresponding to addresses and flags +# required kludges are: (netmail) INTL, TOPT, FMPT; (all) FLAGS, MSGID +# +# myaddr() +# returns array of our addresses +# DEPRECATED! use @{$config{addr}} instead +# +# nodelistDir() +# returns nodelistDir from config +# DEPRECATED! use $config{nodelistDir} instead +# +# str2attr(att) +# converts attribute string to binary message attributes +# +# attr2str(attr) +# converts binary flags to string representation (Pvt Loc K/s) +# +# flv2str(flavour) +# converts binary flag, corresponding to flavour, to string (direct, crash) +# +# date2fts(time) +# converts unixtime to fts-1 format string ("dd mmm yy hh:mm:ss") +# +# fts2date(fts1) +# converts date in fts-1 format string to unixtime +# +# mktime(sec, min, hour, wday, mon, year[, wday, yday[, dst]]) +# makes unixtime like POSIX mktime, but year: +# year 0..69 -> 2000..2069, 70..1900 -> 1970..3800, other -> as-is +# month'es: 0 - January, 1 - February, ..., 11 - December (as in POSIX) +# dst - daylight saving time flag (1 or 0) +# WARNING: dst can result in +/-1 hour mismatch; use mktime(localtime) for +# correct unixtime +# +# strftime(format, unixtime) +# strftime(format, sec, min, hour, wday, mon, year[, wday, yday[, dst]]) +# converts unixtime or a time structure to string according to format +# man strftime() for details +# +# gmtoff([unixtime]) +# returns difference between local time and UTC in hours (e.g., can be +4.5) +# if unixtime is omitted, current time used +# +# WARNING: Don't redefine already predefined variable via my() or local(). +# otherwise their values will not be put back into hpt. +# + +sub filter +{ +# predefined variables: +# $fromname, $fromaddr, $toname, +# $toaddr (for netmail), +# $area (for echomail), +# $subject, $text, $pktfrom, $date, $attr +# $secure (defined if message from secure link) +# return "" or reason for moving to badArea +# set $kill for kill the message (not move to badarea) +# set $change to update $text, $subject, $fromaddr, $toaddr, +# $fromname, $toname, $attr, $date + return ""; +} + +sub put_msg +{ +# predefined variables: +# $fromname, $fromaddr, $toname, $toaddr, +# $area (areatag in config), +# $subject, $text, $date, $attr +# return: +# 0 not to put message in base +# 1 to put message as usual +# 2 to put message without recoding +# set $change to update $text, $subject, $fromaddr, $toaddr, +# $fromname, $toname, $attr, $date + return 1; +} + +sub scan +{ +# predefined variables: +# $area, $fromname, $fromaddr, $toname, +# $toaddr (for netmail), +# $subject, $text, $date, $attr +# return "" or reason for dont packing to downlinks +# set $change to update $text, $subject, $fromaddr, $toaddr, +# $fromname, $toname, $attr, $date +# set $kill to 1 to delete message after processing (even if it's not sent) +# set $addvia to 0 not to add via string when packing + return ""; +} + +sub export +{ +# predefined variables: +# $area, $fromname, $toname, $subject, $text, $date, $attr, +# $toaddr (address of link to export this message to), +# return "" or reason for dont exporting message to this link +# set $change to update $text, $subject, $fromname, $toname, $attr, $date + return ""; +} + +sub route +{ +# $addr = dest addr +# $from = orig addr +# $fromname = from user name +# $toname = to user name +# $date = message date and time +# $subj = subject line +# $text = message text +# $attr = message attributes +# $route = default route address (by config rules) +# $flavour = default route flavour (by config rules) +# set $change to update $text, $subject, $fromaddr, $toaddr, +# $fromname, $toname, $attr +# set $flavour to flag, corresponding to flavour, +# or string hold|normal|crash|direct|immediate +# set $addvia to 0 not to add via string when packing +# return route addr or "" for default routing + + return ""; +} + +sub tossbad +{ +# $fromname, $fromaddr, $toname, +# $toaddr (for netmail), +# $area (for echomail), +# $subject, $text, $pktfrom, $date, $attr +# $reason +# return non-empty string for kill the message +# set $change to update $text, $subject, $fromaddr, $toaddr, +# $fromname, $toname, $attr + return ""; +} + +sub hpt_start +{ +} + +sub hpt_exit +{ +} + +sub process_pkt +{ +# $pktname - name of pkt +# $secure - defined for secure pkt +# return non-empty string for rejecting pkt (don't process, rename to *.flt) + return ""; +} + +sub pkt_done +{ +# $pktname - name of pkt +# $rc - exit code (0 - OK) +# $res - reason (text line) +# 0 - OK ($res undefined) +# 1 - Security violation +# 2 - Can't open pkt +# 3 - Bad pkt format +# 4 - Not to us +# 5 - Msg tossing problem +} + +sub after_unpack +{ +} + +sub before_pack +{ +} + +sub on_echolist +{ +# $_[0] - type (0: %list, 1: %query, 2: %unlinked) +# $_[1] - reference to array of echotags +# $_[2] - link aka +# $_[3] - max tag length in @{$_[1]} +# return: +# 0 to generate hpt-standard list +# 1 to return $report value as result +# 2 to use $report value as list and append hpt standard footer + return 0; +} + +sub on_afixcmd +{ +# $_[0] - command code (see #define's in areafix.h) +# $_[1] - link aka +# $_[2] - request line +# return: +# 0 to process command by hpt logic +# 1 to skip hpt logic and return $report value as result + return 0; +} + +sub on_afixreq +{ +# predefined variables: +# $fromname, $fromaddr, $toname, $toaddr. $subject, $text, $pktfrom +# return: +# 0 to ignore any changes +# 1 to update request parameters from above-mentioned variables +# (note: only $fromaddr and $text are meaningful for processing) + return 0; +} + +sub on_robotmsg +{ +# process messages generated by robots +# predefined variables: +# $type, $fromname, $fromaddr, $toname, $toaddr. $subject, $text +# +# $type is one of the following: "afix", "ffix", "tosysop", or undef +# for messages from areafix, filefix, messages generated to sysop +# and of unknown origin, respectively. +# +# return: +# 0 to ignore any changes +# 1 to update message fields + + return 0; +} diff --git a/golded b/golded new file mode 100755 index 0000000..0e78c0b --- /dev/null +++ b/golded @@ -0,0 +1,4 @@ +#!/bin/bash + +fconf2golded /etc/golded.cfg +gedlnx -C/etc/golded.cfg diff --git a/goldkeys.cfg b/goldkeys.cfg new file mode 100644 index 0000000..c52348b --- /dev/null +++ b/goldkeys.cfg @@ -0,0 +1 @@ +I READnewmsg diff --git a/init b/init new file mode 100755 index 0000000..95369b2 --- /dev/null +++ b/init @@ -0,0 +1,57 @@ +#!/bin/bash + +ROOT=/fido + +function mp() { + set +e + mountpoint -q $1 + local mp=$? + set -e + echo ${mp} +} + +mp=$(mp ${ROOT}) + +#echo "? DEBUG: mp is ${mp}" +if [ ! -d ${ROOT} -o ${mp} -eq 1 ]; then + echo "! ERROR: Refusing to start, ${ROOT} doesnt exist or is not external" + exit 1 +fi + +# Make our outbound dirs +for i in \ + mailer/box mailer/out mailer/in mailer/in.loc mailer/in.unsecure mailer/in.tmp mailer/out.tmp \ + dupes filepass files nodelist magic msgbase semafore; do + [ ! -d ${ROOT}/$i ] && mkdir -p ${ROOT}/$i; +done + +[ ! -d /var/log/fido ] && mkdir /var/log/fido + +if [ ! -e "/etc/binkd/binkd.conf" ]; then + echo "* Installing BINKD config files into [/etc/binkd]" + cp -nRa /etc/binkd.orig/* /etc/binkd +fi + +if [ ! -e "/etc/jamnntpd/config" ]; then + echo "* Installing JAMNNTPD config files into [/etc/jamnntpd]" + cp -nRa /etc/jamnntpd.orig/* /etc/jamnntpd +fi + +if [ ! -e "/etc/ftn/config" ]; then + echo "* Installing HUSKY config files into [/etc/ftn]" + cp -nRa /etc/ftn.orig/* /etc/ftn +fi + +if [ ! -e "/etc/qico/qico.conf" ]; then + echo "* Installing QICO config files into [/etc/qico]" + cp -nRa /etc/qico.orig/* /etc/qico +fi + +if [ -x /usr/sbin/zerotier-one -a -n "${ENABLE_ZT}" ]; then + echo "* Starting ZeroTier" + mkdir /dev/net && mknod /dev/net/tun -m 666 c 10 200 + /usr/sbin/zerotier-one -d +fi + +echo "* Ready..." +exec "$@" diff --git a/jamnntpd.orig/config b/jamnntpd.orig/config new file mode 100644 index 0000000..2c681a2 --- /dev/null +++ b/jamnntpd.orig/config @@ -0,0 +1,24 @@ +# JamNNTPd configuration file +port 119 +max 5 +groups "/etc/jamnntpd/jamnntpd.groups" +allow "/etc/jamnntpd/jamnntpd.allow" +users "/etc/jamnntpd/jamnntpd.users" +xlat "/etc/jamnntpd/jamnntpd.xlat" +logfile "/var/log/fido/jamnntpd.log" +#noecholog +#debug +#readorigin +#noencode +#strictnetmail +def_flowed on +def_showto on +#nostripre +#notearline +#noreplyaddr +#notzutc +#nocancel +#smartquote +#origin +#guestsuffix +echomailjam /fido/msgbase/echomail.jam diff --git a/logrotate.d/fido b/logrotate.d/fido new file mode 100644 index 0000000..3cf1637 --- /dev/null +++ b/logrotate.d/fido @@ -0,0 +1,12 @@ +/var/log/fido/*.log { + daily + compress + rotate 31 + dateext + olddir /var/log/fido/old + missingok + createolddir 775 root root + notifempty + copytruncate + dateyesterday +} diff --git a/nginx/binkps.conf b/nginx/binkps.conf new file mode 100644 index 0000000..6867687 --- /dev/null +++ b/nginx/binkps.conf @@ -0,0 +1,11 @@ +stream { + server { + listen 24553 ssl; + ssl_certificate /etc/nginx/conf.d/ssl/binkps.crt; + ssl_certificate_key /etc/nginx/conf.d/ssl/binkps.key; + proxy_pass 127.0.0.1:24554; + } +} + +# binkd.cfg: +# node 1:153/757.2 -pipe "openssl s_client -quiet -alpn binkp -connect *H:*I" equinoxbbs.ddns.net:24555 diff --git a/nginx/binkps.crt b/nginx/binkps.crt new file mode 100644 index 0000000..824fb72 --- /dev/null +++ b/nginx/binkps.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIJALsoV61BAIR7MA0GCSqGSIb3DQEBCwUAMGAxCzAJBgNV +BAYTAkFVMQwwCgYDVQQIEwNWSUMxEjAQBgNVBAcTCU1lbGJvdXJuZTENMAsGA1UE +ChMEQUNNRTEMMAoGA1UECxMDV2ViMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTgw +NjE5MjAxNTE5WhcNMjgwNjE2MjAxNTE5WjBgMQswCQYDVQQGEwJBVTEMMAoGA1UE +CBMDVklDMRIwEAYDVQQHEwlNZWxib3VybmUxDTALBgNVBAoTBEFDTUUxDDAKBgNV +BAsTA1dlYjESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAv0hEQONbM1iz6nwTWwFuByY0sBK8hXlgyOTJftnQr+ffhKXn +f30WovFmy1FBTUDa42T5Fsa6aihw+QAuLFtnMogZRIqp8Ow9ovGLv7Wo6KRoQ6Db +JJ0FofUBiMVQy79/alUlgEYwuPlgjWwl7+pPZobXjaytAfK7WcGxMKiy6cBpFHMD +LOGNsnjSyFDZtRSMyOd07SZDhS1J5IV25v76URsyYQU+kriqZK8AkC2emz/hkcVF +10nlli2R6JsidiwN4JAPG1zKA3p0Ki0R6uG//1dQ9MuCIiCZkJklmg3ZmhjpBCY0 +n+nB+F3XSDsyYR7MWZvfRHyx3w/WVpGdVymmrwIDAQABo4HmMIHjMBEGCWCGSAGG ++EIBAQQEAwIGQDAdBgNVHQ4EFgQUV31E9ULcEQkSmlgq1uQ0WiyR/DswgZIGA1Ud +IwSBijCBh4AUV31E9ULcEQkSmlgq1uQ0WiyR/DuhZKRiMGAxCzAJBgNVBAYTAkFV +MQwwCgYDVQQIEwNWSUMxEjAQBgNVBAcTCU1lbGJvdXJuZTENMAsGA1UEChMEQUNN +RTEMMAoGA1UECxMDV2ViMRIwEAYDVQQDEwlsb2NhbGhvc3SCCQC7KFetQQCEezAa +BgNVHREEEzARhwR/AAABgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAAZL +WWeY7sbVX6noNjiQWe9jzBKG994f5/Q5dpqT6ZHpLsSU2AQ85QfUXma3rAPwSj0+ +C4V7IRlrwlFXXqe8LxWxEJo0DlHOqDZTxQpHvmwATRxTBHDOS4kMjbj5oAwq0yXz +dNxxOI5Pv9j6VIMMIgW6dFnh/GRG5w5lndtWisCU8ydG/PkeMkvi3OTQDTq64qgp +lt0OTDkTyoWmpq46k3NDR2n6ar7DwEmamMWPkR9rNLjOde2AlKMuNZ4wUMVAYasr +xDMmMCe/matHd6Ry2kvBkBRFkFaJyR2+D2vpYSbT8fSFOKv6w+5qJI8pOQ1Yn+Di +3+EttBcVhrZfxoL8jYw= +-----END CERTIFICATE----- diff --git a/nginx/binkps.key b/nginx/binkps.key new file mode 100644 index 0000000..4cccc71 --- /dev/null +++ b/nginx/binkps.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/SERA41szWLPq +fBNbAW4HJjSwEryFeWDI5Ml+2dCv59+Eped/fRai8WbLUUFNQNrjZPkWxrpqKHD5 +AC4sW2cyiBlEiqnw7D2i8Yu/tajopGhDoNsknQWh9QGIxVDLv39qVSWARjC4+WCN +bCXv6k9mhteNrK0B8rtZwbEwqLLpwGkUcwMs4Y2yeNLIUNm1FIzI53TtJkOFLUnk +hXbm/vpRGzJhBT6SuKpkrwCQLZ6bP+GRxUXXSeWWLZHomyJ2LA3gkA8bXMoDenQq +LRHq4b//V1D0y4IiIJmQmSWaDdmaGOkEJjSf6cH4XddIOzJhHsxZm99EfLHfD9ZW +kZ1XKaavAgMBAAECggEAaJje4dCxZVGDCJ0ShHgyr2wf8Yw9VIt79j7NRDVdXWNh +IYsLHPbM8wsoV9O17sWhLClh4CeJdlVo+XA0z4Kn2sT7dDSTGzBDwB9veMSgeZ61 +eQ2z58CJfPeaAC1NsiykQwQOfqdjKzMKrirOT/QDuR/RLSKYdHFEK5+0AdSuCQ2A +PV68FX6BnKfR/LDt6auN43ISdrnXRFna5Helyel2l3Jv/ooz9FeeTbXUa9cQcrXM +tMvd8GMr4oLnhKROcec0bTOy/3ZymbEvjjQvgxukivLLOUbQiwp2lfQWcFna4cOL +apGeameOHQceF4iIibnbDo073jS3m02WBH0ScRsj2QKBgQDxRWZWSGuJkFQOoW/b +uuwu26RAFdXLsxr2G9XMIZR+rpmhq5EoM4CL/YI5syChgYgxAj8UfwYg93wuGkN8 +5VPhuytH5MIDsXq9Ci2b+WQrF5sxDK3MA3FieFZByVX80JNXtVUudzqQ6wJ1OEsY +wB+h2Uu9zssNZVugPh3wb5BsLQKBgQDK9aN97C3JtLW+xOoEYW1iCputwoDWIIqk +i6fi0mTQiQ+YbliaXWS/F7tJrUHvFFgJLZcpDKaEaN5WFjFHU+1zUDtotEiJ7bTQ +fuoyWY/8VpWn6RKwukL+mfIm2n7ZT6FC8YBU6lRPEmuGwrvuUstmIcKaAJ2bPvRt +vhRRY3u7ywKBgDIjPOADTq2Ym48qxyb/UiNuq1RR9UrOXnT0VdqEw+oLeIubLqAP +C9CLjutUqRxG4bllgRxORUTGiTy/YnTq5yKKlbTr+dFwqVPtcIrwKXu2/R4VR2yU +7pQK88naAA94fJYGbbwpNLd2ztzzJM/w5OHqWQ4JkjKndIH5Rpl3ZajFAoGABWqa +y2CDNE/bTdUJfcZv2d74mqGHOK+zo4KKn3YH9LzDqsi/GpeFecgTWnsCOHQtiUkr +MJBC3WPDEz8SX5nwy1QH0dqF2RB789h/PYrAWfahldKVihveb9cB7GGGYxxJ7HRv +fVSnnVibgAQwacLR5M7f16ZOjncWpNsexbFG+xMCgYEAj1V64k9Lz554EDCNZMQS +mzgqYg6ck+GYL/W6hdE/N3zc+KJKF4ztM/c987BbFgpJQp+uYF43jRmOcv1Oab43 +mpuvZ2rDSPqrqM+fdHIx2oLPNBdBc9abTX7sQtK4WSTp16gs+MqfMWRklxWsMwWE +fO6SmAU27aAzfOccuvx3glQ= +-----END PRIVATE KEY----- diff --git a/supervisord.d/binkd.conf b/supervisord.d/binkd.conf new file mode 100644 index 0000000..64d7521 --- /dev/null +++ b/supervisord.d/binkd.conf @@ -0,0 +1,2 @@ +[program:binkd] +command=/sbin/binkd /etc/binkd/binkd.conf -q -C diff --git a/supervisord.d/cron.conf b/supervisord.d/cron.conf new file mode 100644 index 0000000..c072909 --- /dev/null +++ b/supervisord.d/cron.conf @@ -0,0 +1,2 @@ +[program:cron] +command=/usr/sbin/cron -f diff --git a/supervisord.d/jamnntpd.conf b/supervisord.d/jamnntpd.conf new file mode 100644 index 0000000..289f4a4 --- /dev/null +++ b/supervisord.d/jamnntpd.conf @@ -0,0 +1,2 @@ +[program:jamnntpd] +command=/usr/sbin/jamnntpd -config /etc/jamnntpd/config diff --git a/supervisord.d/nginx.conf b/supervisord.d/nginx.conf new file mode 100644 index 0000000..eb16ca6 --- /dev/null +++ b/supervisord.d/nginx.conf @@ -0,0 +1,2 @@ +[program:nginx] +command=/usr/sbin/nginx "-g daemon off;" diff --git a/supervisord.d/xinetd.conf b/supervisord.d/xinetd.conf new file mode 100644 index 0000000..5f04f2f --- /dev/null +++ b/supervisord.d/xinetd.conf @@ -0,0 +1,2 @@ +[program:xinetd] +command=/usr/sbin/xinetd -pidfile /run/xinetd.pid -inetd_ipv6 -dontfork -stayalive diff --git a/xinetd.d/fido b/xinetd.d/fido new file mode 100644 index 0000000..5e25b6d --- /dev/null +++ b/xinetd.d/fido @@ -0,0 +1,11 @@ +service fido +{ + socket_type = stream + protocol = tcp + flags = IPv6 + wait = no + user = root + instances = 10 + server = /usr/sbin/qico + server_args = -aauto +} diff --git a/xinetd.d/tfido b/xinetd.d/tfido new file mode 100644 index 0000000..37c8431 --- /dev/null +++ b/xinetd.d/tfido @@ -0,0 +1,11 @@ +service tfido +{ + socket_type = stream + protocol = tcp + flags = IPv6 + wait = no + user = root + instances = 10 + server = /usr/lib/ifmail/ifcico + server_args = -r0 -t1 +}