Compare commits

...

56 Commits

Author SHA1 Message Date
ddf8f3f9e0 Fixed changelist to represent changes
Some checks failed
Debian build / build-ubuntu (push) Successful in 3m39s
Archlinux build / build-arch (push) Failing after 55s
2025-04-13 21:41:43 +03:00
6245ad3e10 CI fx workflow 40
All checks were successful
Archlinux build / build-arch (push) Successful in 2m51s
Debian build / build-ubuntu (push) Successful in 3m40s
2025-04-13 20:54:59 +03:00
e3a1f7e52e CI fx workflow 39
All checks were successful
Archlinux build / build (push) Successful in 3m8s
Debian build / build (push) Successful in 3m40s
2025-04-13 20:10:36 +03:00
e94fffb110 CI fx workflow 38
All checks were successful
Debian build / build (push) Successful in 3m58s
2025-04-13 19:51:32 +03:00
a7cda5b70f CI fx workflow 37
Some checks failed
Debian build / build (push) Failing after 5m4s
2025-04-13 19:19:34 +03:00
0d4a4945fe CI fx workflow 36
All checks were successful
Debian build / build (push) Successful in 3m36s
2025-04-13 18:41:22 +03:00
c658e03af5 CI fx workflow 35
Some checks failed
Debian build / build (push) Failing after 3m39s
2025-04-13 18:32:15 +03:00
57e5e00ca3 CI fx workflow 34 and cstd error for var decl after label
All checks were successful
Debian build / build (push) Successful in 3m38s
2025-04-13 18:21:43 +03:00
1f7d70b755 CI fx workflow 33 and some lint warnings
Some checks failed
Debian build / build (push) Failing after 2m57s
2025-04-13 18:14:04 +03:00
3c60f8de01 CI fx workflow 32
Some checks failed
Debian build / build (push) Failing after 2m57s
2025-04-13 17:48:39 +03:00
c47397c800 CI fx workflow 31
Some checks failed
Debian build / build (push) Failing after 2m12s
2025-04-13 17:45:32 +03:00
224115fffe CI fx workflow 30
Some checks failed
Debian build / build (push) Failing after 2m1s
2025-04-13 17:39:35 +03:00
875ea3505f CI fx workflow 29
Some checks failed
Debian build / build (push) Failing after 1m37s
2025-04-13 17:07:52 +03:00
d581b113c8 CI fx workflow 28
Some checks failed
Archlinux build / build (push) Successful in 2m52s
Debian build / build (push) Failing after 29s
2025-04-13 16:49:37 +03:00
a296d43987 CI fx workflow 27
Some checks failed
Archlinux build / build (push) Successful in 2m58s
Debian build / build (push) Failing after 14s
2025-04-13 16:43:35 +03:00
aa32dac10e CI fx workflow 26
Some checks failed
Archlinux build / build (push) Successful in 2m57s
Debian build / build (push) Failing after 19s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 15s
2025-04-13 16:33:02 +03:00
6a1a0a6838 CI fx workflow 25
Some checks failed
Archlinux build / build (push) Successful in 3m2s
Debian build / build (push) Failing after 19s
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2025-04-13 16:24:01 +03:00
83ce06579c Debianized again, fixed debuild, CI fx workflow
All checks were successful
Archlinux build / build (push) Successful in 2m57s
Debian build / build (push) Successful in 1m8s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
2025-04-13 16:14:26 +03:00
8339af8eac fx workflow 24
All checks were successful
Archlinux build / build (push) Successful in 3m19s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-13 00:41:01 +03:00
2477709da4 fx workflow 23
All checks were successful
Archlinux build / build (push) Successful in 3m21s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 18s
2025-04-13 00:25:24 +03:00
136eca95f1 fx workflow 22
All checks were successful
Archlinux build / build (push) Successful in 4m30s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 18s
2025-04-12 23:57:11 +03:00
030322225f fx workflow 21
Some checks failed
Archlinux build / build (push) Failing after 3m27s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
2025-04-12 23:46:27 +03:00
92bd4cae56 fx workflow 20
Some checks failed
Archlinux build / build (push) Failing after 3m27s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 23:38:39 +03:00
1837ebd57c fx workflow 19
Some checks failed
Archlinux build / build (push) Failing after 3m19s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 23:31:20 +03:00
2eb30b7644 fx workflow 18
Some checks failed
Archlinux build / build (push) Failing after 4m29s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
2025-04-12 23:12:44 +03:00
7733d5d663 fx workflow 17
All checks were successful
Archlinux build / build (push) Successful in 3m13s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 22:13:05 +03:00
6a2320d922 fx workflow 16 2025-04-12 22:12:42 +03:00
5f10b52c77 fx workflow 15
All checks were successful
Archlinux build / build (push) Successful in 3m18s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 21:49:23 +03:00
55fc94a95b fx workflow 14
Some checks failed
Archlinux build / build (push) Failing after 24s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 21:40:39 +03:00
1667d8a800 fx workflow 13
Some checks failed
Archlinux build / build (push) Failing after 8s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 21:35:56 +03:00
5eced105c8 fx workflow 12
Some checks failed
Archlinux build / build (push) Failing after 38s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 19s
2025-04-12 21:32:20 +03:00
7486b9c141 fx workflow 11
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 30s
2025-04-12 21:22:49 +03:00
2fbe1d3e54 fx workflow 10
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 18s
2025-04-12 21:16:51 +03:00
fa8e081584 fx workflow 9
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
2025-04-12 21:09:10 +03:00
981d4f00b3 fx workflow 8 2025-04-12 21:07:19 +03:00
26ecb8b64c fx actions 7
Some checks failed
Archlinux build / build (push) Failing after 1m17s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 18s
2025-04-12 15:49:58 +03:00
526338f720 fx actions 6
Some checks failed
Archlinux build / build (push) Failing after 42s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 23s
2025-04-12 15:45:35 +03:00
06f48fe1c1 fx actions 5
Some checks failed
Archlinux build / build (push) Failing after 15s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 18s
2025-04-12 15:37:10 +03:00
4767b57ec9 fx actions 4
Some checks failed
Archlinux build / build (push) Failing after 16s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 21s
2025-04-12 15:32:47 +03:00
8892e3f740 fx actions 3
Some checks failed
Archlinux build / build (push) Failing after 9s
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 20s
2025-04-12 15:30:13 +03:00
21eeae69cc fx actions 2
Some checks failed
Archlinux build / build (push) Failing after 7s
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 0s
2025-04-12 15:26:21 +03:00
9799f977b9 fx actions
Some checks failed
Archlinux build / build (push) Failing after 4m46s
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s
2025-04-12 15:13:29 +03:00
727f7cfdf3 Testing arch workflow 2
Some checks failed
Archlinux build / build (push) Failing after 2s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m58s
2025-04-12 15:01:26 +03:00
36747d9071 Testing arch workflow 2025-04-12 15:00:46 +03:00
9fa59cacca fx demo workflow
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 23s
2025-04-12 11:16:47 +03:00
b66dd2156c fx demo workflow 2025-04-12 11:14:05 +03:00
80275d30d3 fx demo workflow 2025-04-12 11:11:51 +03:00
a62ae3afca fx demo workflow
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 3s
2025-04-12 11:08:28 +03:00
a9f98cdee9 fx demo workflow
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1m28s
2025-04-12 10:44:21 +03:00
10d30223d1 Added demo workflow
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 4m51s
2025-04-12 10:25:35 +03:00
c5fc6e9245 added .gitea folder 2025-04-11 12:28:15 +03:00
29000cfdd7 Fixes 2025-04-08 20:45:32 +03:00
de6ef3936b small fix checknodefalgs 2025-03-23 20:36:07 +03:00
8db2ee4260 confread diag 2025-03-23 20:21:50 +03:00
25081b1bae . 2025-03-22 22:50:53 +03:00
deaa8140f5 Fix binkp overrides 2025-03-22 21:52:08 +03:00
31 changed files with 376 additions and 191 deletions

0
.gitea/.gitkeep Normal file
View File

View File

@ -0,0 +1,42 @@
name: Archlinux build
run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }} 🚀
on:
- push
- workflow_dispatch
jobs:
build-arch:
runs-on: arch-latest
if: ${{ github.ref }} == 'refs/head/master'
branches:
- 'master'
- 'zx'
steps:
- name: Checking environment
continue-on-error: true
run: printenv
- name: Installing prerequisites - update pacman
run: pacman -Sy
- name: Installing prerequisites - install nodejs for actions & git
run: pacman --disable-sandbox --noconfirm -v -S git nodejs
- name: Adding user builder
continue-on-error: true
run: useradd -d /builder -g users -m builder
- name: Downloading PKGBUILD
run: |
su - builder -c "curl -O http://zxprj:3001/zx/bforce/raw/branch/${GITHUB_REF_NAME}/archlinux/bforce.install"
su - builder -c "curl -o PKGBUILD http://zxprj:3001/zx/bforce/raw/branch/${GITHUB_REF_NAME}/archlinux/PKGBUILD.ci"
- name: Building archlinux package
run: |
su -w GITHUB_SHA,GITHUB_REF_NAME,GITHUB_REF_TYPE - builder -c makepkg
su - builder -c "ls -la"
- name: Constructing artifact name and version
run: |
echo "BFORCE_VER=$(cat /builder/src/bforce/source/.version)-$(date +%Y%M%d)" >> $GITHUB_ENV
- name: Retrieving artifact files
run: mkdir bforce && cp /builder/bforce-r*.pkg.tar.zst bforce
- name: Try to upload artifacts
uses: actions/upload-artifact@v3
with:
name: bforce-${{ env.BFORCE_VER }}-Arch
path: bforce

View File

@ -0,0 +1,50 @@
name: Debian build
run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }} 🚀
on: [push]
jobs:
build-ubuntu:
runs-on: ubuntu-latest
branches:
- 'master'
- 'zx'
steps:
- name: Checking environment
continue-on-error: true
run: printenv
- name: Installing build-essentials
continue-on-error: false
run: |
apt update
apt install -y build-essential fakeroot devscripts debhelper pkg-config --no-install-recommends
- name: Installing dependencies
continue-on-error: false
run: |
echo '---- bison ----'
apt install -y bison
echo '---- tcl ------'
apt install -y tcl
- name: Cloning source
uses: actions/checkout@v4
- name: Getting version info
run: |
echo "BFORCE_VER=$(cat ${{ env.GITHUB_WORKSPACE }}/source/.version)-$(date +%Y%M%d)" >> $GITHUB_ENV
- name: Building package
continue-on-error: false
run: |
pwd
echo '---------------------'
cd ${GITHUB_WORKSPACE}/debian
ls -l
debuild -us -uc -b
echo '---build complete---'
ls -l ${{ env.GITHUB_WORKSPACE }}/../
- name: Collecting artifacts
run: |
mkdir -pv ${{ env.GITHUB_WORKSPACE }}/artifacts
mv -v ${{ env.GITHUB_WORKSPACE }}/../*.deb ${{ env.GITHUB_WORKSPACE }}/artifacts/
- name: Try to upload artifacts
uses: actions/upload-artifact@v3
with:
name: bforce-${{ env.BFORCE_VER }}-Ubuntu
path: ${{ env.GITHUB_WORKSPACE }}/artifacts/bforce*.deb
- run: echo "This job's over"

3
.gitignore vendored
View File

@ -7,6 +7,3 @@ source/config.log
source/config.status
source/include/config.h
bforce.geany

View File

@ -273,3 +273,9 @@ Alexey Khromov (zx@zxalexis.ru)
0.26
+ Fixed incorrect binkp protocol realization in unprotected sessions.
+ Fixed binkp override appliance in incoming handshake
0.26.1
+ Fixed binkp stuck on overrides in config
+ ReDebianized
+ Added CI automation: builds for Archlinux and Ubuntu

View File

@ -46,7 +46,7 @@ The simplest way to compile this package is:
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using

View File

@ -1,3 +1,5 @@
![zx branch](https://prj.zxalexis.ru/gitea/zx/bforce/actions/workflows/arch.yaml/badge.svg?branch=zx)
BinkleyForce FTN mailer
-----------------------
@ -56,4 +58,4 @@ Copyright <br>
> (c) 2007-2008 Sergey Babitch<br>
> (c) 2011-2014 Sergey Dorofeev<br>
> (c) 2014 Alexander Skovpen<br>
> (c) 2024 Alexey Khromov<br>
> (c) 2024-2025 Alexey Khromov<br>

View File

@ -33,6 +33,7 @@ package() {
mkdir -p ${pkgdir}/usr/bin
mkdir -p ${pkgdir}/usr/local/bin
mkdir -p ${pkgdir}/usr/share/doc/bforce
mkdir -p ${pkgdir}/usr/share/man/man1
mkdir -p ${pkgdir}/var/log/bforce
mkdir -p ${pkgdir}/var/spool/bforce
mkdir -p ${pkgdir}/var/spool/bforce/bt/in
@ -44,6 +45,7 @@ package() {
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/bfindex ${pkgdir}/usr/bin/bfindex
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/bfstat ${pkgdir}/usr/bin/bfstat
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/nlookup ${pkgdir}/usr/bin/nlookup
/usr/bin/install -c ${srcdir}/${pkgname}/man/*.1 ${pkgdir}/usr/share/man/man1/
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/bforce.conf ${pkgdir}/etc/bforce.conf.sample
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/bforce.subst ${pkgdir}/etc/bforce.subst.sample
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/bforce.passwd ${pkgdir}/etc/bforce.passwd.sample

60
archlinux/PKGBUILD.ci Normal file
View File

@ -0,0 +1,60 @@
pkgname=bforce
pkgver=r235.a1c93b8
pkgrel=1
pkgdesc="binkleyforce FTN mailer"
arch=('i686' 'x86_64' 'aarch64')
url="https://prj.zxalexis.ru/gitea/zx/bforce/"
license=('GPL2')
source=(
"${pkgname}::git+https://prj.zxalexis.ru/gitea/${GITHUB_REF_NAME}/bforce.git"
)
makedepends=('git' 'gcc' 'make' 'glibc')
provides=('bforce')
build() {
cd "${srcdir}/${pkgname}/source"
./configure --prefix=/ --disable-syslog --with-owner=fido --with-group=uucp
make
}
prepare() {
cd "${pkgname}"
git checkout "${GITHUB_SHA}"
printf "$( pwd )\n"
}
pkgver() {
cd "$pkgname"
printf "r%s.%s.%s" "$(git rev-list --count ${GITHUB_SHA})" "$(git rev-parse --short ${GITHUB_SHA})" "${GITHUB_REF_NAME}"
}
package() {
cd ${pkgdir}
mkdir -p ${pkgdir}/etc
mkdir -p ${pkgdir}/usr/bin
mkdir -p ${pkgdir}/usr/local/bin
mkdir -p ${pkgdir}/usr/share/doc/bforce
mkdir -p ${pkgdir}/usr/share/man/man1
mkdir -p ${pkgdir}/var/log/bforce
mkdir -p ${pkgdir}/var/spool/bforce
mkdir -p ${pkgdir}/var/spool/bforce/bt/in
mkdir -p ${pkgdir}/var/spool/bforce/bt/pin
mkdir -p ${pkgdir}/var/spool/bforce/bt/out
mkdir -p ${pkgdir}/var/spool/bforce/ndl
mkdir -p ${pkgdir}/var/spool/bforce/bforce
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/bforce ${pkgdir}/usr/bin/bforce
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/bfindex ${pkgdir}/usr/bin/bfindex
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/bfstat ${pkgdir}/usr/bin/bfstat
/usr/bin/install -c ${srcdir}/${pkgname}/source/bin/nlookup ${pkgdir}/usr/bin/nlookup
/usr/bin/install -c ${srcdir}/${pkgname}/man/*.1 ${pkgdir}/usr/share/man/man1/
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/bforce.conf ${pkgdir}/etc/bforce.conf.sample
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/bforce.subst ${pkgdir}/etc/bforce.subst.sample
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/bforce.passwd ${pkgdir}/etc/bforce.passwd.sample
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/freq.aliases ${pkgdir}/etc/freq.aliases.sample
/usr/bin/install -c -m 644 ${srcdir}/${pkgname}/examples/freq.dirs ${pkgdir}/etc/freq.dirs.sample
/usr/bin/install -c ${srcdir}/${pkgname}/contrib/outman ${pkgdir}/usr/local/bin/outman
echo "Please, edit /usr/local/bin/outman"
cp ${srcdir}/${pkgname}/docs/* ${pkgdir}/usr/share/doc/bforce/
}
sha256sums=('SKIP')

12
debian/changelog vendored
View File

@ -1,3 +1,15 @@
bforce (0.26.1) UNRELEASED; urgency=medium
* Fixed for ubuntu/debian builds and CI actions
-- Alexey Khromov <zx@zxalexis.ru> Sun, 13 Apr 2025 20:06:54 +0300
bforce (0.26) UNRELEASED; urgency=medium
* Fixed for IPv6 and build on amd64 and aarch64 platforms
-- Alexey Khromov <zx@zxalexis.ru> Sun, 13 Apr 2025 12:53:54 +0000
bforce (0.22.9-3) unstable; urgency=low
* fixes in init.d script

2
debian/compat vendored
View File

@ -1 +1 @@
4
3

6
debian/conffiles vendored
View File

@ -1,6 +0,0 @@
/etc/bforce/bforce.conf
/etc/bforce/bforce.subst
/etc/bforce/bforce.passwd
/etc/bforce/freq.dirs
/etc/bforce/freq.aliases

4
debian/control vendored
View File

@ -1,13 +1,13 @@
Source: bforce
Section: net
Priority: optional
Maintainer: Evgeniy Kozhuhovskiy <e.kozhuhovskiy@gmail.com>
Maintainer: Alexey Khromov <zx@zxalexis.ru>
Build-Depends: debhelper (>> 3.0.0), bison (>> 1.0.0)
Standards-Version: 3.5.10
Package: bforce
Architecture: any
Depends: ${shlibs:Depends}
Depends: ${shlibs:Depends}, tclsh:any
Description: Binkey Force FTN mailer
FTN mailer is a program that transmit files (netmail and echomail)
between your FTN node and other.

1
debian/dirs vendored
View File

@ -1,5 +1,6 @@
usr/bin
usr/lib/bforce
usr/lib/systemd/system
etc/bforce
etc/default
etc/default/bforce

10
debian/docs vendored
View File

@ -1,9 +1,5 @@
README
README.kst
README.ugenk
README.md
TODO
CHANGES
CHANGES.kst
CHANGES.ugenk
INSTALL
INSTALL.ru
INSTALL.ru
SYSLOG

18
debian/postinst vendored
View File

@ -26,15 +26,15 @@ set -e
case "$1" in
configure)
if ! grep -s news /etc/group >/dev/null 2>&1; then
addgroup --system news
fi
if ! id uucp >/dev/null 2>&1; then
adduser --system --disabled-password uucp
chsh -s /bin/sh uucp
adduser uucp dialout
fi
# if ! grep -s news /etc/group >/dev/null 2>&1; then
# addgroup --system news
# fi
#
# if ! id uucp >/dev/null 2>&1; then
# adduser --system --disabled-password uucp
# chsh -s /bin/sh uucp
# adduser uucp dialout
# fi
;;
abort-upgrade|abort-remove|abort-deconfigure)

13
debian/rules vendored
View File

@ -6,8 +6,7 @@
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
export DH_COMPAT=3
export DH_COMPAT=11
PACKAGE = bforce
@ -49,7 +48,7 @@ clean:
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
-$(MAKE) -C source clean
# -$(MAKE) -C source clean
dh_clean
rm -f source/config.cache source/include/config.h source/config.log\
source/config.status source/Makefile
@ -57,7 +56,7 @@ clean:
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_prep
dh_installdirs
# Add here commands to install the package into debian/bforce.
@ -74,7 +73,7 @@ install: build
/usr/bin/install -c -m 600 -o $(USER) -g $(GROUP) examples/bforce.passwd $(CURDIR)/debian/bforce/etc/bforce/bforce.passwd
/usr/bin/install -c -m 644 -o $(USER) -g $(GROUP) examples/freq.aliases $(CURDIR)/debian/bforce/etc/bforce/freq.aliases
/usr/bin/install -c -m 644 -o $(USER) -g $(GROUP) examples/freq.dirs $(CURDIR)/debian/bforce/etc/bforce/freq.dirs
/usr/bin/install -c -m 660 contrib/systemd/bforce.service $(CURDIR)/debian/bforce/usr/lib/systemd/system/bforce.service
/usr/bin/install $(CURDIR)/debian/bfha.def $(CURDIR)/debian/bforce/etc/default/bforce/bfha
/usr/bin/install $(CURDIR)/contrib/bfha/bfha-debian.pl $(CURDIR)/debian/bforce/usr/lib/bforce/bfha.pl
@ -92,8 +91,8 @@ binary-arch: build install
# dh_installlogrotate
dh_installinit
# dh_installcron
dh_installman $(CURDIR)/debian/bfindex.1 $(CURDIR)/debian/bforce.1 \
$(CURDIR)/debian/bfstat.1 $(CURDIR)/debian/nlookup.1
dh_installman $(CURDIR)/man/bfindex.1 $(CURDIR)/man/bforce.1 \
$(CURDIR)/man/bfstat.1 $(CURDIR)/man/nlookup.1 $(CURDIR)/man/outman.1
# dh_installinfo
dh_installchangelogs CHANGES
dh_link

View File

@ -1,7 +1,7 @@
Summary: Bforce, Fidonet mailer
Name: bforce
Version: 0.22.8
Release: ugenk4
Version: 0.26.1
Release: 0
Copyright: GPL
Group: Fidonet/mailer
Source0: bforce-%{version}.%{release}.tar.gz
@ -56,7 +56,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(550,uucp,news) /usr/bin/bfstat
%attr(550,uucp,news) /usr/bin/nlookup
%attr(550,uucp,news) /usr/bin/outman
%attr(644,root,root) /usr/share/doc/bforce-0.22.8/*
%attr(644,root,root) /usr/share/doc/bforce/*
%dir %attr(770,uucp,news) /var/log/bforce
%dir %attr(770,uucp,news) /var/spool/fido/ndl
%attr(775,uucp,news) /var/spool/fido/bt

View File

@ -1 +1 @@
0.26
0.26.1

View File

@ -19,11 +19,15 @@
s_cval_entry *conf_first(bforce_config_keyword keyword)
{
s_cval_entry *ptrl;
DEB((D_CONFIG, "conf_first entry nr %d",(int16_t)keyword));
for( ptrl = bforce_config[keyword].data; ptrl; ptrl = ptrl->next )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) ) {
DEB((D_CONFIG, "conf_first ptrl found"));
return ptrl;
}
DEB((D_CONFIG, "conf_first ptrl not found"));
return NULL;
}
@ -32,9 +36,11 @@ s_cval_entry *conf_next(s_cval_entry *ptrl)
ASSERT(ptrl);
for( ptrl = ptrl->next; ptrl; ptrl = ptrl->next )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) ) {
DEB((D_CONFIG, "conf_next ptrl found"));
return ptrl;
}
DEB((D_CONFIG, "conf_next ptrl not found"));
return NULL;
}
@ -91,7 +97,7 @@ long conf_number(bforce_config_keyword keyword)
s_override *conf_override(bforce_config_keyword keyword, s_faddr addr)
{
s_cval_entry *ptrl;
DEB((D_CONFIG, "conf_override entry"));
for( ptrl = conf_first(keyword); ptrl; ptrl = conf_next(ptrl) )
if( !ftn_addrcomp(ptrl->d.override.addr, addr) )
return &ptrl->d.override;

View File

@ -56,17 +56,24 @@ int nodelist_checkflag(const char *nodeflags, const char *flag)
const char *searchbase = nodeflags;
char *q;
while( p = strstr(searchbase, flag) )
{
if( p == searchbase || *(p-1) == ',' )
DEB((D_NODELIST, "nodelist: checking flag \"%s\" in flags \"%s\"", flag, nodeflags));
if ( nodeflags ) {
while( p = strcasestr(searchbase, flag) ) // p - found flag
{
if( (q = strchr(p, ',')) == NULL || (q - p) == strlen(flag) )
return 0;
if( (strchrnul(p, ':') - p) == strlen(flag) )
return 0;
}
if( (p == searchbase) || (p != searchbase && *(p-1) == ',') )
{
if( (q = strchr(p, ',')) == NULL || (q - p) == strlen(flag) ) {
DEB((D_NODELIST, "nodelist: found flag %s", flag));
return 0;
}
if( (strchrnul(p, ':') - p) == strlen(flag) ) {
DEB((D_NODELIST, "nodelist: found flag %s", flag));
return 0;
}
}
searchbase = p + 1; // avoid finding again the same
searchbase = p + 1; // avoid finding again the same
}
}
return 1;

View File

@ -523,20 +523,21 @@ case 3: // send password on outgoing or pw confirmation on incoming
case 4:
char *p;
;
char pbuf[32];
int pwset = 0;
if (bstate->mode==bmode_incoming_handshake) {
char * p;
DEB((D_24554, "incoming handshake is complete"));
bstate->complete = true;
for (i=0;i<state.n_remoteaddr;i++)
if( !session_get_password(state.remoteaddrs[i].addr, pbuf, sizeof(pbuf)) ){
pwset = 1;
init_keys(bstate->remote_data->keys_in, pbuf?pbuf:"-");
init_keys(bstate->remote_data->keys_in, pbuf[0]?pbuf:"-");
init_keys(bstate->remote_data->keys_out, "-");
for (p=pbuf?pbuf:"-"; *p; p++)
for (p=pbuf[0]?pbuf:"-"; *p; p++)
update_keys(bstate->remote_data->keys_out, (int)*p);
}
//TODO: FIX incoming options
@ -717,14 +718,17 @@ case BPMSG_ADR: /* List of addresses */
bstate->extraislast = false;
sprintf(bstate->extracmd+1,"OPT MB CRYPT");
s_override ovr;
DEB((D_24554, "process adr overrides"));
for(i = 0; i < state.n_remoteaddr; i++) {
ovr.sFlags = "";
override_get (&ovr, state.remoteaddrs[i].addr, 0);
DEB((D_24554, "got adr overrides"));
if (nodelist_checkflag (ovr.sFlags, "NR")==0) {
strcat (bstate->extracmd+1, " NR");
break;
}
strcat (bstate->extracmd+1, " NR");
break;
}
}
DEB((D_24554, "process adr overrides"));
}
// further use extracmd only for errors
@ -951,10 +955,10 @@ got_skip:
check_that_all_files_are_confirmed:
{
int i;
for (i = 0; i < bstate->pi->n_sentfiles; i++) {
int j;
for (j = 0; j < bstate->pi->n_sentfiles; j++) {
if (bstate->pi->sentfiles[i].status == FSTAT_WAITACK) {
DEB((D_24554, "sent file %d waits for acknowlede", i));
DEB((D_24554, "sent file %d waits for acknowlede", j));
return 1;
}
}
@ -1153,7 +1157,7 @@ default:
void binkp_process_NUL(s_binkp_sysinfo *remote_data, char *buffer)
{
char *p, *q;
if( strncmp(buffer, "SYS ", 4) == 0 )
strnxcpy(remote_data->systname, buffer+4, sizeof(remote_data->systname));
@ -1181,9 +1185,11 @@ void binkp_process_NUL(s_binkp_sysinfo *remote_data, char *buffer)
}
else if( strncmp(buffer, "VER ", 4) == 0 )
{
char *p;
/* <mailer> [<protocol>/<vermaj>.<vermin>] */
if( (p = strchr(buffer+4, ' ')) )
{
char *q;
strnxcpy(remote_data->progname, buffer+4,
MIN(sizeof(remote_data->progname), p - (buffer+4) + 1));
++p;
@ -1217,13 +1223,16 @@ void binkp_process_ADR(char *buffer)
{
s_faddr addr;
char *p, *q;
DEB((D_24554, "process ADR: %s", buffer));
for( p = string_token(buffer, &q, NULL, 0); p; p = string_token(NULL, &q, NULL, 0) )
{
DEB((D_24554, "binkp_process_ADR got token \"%s\" ",p ));
if( ftn_addrparse(&addr, p, FALSE) )
log("BinkP got unparsable address \"%s\"", string_printable(p));
else
else {
session_addrs_add(&state.remoteaddrs, &state.n_remoteaddr, addr);
DEB((D_24554, "process ADR complete"));
}
}
}

View File

@ -536,7 +536,7 @@ defalt:
if ( ! resflg )
{
char *p = strcasestr(pbuf, target);
char *p = string_casestr(pbuf, target);
if ( p )
{

View File

@ -135,14 +135,16 @@ int override_get(s_override *dest, s_faddr addr, int line)
{
s_override *p;
int curline = 0;
p = conf_override(cf_override, addr);
curline = 0;
while( p && curline < line )
if (line > 0)
{
p = p->hidden;
++curline;
while( p && curline < line )
{
p = p->hidden;
++curline;
}
}
if( p && curline == line )
@ -152,7 +154,7 @@ int override_get(s_override *dest, s_faddr addr, int line)
}
else if( line == 0 )
return 0;
else
else
return 1;
}

View File

@ -264,7 +264,7 @@ int session_check_addr(s_faddr addr)
int session_get_password(s_faddr addr, char *buffer, size_t buflen)
{
s_cval_entry *pwd_ptr;
buffer[0]='\0';
for( pwd_ptr = conf_first(cf_password); pwd_ptr;
pwd_ptr = conf_next(pwd_ptr) )
{

View File

@ -141,8 +141,8 @@ typedef struct override {
char *sPhone;
char *sFlags;
s_timevec worktime;
s_timevec freqtime;
char *run;
s_timevec freqtime;
char *run;
struct override *hidden; /* Hidden lines list */
} s_override;
@ -159,130 +159,130 @@ typedef struct filebox {
} s_filebox;
typedef enum {
cf_address,
cf_amiga_outbound_directory,
cf_binkp_timeout,
cf_daemon_circle,
cf_daemon_circle_crash,
cf_daemon_circle_direct,
cf_daemon_circle_immed,
cf_daemon_circle_modem,
cf_daemon_circle_normal,
cf_daemon_circle_rescan,
cf_daemon_maxclients_modem,
cf_daemon_maxclients_tcpip,
cf_daemon_pid_file,
cf_delay_files_recv,
cf_delay_files_send,
cf_disable_aka_matching,
cf_domain,
cf_emsi_FR_time,
cf_emsi_OH_time,
cf_emsi_slave_sends_nak,
cf_emsi_send_tz,
cf_emsi_send_time,
cf_filebox,
cf_filebox_directory,
cf_flags,
cf_flo_translate,
cf_freq_alias_list,
cf_freq_dir_list,
cf_freq_ignore_masks,
cf_freq_limit_number,
cf_freq_limit_size,
cf_freq_limit_time,
cf_freq_min_speed,
cf_freq_srif_command,
cf_incnet_flag,
cf_incarc_flag,
cf_inctic_flag,
cf_incfile_flag,
cf_hide_our_aka,
cf_history_file,
cf_hydra_options,
cf_hydra_mincps_recv,
cf_hydra_mincps_send,
cf_hydra_tx_window,
cf_hydra_rx_window,
cf_inbound_directory,
cf_location,
cf_log_file,
cf_log_file_daemon,
cf_max_speed,
cf_maxtries,
cf_maxtries_nodial,
cf_maxtries_noansw,
cf_maxtries_noconn,
cf_maxtries_hshake,
cf_maxtries_sessions,
cf_min_cps_recv,
cf_min_cps_send,
cf_min_cps_time,
cf_min_free_space,
cf_min_speed_in,
cf_min_speed_out,
cf_mode_netmail,
cf_mode_arcmail,
cf_mode_request,
cf_mode_ticfile,
cf_mode_default,
cf_modem_can_send_break,
cf_modem_dial_prefix,
cf_modem_dial_suffix,
cf_modem_dial_response,
cf_modem_hangup_command,
cf_modem_port,
cf_modem_reset_command,
cf_modem_stat_command,
cf_nodelist,
cf_nodelist_directory,
cf_nodial_flag,
cf_override,
cf_options,
cf_outbound_directory,
cf_password,
cf_phone,
cf_phone_translate,
cf_proto_order,
cf_recode_file_in,
cf_recode_file_out,
cf_recode_intro_in,
cf_recv_buffer_size,
cf_rescan_delay,
cf_run_after_handshake,
cf_run_after_session,
cf_run_before_session,
cf_session_limit_in,
cf_session_limit_out,
cf_skip_files_recv,
cf_status_directory,
cf_system_name,
cf_sysop_name,
cf_uucp_lock_directory,
cf_wait_carrier_in,
cf_wait_carrier_out,
cf_zmodem_mincps_recv,
cf_zmodem_mincps_send,
cf_zmodem_send_dummy_pkt,
cf_zmodem_skip_by_pos,
cf_zmodem_start_block_size,
cf_zmodem_tx_window,
cf_nomail_flag,
cf_bind_ip,
cf_recieved_to_lower,
cf_address, // 0
cf_amiga_outbound_directory, // 1
cf_binkp_timeout, // 2
cf_daemon_circle, // 3
cf_daemon_circle_crash, // 4
cf_daemon_circle_direct, // 5
cf_daemon_circle_immed, // 6
cf_daemon_circle_modem, // 7
cf_daemon_circle_normal, // 8
cf_daemon_circle_rescan, // 9
cf_daemon_maxclients_modem, // 10
cf_daemon_maxclients_tcpip, // 11
cf_daemon_pid_file, // 12
cf_delay_files_recv, // 13
cf_delay_files_send, // 14
cf_disable_aka_matching, // 15
cf_domain, // 16
cf_emsi_FR_time, // 17
cf_emsi_OH_time, // 18
cf_emsi_slave_sends_nak, // 19
cf_emsi_send_tz, // 20
cf_emsi_send_time, // 21
cf_filebox, // 22
cf_filebox_directory, // 23
cf_flags, // 24
cf_flo_translate, // 25
cf_freq_alias_list, // 26
cf_freq_dir_list, // 27
cf_freq_ignore_masks, // 28
cf_freq_limit_number, // 29
cf_freq_limit_size, // 30
cf_freq_limit_time, // 31
cf_freq_min_speed, // 32
cf_freq_srif_command, // 33
cf_incnet_flag, // 34
cf_incarc_flag, // 35
cf_inctic_flag, // 36
cf_incfile_flag, // 37
cf_hide_our_aka, // 38
cf_history_file, // 39
cf_hydra_options, // 40
cf_hydra_mincps_recv, // 41
cf_hydra_mincps_send, // 42
cf_hydra_tx_window, // 43
cf_hydra_rx_window, // 44
cf_inbound_directory, // 45
cf_location, // 46
cf_log_file, // 47
cf_log_file_daemon, // 48
cf_max_speed, // 49
cf_maxtries, // 50
cf_maxtries_nodial, // 51
cf_maxtries_noansw, // 52
cf_maxtries_noconn, // 53
cf_maxtries_hshake, // 54
cf_maxtries_sessions, // 55
cf_min_cps_recv, // 56
cf_min_cps_send, // 57
cf_min_cps_time, // 58
cf_min_free_space, // 59
cf_min_speed_in, // 60
cf_min_speed_out, // 61
cf_mode_netmail, // 62
cf_mode_arcmail, // 63
cf_mode_request, // 64
cf_mode_ticfile, // 65
cf_mode_default, // 66
cf_modem_can_send_break, // 67
cf_modem_dial_prefix, // 68
cf_modem_dial_suffix, // 69
cf_modem_dial_response, // 70
cf_modem_hangup_command, // 71
cf_modem_port, // 72
cf_modem_reset_command, // 73
cf_modem_stat_command, // 74
cf_nodelist, // 75
cf_nodelist_directory, // 76
cf_nodial_flag, // 77
cf_override, // 78
cf_options, // 79
cf_outbound_directory, // 80
cf_password, // 81
cf_phone, // 82
cf_phone_translate, // 83
cf_proto_order, // 84
cf_recode_file_in, // 85
cf_recode_file_out, // 86
cf_recode_intro_in, // 87
cf_recv_buffer_size, // 88
cf_rescan_delay, // 89
cf_run_after_handshake, // 90
cf_run_after_session, // 91
cf_run_before_session, // 92
cf_session_limit_in, // 93
cf_session_limit_out, // 94
cf_skip_files_recv, // 95
cf_status_directory, // 96
cf_system_name, // 97
cf_sysop_name, // 98
cf_uucp_lock_directory, // 99
cf_wait_carrier_in, // 100
cf_wait_carrier_out, // 101
cf_zmodem_mincps_recv, // 102
cf_zmodem_mincps_send, // 103
cf_zmodem_send_dummy_pkt, // 104
cf_zmodem_skip_by_pos, // 105
cf_zmodem_start_block_size, // 106
cf_zmodem_tx_window, // 107
cf_nomail_flag, // 108
cf_bind_ip, // 109
cf_recieved_to_lower, // 110
#ifdef USE_SYSLOG
cf_syslog_facility,
#endif
#ifdef DEBUG
cf_debug_file,
cf_debug_level,
cf_debug_file, // 111
cf_debug_level, // 112
#endif
cf_split_inbound,
cf_split_inbound, // 113
#ifdef NETSPOOL
cf_netspool_host,
cf_netspool_port,
#endif
cf_fidodnszone,
cf_fidodnszone, // 114
BFORCE_NUMBER_OF_KEYWORDS
} bforce_config_keyword;