Merge pull request 'Fixed Makefile and build systems to include man-pages. Added Alt-linux workflow. Fix rpm spec-file' (#3) from zx into master
Reviewed-on: #3
This commit is contained in:
commit
78aac4f18c
65
.gitea/workflows/alt.yaml
Normal file
65
.gitea/workflows/alt.yaml
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
name: Altlinux build
|
||||||
|
run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }} 🚀
|
||||||
|
on:
|
||||||
|
- push
|
||||||
|
- workflow_dispatch
|
||||||
|
if: ${{ github.ref }} == 'refs/head/master'
|
||||||
|
jobs:
|
||||||
|
build-alt:
|
||||||
|
runs-on: alt-latest
|
||||||
|
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checking environment
|
||||||
|
continue-on-error: true
|
||||||
|
run: printenv
|
||||||
|
- name: Installing prerequisites - update apt
|
||||||
|
run: apt-get update
|
||||||
|
- name: Installing prerequisites - install nodejs for actions & git
|
||||||
|
run: apt-get install -y git nodejs su
|
||||||
|
- name: Installing build environment
|
||||||
|
continue-on-error: true
|
||||||
|
run: |
|
||||||
|
apt-get install -y gcc rpm-build rpmlint make python gear hasher fakeroot patch rpmdevtools
|
||||||
|
- name: Installing needed software
|
||||||
|
run: apt-get install -y bison tcl
|
||||||
|
- name: Adding build user
|
||||||
|
run: useradd -d /builder -g users -m builder
|
||||||
|
- name: Fetching sources
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Getting version info
|
||||||
|
run: |
|
||||||
|
echo "BFORCE_VER=$(cat ${{ env.GITHUB_WORKSPACE }}/source/.version)" >> $GITHUB_ENV
|
||||||
|
- name: Compressing source to tar.gz archive
|
||||||
|
run: |
|
||||||
|
tar -cvzf ../bforce-${{ env.BFORCE_VER }}.tar.gz -C ${{ env.GITHUB_WORKSPACE }}/.. bforce
|
||||||
|
cp -v ${{ env.GITHUB_WORKSPACE }}/rpm/bforce.spec /builder/
|
||||||
|
chown builder /builder/bforce.spec
|
||||||
|
echo '-------------------------------------------------------'
|
||||||
|
pwd
|
||||||
|
ls /builder
|
||||||
|
sed -i 's/^# %setup/%setup/' /builder/bforce.spec
|
||||||
|
- name: Building buildtree
|
||||||
|
run: |
|
||||||
|
su - builder -c "cd /builder && mkdir -pv rpmbuild/{RPMS,SRPMS,SOURCES,BUILD,SPECS}"
|
||||||
|
ls /builder -l
|
||||||
|
mkdir -pv /builder/rpmbuild/SOURCES
|
||||||
|
mv ${{ env.GITHUB_WORKSPACE }}/../bforce-${{ env.BFORCE_VER }}.tar.gz /builder/rpmbuild/SOURCES/
|
||||||
|
chown -R builder /builder/*
|
||||||
|
- name: Building binary and source RPM
|
||||||
|
run: |
|
||||||
|
su - builder -c 'rpmbuild -bb /builder/bforce.spec --define "_topdir /builder/rpmbuild"'
|
||||||
|
- name: Constructing artifact name and version
|
||||||
|
run: |
|
||||||
|
echo "BFORCE_VERLONG=$(cat ${{ env.GITHUB_WORKSPACE }}/source/.version)-$(date +%Y%M%d)" >> $GITHUB_ENV
|
||||||
|
- name: Retrieving artifact files
|
||||||
|
run: mkdir bforce && cp /builder/rpmbuild/RPMS/x86_64/bforce-*.rpm bforce
|
||||||
|
- name: Try to upload artifacts bin
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: bforce-${{ env.BFORCE_VERLONG }}-Alt
|
||||||
|
path: /builder/rpmbuild/RPMS/x86_64
|
||||||
|
- name: Echo OK
|
||||||
|
run: echo "All OK"
|
@ -1,5 +1,6 @@
|
|||||||

|

|
||||||

|

|
||||||
|

|
||||||
|
|
||||||
BinkleyForce FTN mailer
|
BinkleyForce FTN mailer
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -1,54 +1,66 @@
|
|||||||
Summary: Bforce, Fidonet mailer
|
Summary: Bforce, Fidonet mailer
|
||||||
Name: bforce
|
Name: bforce
|
||||||
Version: 0.26.1
|
Version: 0.26.1
|
||||||
Release: 0
|
Release: %{_vendor}.1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: Fidonet/mailer
|
Group: Fidonet/mailer
|
||||||
Source0: bforce-%{version}.%{release}.tar.gz
|
Source0: bforce-%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-root
|
BuildRoot: %{_tmppath}/%{name}-root
|
||||||
|
|
||||||
%description
|
%description
|
||||||
BFORCE is a FTN mailer. Supports PSTN and binkp sessions.
|
BFORCE is a FTN mailer. Supports PSTN and binkp sessions.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
#%setup -q -n %{name}-%{version}.%{release}
|
# uncomment this to build from tarball
|
||||||
cd source
|
# %setup -q -n %{name}
|
||||||
./configure --prefix=/usr --disable-log-passwd --sysconfdir=/etc/bforce --bindir=/usr/bin --with-owner=uucp --with-group=news
|
echo "------------ PREPARING RPM BUILD IN $(pwd) ------------"
|
||||||
|
export RPM_PACKAGE_VERSION=$(cat %{_builddir}/%{name}/source/.version)
|
||||||
|
cd %{_builddir}/%{name}/source
|
||||||
|
%{_builddir}/%{name}/source/configure --prefix=/usr --disable-log-passwd --sysconfdir=/etc/bforce --bindir=/usr/bin --with-owner=uucp --with-group=news CFLAGS='-g1'
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cd source
|
echo "------------ BUILDING RPM IN $(pwd) ------------"
|
||||||
|
cd %{_builddir}/%{name}/source
|
||||||
make
|
make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/bforce
|
mkdir -p $RPM_BUILD_ROOT/etc/bforce
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/log/bforce
|
mkdir -p $RPM_BUILD_ROOT/var/log/bforce
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bt/pin
|
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bt/pin
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bt/in
|
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bt/in
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/ndl
|
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/ndl
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bforce
|
mkdir -p $RPM_BUILD_ROOT/var/spool/fido/bforce
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/$RPM_DOC_DIR/$RPM_PACKAGE_NAME-$RPM_PACKAGE_VERSION
|
||||||
|
|
||||||
|
|
||||||
install -o uucp -g news source/bin/bforce $RPM_BUILD_ROOT/usr/bin/bforce
|
install %{_builddir}/%{name}/source/bin/bforce $RPM_BUILD_ROOT/usr/bin/bforce
|
||||||
install -o uucp -g news source/bin/bfindex $RPM_BUILD_ROOT/usr/bin/bfindex
|
install %{_builddir}/%{name}/source/bin/bfindex $RPM_BUILD_ROOT/usr/bin/bfindex
|
||||||
install -o uucp -g news source/bin/bfstat $RPM_BUILD_ROOT/usr/bin/bfstat
|
install %{_builddir}/%{name}/source/bin/bfstat $RPM_BUILD_ROOT/usr/bin/bfstat
|
||||||
install -o uucp -g news source/bin/nlookup $RPM_BUILD_ROOT/usr/bin/nlookup
|
install %{_builddir}/%{name}/source/bin/nlookup $RPM_BUILD_ROOT/usr/bin/nlookup
|
||||||
install -o uucp -g news examples/bforce.conf $RPM_BUILD_ROOT/etc/bforce/bforce.conf.sample
|
install %{_builddir}/%{name}/examples/bforce.conf $RPM_BUILD_ROOT/etc/bforce/bforce.conf.sample
|
||||||
install -o uucp -g news examples/bforce.passwd $RPM_BUILD_ROOT/etc/bforce/bforce.passwd.sample
|
install %{_builddir}/%{name}/examples/bforce.passwd $RPM_BUILD_ROOT/etc/bforce/bforce.passwd.sample
|
||||||
install -o uucp -g news examples/bforce.subst $RPM_BUILD_ROOT/etc/bforce/bforce.subst.sample
|
install %{_builddir}/%{name}/examples/bforce.subst $RPM_BUILD_ROOT/etc/bforce/bforce.subst.sample
|
||||||
install -o uucp -g news examples/freq.aliases $RPM_BUILD_ROOT/etc/bforce/freq.aliases.sample
|
install %{_builddir}/%{name}/examples/freq.aliases $RPM_BUILD_ROOT/etc/bforce/freq.aliases.sample
|
||||||
install -o uucp -g news examples/freq.dirs $RPM_BUILD_ROOT/etc/bforce/freq.dirs.sample
|
install %{_builddir}/%{name}/examples/freq.dirs $RPM_BUILD_ROOT/etc/bforce/freq.dirs.sample
|
||||||
install -m755 -o uucp -g news contrib/outman $RPM_BUILD_ROOT/usr/bin/outman
|
install %{_builddir}/%{name}/contrib/outman $RPM_BUILD_ROOT/usr/bin/outman
|
||||||
|
cp %{_builddir}/%{name}/man/*.1 $RPM_BUILD_ROOT/usr/share/man/man1/
|
||||||
|
cp %{_builddir}/%{name}/{README.md,CHANGES,COPYING,INSTALL,INSTALL.ru,SYSLOG,TODO} $RPM_BUILD_ROOT/$RPM_DOC_DIR/$RPM_PACKAGE_NAME-$RPM_PACKAGE_VERSION/
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc README README.kst CHANGES CHANGES.kst CHANGES.ugenk COPYING INSTALL.ru README.ugenk SYSLOG TODO
|
%{_mandir}/man1/bforce.1.xz
|
||||||
|
%{_mandir}/man1/bfindex.1.xz
|
||||||
|
%{_mandir}/man1/bfstat.1.xz
|
||||||
|
%{_mandir}/man1/nlookup.1.xz
|
||||||
|
%{_mandir}/man1/outman.1.xz
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%attr(550,uucp,news) /usr/bin/bforce
|
%attr(550,uucp,news) /usr/bin/bforce
|
||||||
@ -56,7 +68,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%attr(550,uucp,news) /usr/bin/bfstat
|
%attr(550,uucp,news) /usr/bin/bfstat
|
||||||
%attr(550,uucp,news) /usr/bin/nlookup
|
%attr(550,uucp,news) /usr/bin/nlookup
|
||||||
%attr(550,uucp,news) /usr/bin/outman
|
%attr(550,uucp,news) /usr/bin/outman
|
||||||
%attr(644,root,root) /usr/share/doc/bforce/*
|
%attr(644,root,root) /usr/share/doc/bforce-%{version}/*
|
||||||
%dir %attr(770,uucp,news) /var/log/bforce
|
%dir %attr(770,uucp,news) /var/log/bforce
|
||||||
%dir %attr(770,uucp,news) /var/spool/fido/ndl
|
%dir %attr(770,uucp,news) /var/spool/fido/ndl
|
||||||
%attr(775,uucp,news) /var/spool/fido/bt
|
%attr(775,uucp,news) /var/spool/fido/bt
|
||||||
|
@ -13,13 +13,14 @@ CC = @CC@
|
|||||||
INCLUDES = -I./include
|
INCLUDES = -I./include
|
||||||
CFLAGS = @CFLAGS@ -fno-builtin
|
CFLAGS = @CFLAGS@ -fno-builtin
|
||||||
LIBS = @LIBS@ @CLOCK_LIB@
|
LIBS = @LIBS@ @CLOCK_LIB@
|
||||||
YACC = @YACC@
|
YACC = @YACC@ -l
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
SRCDIR = @srcdir@
|
SRCDIR = @srcdir@
|
||||||
SRCDIRCONF = $(SRCDIR)/../examples
|
SRCDIRCONF = $(SRCDIR)/../examples
|
||||||
CONTRIBDIR = $(SRCDIR)/../contrib
|
CONTRIBDIR = $(SRCDIR)/../contrib
|
||||||
|
CONTRIBMAN = $(SRCDIR)/../man
|
||||||
|
|
||||||
OWNER = @OWNER@
|
OWNER = @OWNER@
|
||||||
GROUP = @GROUP@
|
GROUP = @GROUP@
|
||||||
@ -27,6 +28,7 @@ CONFDIR = @sysconfdir@
|
|||||||
BINDIR = @bindir@
|
BINDIR = @bindir@
|
||||||
LOGDIR = @LOGDIR@
|
LOGDIR = @LOGDIR@
|
||||||
SPOOLDIR = @SPOOLDIR@
|
SPOOLDIR = @SPOOLDIR@
|
||||||
|
MANDIR = @MANDIR@
|
||||||
|
|
||||||
DAEMON_LOGFILE = $(LOGDIR)/bf-daemon
|
DAEMON_LOGFILE = $(LOGDIR)/bf-daemon
|
||||||
BFORCE_LOGFILE = $(LOGDIR)/bf-log
|
BFORCE_LOGFILE = $(LOGDIR)/bf-log
|
||||||
@ -175,6 +177,7 @@ installdirs:
|
|||||||
if [ ! -d $(SPOOLDIR)/bt/out ]; then mkdir -p $(SPOOLDIR)/bt/out; fi
|
if [ ! -d $(SPOOLDIR)/bt/out ]; then mkdir -p $(SPOOLDIR)/bt/out; fi
|
||||||
if [ ! -d $(SPOOLDIR)/ndl ]; then mkdir -p $(SPOOLDIR)/ndl; fi
|
if [ ! -d $(SPOOLDIR)/ndl ]; then mkdir -p $(SPOOLDIR)/ndl; fi
|
||||||
if [ ! -d $(SPOOLDIR)/bforce ]; then mkdir -p $(SPOOLDIR); fi
|
if [ ! -d $(SPOOLDIR)/bforce ]; then mkdir -p $(SPOOLDIR); fi
|
||||||
|
if [ ! -d $(MANDIR)/man1 ]; then mkdir -p $(MANDIR)/man1; fi
|
||||||
chown $(OWNER):$(GROUP) $(CONFDIR)
|
chown $(OWNER):$(GROUP) $(CONFDIR)
|
||||||
chown $(OWNER):$(GROUP) $(LOGDIR)
|
chown $(OWNER):$(GROUP) $(LOGDIR)
|
||||||
chown $(OWNER):$(GROUP) $(SPOOLDIR)/bt/in
|
chown $(OWNER):$(GROUP) $(SPOOLDIR)/bt/in
|
||||||
@ -196,9 +199,16 @@ install-config:
|
|||||||
$(INSTALL_DATA) -o $(OWNER) -g $(GROUP) $(SRCDIRCONF)/freq.aliases $(CONFDIR)/freq.aliases.sample
|
$(INSTALL_DATA) -o $(OWNER) -g $(GROUP) $(SRCDIRCONF)/freq.aliases $(CONFDIR)/freq.aliases.sample
|
||||||
$(INSTALL_DATA) -o $(OWNER) -g $(GROUP) $(SRCDIRCONF)/freq.dirs $(CONFDIR)/freq.dirs.sample
|
$(INSTALL_DATA) -o $(OWNER) -g $(GROUP) $(SRCDIRCONF)/freq.dirs $(CONFDIR)/freq.dirs.sample
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
$(INSTALL) $(CONTRIBMAN)/bforce.1 $(MANDIR)/man1/bforce.1
|
||||||
|
$(INSTALL) $(CONTRIBMAN)/bfindex.1 $(MANDIR)/man1/bfindex.1
|
||||||
|
$(INSTALL) $(CONTRIBMAN)/bfstat.1 $(MANDIR)/man1/bforce.1
|
||||||
|
$(INSTALL) $(CONTRIBMAN)/nlookup.1 $(MANDIR)/man1/bforce.1
|
||||||
|
$(INSTALL) $(CONTRIBMAN)/outman.1 $(MANDIR)/man1/bforce.1
|
||||||
|
|
||||||
install-contrib:
|
install-contrib:
|
||||||
$(INSTALL_PROGRAM) -o $(OWNER) -g $(GROUP) $(CONTRIBDIR)/outman $(BINDIR)/outman
|
$(INSTALL_PROGRAM) -o $(OWNER) -g $(GROUP) $(CONTRIBDIR)/outman $(BINDIR)/outman
|
||||||
@echo "Please, edit $(BINDIR)/outman"
|
@echo "Please, edit $(BINDIR)/outman"
|
||||||
|
|
||||||
install: install-bin install-config
|
install: install-bin install-config install-man
|
||||||
|
|
||||||
|
@ -810,6 +810,7 @@ int daemon_pidfile(int cmd)
|
|||||||
res = fscanf(pf, "%d", &hispid);
|
res = fscanf(pf, "%d", &hispid);
|
||||||
if (res != 1) {
|
if (res != 1) {
|
||||||
log("daemon pidfile: not readable");
|
log("daemon pidfile: not readable");
|
||||||
|
fclose(pf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -854,6 +855,7 @@ int daemon_pidfile(int cmd)
|
|||||||
res = fscanf(pf, "%d", &hispid);
|
res = fscanf(pf, "%d", &hispid);
|
||||||
if (res != 1) {
|
if (res != 1) {
|
||||||
log("daemon pidfile: not readable");
|
log("daemon pidfile: not readable");
|
||||||
|
fclose(pf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -883,6 +885,7 @@ int daemon_pidfile(int cmd)
|
|||||||
res = fscanf(pf, "%d", &hispid);
|
res = fscanf(pf, "%d", &hispid);
|
||||||
if (res != 1) {
|
if (res != 1) {
|
||||||
log("daemon pidfile: not readable");
|
log("daemon pidfile: not readable");
|
||||||
|
fclose(pf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ int daemon_line_add(const char *name, int type)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for( i = 0; i < lines_num; i++ )
|
for( i = 0; i < lines_num; i++ )
|
||||||
if( !strcmp(lines_tab[i].name, name) )
|
if( (lines_tab) && !strcmp(lines_tab[i].name, name) )
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
log("register new line \"%s\"", name);
|
log("register new line \"%s\"", name);
|
||||||
@ -90,13 +90,12 @@ bool daemon_line_isready(const char *name)
|
|||||||
void daemon_lines_deinit(void)
|
void daemon_lines_deinit(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for( i = 0; i < lines_num; i++ )
|
|
||||||
if( lines_tab[i].name )
|
|
||||||
free(lines_tab[i].name);
|
|
||||||
|
|
||||||
if( lines_tab )
|
if( lines_tab )
|
||||||
{
|
{
|
||||||
|
for( i = 0; i < lines_num; i++ )
|
||||||
|
if( lines_tab[i].name )
|
||||||
|
free(lines_tab[i].name);
|
||||||
|
|
||||||
free(lines_tab);
|
free(lines_tab);
|
||||||
lines_tab = NULL;
|
lines_tab = NULL;
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/* First part of user prologue. */
|
/* First part of user prologue. */
|
||||||
#line 49 "expression.y"
|
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
#include "confread.h"
|
#include "confread.h"
|
||||||
@ -110,7 +110,7 @@ static int yyparse(void);
|
|||||||
static int yyerror(const char *s);
|
static int yyerror(const char *s);
|
||||||
|
|
||||||
|
|
||||||
#line 114 "expression.tab.c"
|
|
||||||
|
|
||||||
# ifndef YY_CAST
|
# ifndef YY_CAST
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
@ -1225,25 +1225,25 @@ yyreduce:
|
|||||||
switch (yyn)
|
switch (yyn)
|
||||||
{
|
{
|
||||||
case 2: /* fullline: expression */
|
case 2: /* fullline: expression */
|
||||||
#line 94 "expression.y"
|
|
||||||
{
|
{
|
||||||
DEB((D_EVENT, "[yacc] expression return %d", yyvsp[0]));
|
DEB((D_EVENT, "[yacc] expression return %d", yyvsp[0]));
|
||||||
expr_result = yyvsp[0];
|
expr_result = yyvsp[0];
|
||||||
}
|
}
|
||||||
#line 1231 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: /* expression: elemexp */
|
case 3: /* expression: elemexp */
|
||||||
#line 100 "expression.y"
|
|
||||||
{
|
{
|
||||||
DEB((D_EVENT, "[yacc] elemexp return %d", yyvsp[0]));
|
DEB((D_EVENT, "[yacc] elemexp return %d", yyvsp[0]));
|
||||||
yyval = yyvsp[0];
|
yyval = yyvsp[0];
|
||||||
}
|
}
|
||||||
#line 1240 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: /* expression: NOT expression */
|
case 4: /* expression: NOT expression */
|
||||||
#line 105 "expression.y"
|
|
||||||
{
|
{
|
||||||
DEB((D_EVENT, "[yacc] not exprression %d", yyvsp[0]));
|
DEB((D_EVENT, "[yacc] not exprression %d", yyvsp[0]));
|
||||||
if( (yyvsp[0]) < 0 )
|
if( (yyvsp[0]) < 0 )
|
||||||
@ -1251,190 +1251,190 @@ yyreduce:
|
|||||||
else
|
else
|
||||||
yyval = !(yyvsp[0]);
|
yyval = !(yyvsp[0]);
|
||||||
}
|
}
|
||||||
#line 1252 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5: /* expression: expression LOGOP expression */
|
case 5: /* expression: expression LOGOP expression */
|
||||||
#line 113 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_logic(yyvsp[-2], yyvsp[-1], yyvsp[0]);
|
yyval = expr_check_logic(yyvsp[-2], yyvsp[-1], yyvsp[0]);
|
||||||
}
|
}
|
||||||
#line 1260 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6: /* expression: OPENB expression CLOSEB */
|
case 6: /* expression: OPENB expression CLOSEB */
|
||||||
#line 117 "expression.y"
|
|
||||||
{
|
{
|
||||||
DEB((D_EVENT, "eventexp: [yacc] backeted.expr %d", yyvsp[-1]));
|
DEB((D_EVENT, "eventexp: [yacc] backeted.expr %d", yyvsp[-1]));
|
||||||
yyval = yyvsp[-1];
|
yyval = yyvsp[-1];
|
||||||
}
|
}
|
||||||
#line 1269 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7: /* elemexp: INCOMING */
|
case 7: /* elemexp: INCOMING */
|
||||||
#line 123 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_incoming();
|
yyval = expr_check_incoming();
|
||||||
}
|
}
|
||||||
#line 1277 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8: /* elemexp: OUTGOING */
|
case 8: /* elemexp: OUTGOING */
|
||||||
#line 127 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_outgoing();
|
yyval = expr_check_outgoing();
|
||||||
}
|
}
|
||||||
#line 1285 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 9: /* elemexp: LISTED */
|
case 9: /* elemexp: LISTED */
|
||||||
#line 131 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_listed();
|
yyval = expr_check_listed();
|
||||||
}
|
}
|
||||||
#line 1293 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 10: /* elemexp: PROTECTED */
|
case 10: /* elemexp: PROTECTED */
|
||||||
#line 135 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_protected();
|
yyval = expr_check_protected();
|
||||||
}
|
}
|
||||||
#line 1301 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 11: /* elemexp: FLAG flagstring */
|
case 11: /* elemexp: FLAG flagstring */
|
||||||
#line 139 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = yyvsp[0];
|
yyval = yyvsp[0];
|
||||||
}
|
}
|
||||||
#line 1309 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 12: /* elemexp: CONNSPEED AROP NUMBER */
|
case 12: /* elemexp: CONNSPEED AROP NUMBER */
|
||||||
#line 143 "expression.y"
|
|
||||||
{
|
{
|
||||||
if( state.valid && state.connspeed > 0 )
|
if( state.valid && state.connspeed > 0 )
|
||||||
yyval = expr_check_arop(state.connspeed, yyvsp[-1], yyvsp[0]);
|
yyval = expr_check_arop(state.connspeed, yyvsp[-1], yyvsp[0]);
|
||||||
else
|
else
|
||||||
yyval = -1;
|
yyval = -1;
|
||||||
}
|
}
|
||||||
#line 1320 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 13: /* elemexp: SPEED AROP NUMBER */
|
case 13: /* elemexp: SPEED AROP NUMBER */
|
||||||
#line 150 "expression.y"
|
|
||||||
{
|
{
|
||||||
if( state.valid && state.node.speed > 0 )
|
if( state.valid && state.node.speed > 0 )
|
||||||
yyval = expr_check_arop(state.node.speed, yyvsp[-1], yyvsp[0]);
|
yyval = expr_check_arop(state.node.speed, yyvsp[-1], yyvsp[0]);
|
||||||
else
|
else
|
||||||
yyval = -1;
|
yyval = -1;
|
||||||
}
|
}
|
||||||
#line 1331 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 14: /* elemexp: TZ AROP NUMBER */
|
case 14: /* elemexp: TZ AROP NUMBER */
|
||||||
#line 157 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_arop(time_gmtoffset(), yyvsp[-1], yyvsp[0]);
|
yyval = expr_check_arop(time_gmtoffset(), yyvsp[-1], yyvsp[0]);
|
||||||
}
|
}
|
||||||
#line 1339 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 15: /* elemexp: PHONE TEXT */
|
case 15: /* elemexp: PHONE TEXT */
|
||||||
#line 161 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_phone(expr_p_text);
|
yyval = expr_check_phone(expr_p_text);
|
||||||
}
|
}
|
||||||
#line 1347 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 16: /* elemexp: TIME timestring */
|
case 16: /* elemexp: TIME timestring */
|
||||||
#line 165 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = yyvsp[0];
|
yyval = yyvsp[0];
|
||||||
}
|
}
|
||||||
#line 1355 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 17: /* elemexp: EXEC TEXT */
|
case 17: /* elemexp: EXEC TEXT */
|
||||||
#line 169 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_exec(expr_p_text);
|
yyval = expr_check_exec(expr_p_text);
|
||||||
}
|
}
|
||||||
#line 1363 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 18: /* elemexp: EXIST TEXT */
|
case 18: /* elemexp: EXIST TEXT */
|
||||||
#line 173 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_exist(expr_p_text);
|
yyval = expr_check_exist(expr_p_text);
|
||||||
}
|
}
|
||||||
#line 1371 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 19: /* elemexp: PORT TEXT */
|
case 19: /* elemexp: PORT TEXT */
|
||||||
#line 177 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_port(expr_p_text);
|
yyval = expr_check_port(expr_p_text);
|
||||||
}
|
}
|
||||||
#line 1379 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 20: /* elemexp: MAILER TEXT */
|
case 20: /* elemexp: MAILER TEXT */
|
||||||
#line 181 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_mailer(expr_p_text);
|
yyval = expr_check_mailer(expr_p_text);
|
||||||
}
|
}
|
||||||
#line 1387 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 21: /* elemexp: TEXT */
|
case 21: /* elemexp: TEXT */
|
||||||
#line 185 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_addr(expr_p_text);
|
yyval = expr_check_addr(expr_p_text);
|
||||||
if( yyval == -2 )
|
if( yyval == -2 )
|
||||||
YYABORT;
|
YYABORT;
|
||||||
}
|
}
|
||||||
#line 1397 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 22: /* flagstring: TEXT */
|
case 22: /* flagstring: TEXT */
|
||||||
#line 192 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_flag(expr_p_text);
|
yyval = expr_check_flag(expr_p_text);
|
||||||
}
|
}
|
||||||
#line 1405 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 23: /* flagstring: TEXT COMMA flagstring */
|
case 23: /* flagstring: TEXT COMMA flagstring */
|
||||||
#line 196 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_logic(yyvsp[-2], OR, yyvsp[0]);
|
yyval = expr_check_logic(yyvsp[-2], OR, yyvsp[0]);
|
||||||
}
|
}
|
||||||
#line 1413 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 24: /* timestring: TEXT */
|
case 24: /* timestring: TEXT */
|
||||||
#line 201 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_time(expr_p_text);
|
yyval = expr_check_time(expr_p_text);
|
||||||
if( yyval == -2 )
|
if( yyval == -2 )
|
||||||
YYABORT;
|
YYABORT;
|
||||||
}
|
}
|
||||||
#line 1423 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 25: /* timestring: TEXT COMMA timestring */
|
case 25: /* timestring: TEXT COMMA timestring */
|
||||||
#line 207 "expression.y"
|
|
||||||
{
|
{
|
||||||
yyval = expr_check_logic(yyvsp[-2], OR, yyvsp[0]);
|
yyval = expr_check_logic(yyvsp[-2], OR, yyvsp[0]);
|
||||||
}
|
}
|
||||||
#line 1431 "expression.tab.c"
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
#line 1435 "expression.tab.c"
|
|
||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
@ -1627,7 +1627,7 @@ yyreturnlab:
|
|||||||
return yyresult;
|
return yyresult;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 211 "expression.y"
|
|
||||||
|
|
||||||
|
|
||||||
#include "expression_lex.c"
|
#include "expression_lex.c"
|
||||||
|
@ -115,7 +115,7 @@ static void req_readfrlist(char *fname, s_frlist **frlist, int magic)
|
|||||||
(*ptrl) = (s_frlist*)xmalloc(sizeof(s_frlist));
|
(*ptrl) = (s_frlist*)xmalloc(sizeof(s_frlist));
|
||||||
memset(*ptrl, '\0', sizeof(s_frlist));
|
memset(*ptrl, '\0', sizeof(s_frlist));
|
||||||
|
|
||||||
if( path && *path ) (*ptrl)->path = xstrcpy(path);
|
if( *path ) (*ptrl)->path = xstrcpy(path);
|
||||||
if( !magic && *(path + strlen(path) - 1) != DIRSEPCHR )
|
if( !magic && *(path + strlen(path) - 1) != DIRSEPCHR )
|
||||||
{
|
{
|
||||||
/* add trailing DIRSEP ('/' or ..) to paths */
|
/* add trailing DIRSEP ('/' or ..) to paths */
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#define DEFAULT_PORT 60179 /* Birthday .. mother fucker :) */
|
#define DEFAULT_PORT 60179 /* Birthday .. mother fucker :) */
|
||||||
|
|
||||||
struct addrinfo *ai = NULL;
|
struct addrinfo *paddrinfo = NULL;
|
||||||
|
|
||||||
static RETSIGTYPE tcpip_interrupt(int sig)
|
static RETSIGTYPE tcpip_interrupt(int sig)
|
||||||
{
|
{
|
||||||
@ -171,7 +171,7 @@ int tcpip_connect(const char *hostname, e_tcpmode tcpmode)
|
|||||||
//aihints.ai_socktype = SOCK_STREAM;
|
//aihints.ai_socktype = SOCK_STREAM;
|
||||||
aihints.ai_protocol = IPPROTO_TCP;
|
aihints.ai_protocol = IPPROTO_TCP;
|
||||||
|
|
||||||
nameres = getaddrinfo ( host, port, &aihints, &ai );
|
nameres = getaddrinfo ( host, port, &aihints, &paddrinfo );
|
||||||
if ( nameres != 0 )
|
if ( nameres != 0 )
|
||||||
{
|
{
|
||||||
rc = 1;
|
rc = 1;
|
||||||
@ -208,10 +208,10 @@ int tcpip_connect(const char *hostname, e_tcpmode tcpmode)
|
|||||||
|
|
||||||
if( host ) { free(host); host = NULL; }
|
if( host ) { free(host); host = NULL; }
|
||||||
DEB((D_INFO, "tcpip_connect: resolver got result!"));
|
DEB((D_INFO, "tcpip_connect: resolver got result!"));
|
||||||
aisave = ai;
|
aisave = paddrinfo;
|
||||||
|
|
||||||
if (rc == 0 )
|
if (rc == 0 )
|
||||||
rc = tcpip_connect2(ai);
|
rc = tcpip_connect2(paddrinfo);
|
||||||
|
|
||||||
freeaddrinfo( aisave );
|
freeaddrinfo( aisave );
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ dnl
|
|||||||
dnl $Id$
|
dnl $Id$
|
||||||
dnl
|
dnl
|
||||||
#AC_INIT(bforce/bforce.c)
|
#AC_INIT(bforce/bforce.c)
|
||||||
AC_INIT([bforce],[0.24.1],[zx@zxalexis.ru])
|
AC_INIT([bforce],[0.26.1],[zx@zxalexis.ru])
|
||||||
AC_CONFIG_HEADER(include/config.h)
|
AC_CONFIG_HEADER(include/config.h)
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
dnl # Minimum Autoconf version required.
|
dnl # Minimum Autoconf version required.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user