OpenBCM fwd.bcm Example

========================================================================
Foward example to my Partner BBS PI8CDR.#DRE.NLD.EU
Forward to PI8CDR via telnet ip-address:3602
Sysop: Han – PI8CDR
A – forwarding all if any msg available to send
P – forwarding all with polling even if no msg availabe to send/rcv
. – no fwd operation
Hours 0000 – 2359
0 1 2
BBS 012345678901234567890123 Path
=========================================================================

PI8CDR APAPAPAPAPAPAPAPAPAPAPAP TELNET:ip-address:3602

=========================================================================
The first line of a forward section defines the partner mailbox name (callsign
without SSID), the forward timing (when do forward which mails) and the
connection path to the forward partner. After that, you can add as many lines as
you want to define the usermail and bulletin behaviour. All these additional
lines must have one space as first character in a line.

• “A” (All): All mails (usermail and bulletins) are forwarded.
• “U” (User): Only usermail are forwarded.
• “.”: Nothing is forwarded.
• “P” (Poll): All mails are forwarded (like “A”), and additionally at the
time defined in crontab.bcm (normally each 30 minutes) a forward connect
is being made to the forward partner, also if no mails are in the
forward queue to send. This makes sense, if the partner mailbox has
misconfigured the connect path and therefore can’t send its mails to
your BBS. It makes sense to do such a pool one time a day.
==========================================================================

 -S -T

==========================================================================
-b<bytes> maximum size of forward mails (e.g. > 10k)
-d (delayed) forward only at set times of crontab.bcm
-e send E/M files with 4 lines in 1 frame (e.g. DB0SAO)
-f send empty line before start forward (e.g. TCPIP/xNOS)
-i BoxBin mails are forwarded regardless of the capabilities of the receiving system (not useful in most cases)
-k no forward of autobin bulletins
-l no forward of autobin user mails
-m no forward of 7plus bulletins
-n no forward of 7plus user mails
-o entries are sorted by size (smallest at first)
-p suppress prompt after login (e.g. needed for DB0SAO)
-r send ONLY boards from fwd.bcm to forward partner
-s SID is send immediately of connected BBS
-t tracing active (if “fwdtrace 2” is set)
-u connection is closed immediately, without this parameter, forward is waiting for some time if new mails can be forwarded
============================================================================

 PI8CDR
 PI1CDR

============================================================================
Mailbox callsigns
============================================================================

;--- Regions from .NLD (not set #ZL is my own) ---
#FRL #GLD #NH #ZH #DRE
;--- Coutries - Europe ---
 .BEL .BGR .BIH .CHE .DEU .DNK
 .ESP .EST .FIN .FRA .GBR .GIB
 .GRC .HRV .IRL .ITA .LTU .LUX
 .LVA .MKD .MLT .NLD .NOR .PRT
 .ROM .RUS .SVK .SVN .SWE .TUR
 .UKR .YUG
;--- Continents (only .EU) ---
 .EU
;--- bulletins ---
 NLD LOCAL ALL F SYSOP NL EU WW
;E/M Mails / exchange White-Page information
 $WP
;--- Banned buletins from S&F --------------------------------------
 *METEO *WXSAT *SATDIG

Here a fwd.bcm example

;========================================================================
; Foward example to my Partner BBS PI8CDR.#DRE.NLD.EU
; Forward to PI8CDR via telnet ip-address:3602
; Sysop: Han - PI8CDR
; A - forwarding all if any msg available to send
; P - forwarding all with polling even if no msg availabe to send/rcv
; . - no fwd operation
;         Hours 0000 - 2359
;      0         1         2
; BBS  012345678901234567890123 Path
PI8CDR APAPAPAPAPAPAPAPAPAPAPAP TELNET:ip-address:3602
;=========================================================================
 -S -T
;============================================================================
 PI8CDR
 PI1CDR
;============================================================================
; Mailbox callsigns
;============================================================================
;--- Regions from .NLD (not set #ZL is my own) ---
#FRL #GLD #NH #ZH #DRE
;--- Coutries - Europe ---
 .BEL .BGR .BIH .CHE .DEU .DNK
 .ESP .EST .FIN .FRA .GBR .GIB
 .GRC .HRV .IRL .ITA .LTU .LUX
 .LVA .MKD .MLT .NLD .NOR .PRT
 .ROM .RUS .SVK .SVN .SWE .TUR
 .UKR .YUG
;--- Continents (only .EU) ---
 .EU 
;--- bulletins ---
 NLD LOCAL ALL F SYSOP NL EU WW
;
;E/M Mails / exchange White-Page information
  $WP
;--- Banned buletins from S&F --------------------------------------
 *METEO *WXSAT *SATDIG
;====================================================================

 

OpenBCM H-Boxaddress / UserMail / Bulletin Mail.

In the beginning when I was configuring OpenBCM I already ran into an error message.

	
16.11.18 10:40:17z SYSTEM: #S cron: no valid H-boxaddress PI8LAP.#ZL.NLD.EURO

Now I was reading in the doc of OpenBCM and came across the following.

Following is an example of a hierarchical address:
 PI8LAP.#ZL.NLD.EU
                 ^ Continent EU (stands for Europe)
             ^ Country (NLD means the Netherlands)
          ^ Possibly further definition of a region (#ZL means Zeeland)
   ^ Callsign of a mailbox
The designator for continents is two or four letters long. In Europe you should
only use "EU".
• .AF, .AFRC: Africa
• .AS, .ASIA: Asia
• .AU, .AUST: Australia
• .EU, .EURO: Europe
• .NA, .NOAM: North America
• .OC, .OCEA: Oceania
• .SA, .SOAM: South America
• .CEAM : Middle America
• .MDLE : MiddleEast (e.g. Israel)

So the H-Boxaddress PI8LAP.#ZL.NLD.EURO is wrong. I have to use .EU
The designator of the different countries is specified by ISO 3166. The designator is three letters long. For Europe the following designators exists.

• .AUT Austria
• .BEL Belgium
• .BGR Bulgaria
• .BIH Bosnia-Herzegowina
• .CHE Swiss
• .CZE Czechia
• .DEU Germany
• .DNK Denmark
• .ESP Spain
• .EST Estonia
• .FIN Finland
• .FRA France
• .GBR Great Britain
• .GIB Gibraltar
• .GRC Greece 
• .HRV Croatia
• .HUN Hungary
• .IRL Irland
• .ITA Italy
• .LTU Lithuania
• .LUX Luxemburg
• .LVA Latvia
• .MKD Mazedonia
• .MLT Malta
• .NLD Netherlands
• .NOR Norway
• .POL Polonia
• .PRT Portugal
• .ROM Romania
• .RUS Russia
• .SVK Slovakia
• .SVN Slovenia
• .SWE Sweden
• .TUR Turkey
• .UKR Ukraine
• .YUG Yugoslavia 
Short form (can be used for copy & paste to your fwd.bcm):
 .AUT .BEL .BGR .BIH .CHE .CZE .DEU
 .DNK .ESP .EST .FIN .FRA .GBR .GIB
 .GRC .HRV .HUN .IRL .ITA .LTU .LUX
 .LVA .MKD .MLT .NLD .NOR .POL .PRT
 .ROM .RUS .SVK .SVN .SWE .TUR .UKR
 .YUG

Sorry my USA friends, USA is a bit big. And I really do not know how the h-addresses are built up there. Maybe someone can tell me that.

UserMails.

In the whole forward file following definitions must always exist:
• all continents must be defined, but without your own continent (e.g. all, but not .EU).
• all countries of own continent must be defined, but without your own country (e.g. all european countries but not .NLD).
• all regions in your own country must be defined, but without your own region (e.g. all regions but not .#ZL).
• all mailboxes in the own region must be defined, but without the own mailbox (e.g. all mailboxes in region Zeeland, but not the own one).

Take your time to get your shit together (Just Kidding)

Bulletin Mail.

There exist different directors for bulletin mails (a director is that, what is used after the "@" in the SEND command). Most used are:
• WW: worldwide
• EU: spread only in europe
• DL: only to the german speaking area (includes not only Germany!)
• OE: only to austria
• CZ: only to Czechia
• THEBOX: Used for THEBOX mailbox systems
• AMSAT: Satellit data
• BAYCOM: all OpenBCM mailboxes (used for OpenBCM software distribution)
• $WP: Used for White-Page/WPROT information (Mybbs etc.)
Some mailboxes use also further directors (e.g. @ALL, @TOUS etc.). But in praxis
this often means the same like @WW. So, why not using always @WW if everybody
should use the mail? It's hard to understand why such a nonsens is made. When
you use OpenBCM you can clear up with these masses of directors: simply add
lines to your convat.bcm file like
ALL WW
ALLE WW
TOUS WW
TODOS WW
...and so on. When now a mail with a director like @ALL reaches your mailbox it
will be forwarded like it has @WW. When forwarding such a mail, of course the
original address is send. So you have to define only WW in your forward sections
where you need it.

That was a lot of cutting and pasting. But I did that to get clear what is important.

OpenBCM start file and Systemd

FYI, In the top menu you can choose OpenBCM. This page contains all references to items about openBCM.

I have found a file to start OpenBCM. We will inplant this script and start using it.

We are going to create a user who does not have shell and no home directory. This makes it impossible to log in as this user. This gives a bit of security.

sudo useradd -r -s /bin/false bcm

The above command creates a user “bcm” as a system user.

Copy the directory of bcm to /usr/local

sudo cp -r bcm /usr/local/

Now we have to make the user “bcm” owner of the directory and files /usr/local/bcm

sudo chown -R bcm:bcm /usr/local/bcm

See if everything is in okay.

pd9q@pd9q:/usr/local/bcm $ ls -l
total 1620
-rwxr-xr-x 1 bcm bcm 890996 Nov 15 15:16 bcm
-rwxr-xr-x 1 bcm bcm  15673 Nov 16 06:57 bct.rpi
-rw-r--r-- 1 bcm bcm 262144 Nov 15 16:12 bidh2.bcm
-rw-r--r-- 1 bcm bcm     36 Nov 15 21:08 bids3.bcm
-rw-r--r-- 1 bcm bcm    178 Nov 17 08:34 boardinf.bcm
-rw-r--r-- 1 bcm bcm     48 Nov 17 06:51 bulletin.bak
-rw-r--r-- 1 bcm bcm    182 Nov 17 08:34 bulletin.bcm
-rw-r--r-- 1 bcm bcm      0 Nov 15 21:02 check.bcm
-rw-r--r-- 1 bcm bcm      0 Nov 15 21:02 checknum.bcm
-rw-r--r-- 1 bcm bcm    612 Nov 15 16:12 crontab.bcm
drwxr-xr-x 6 bcm bcm   4096 Nov 15 16:12 fwd
-rw-r--r-- 1 bcm bcm     66 Nov 15 16:12 fwd.bcm
-rw-r--r-- 1 bcm bcm   2048 Nov 17 13:36 hadr4.bcm
-rw-r--r-- 1 bcm bcm 131072 Nov 15 20:20 hadrhash.bcm
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:34 http
drwxr-xr-x 2 bcm bcm   4096 Nov 15 20:20 info
-rw-r--r-- 1 bcm bcm   1519 Nov 17 13:36 init.bak
-rw-r--r-- 1 bcm bcm   1517 Nov 17 13:42 init.bcm
-rw-r--r-- 1 bcm bcm    382 Nov 15 16:12 init.l2
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:47 log
drwxr-xr-x 2 bcm bcm   4096 Nov 16 10:04 msg
-rw-r--r-- 1 bcm bcm     66 Nov 15 20:28 rhosts.bcm
-rw-r--r-- 1 bcm bcm    403 Nov 15 16:12 speech.bcm
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:37 srv
drwxr-xr-x 2 bcm bcm   4096 Nov 15 16:12 temp
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:47 trace
drwxr-xr-x 2 bcm bcm   4096 Nov 15 20:20 user
-rw-r--r-- 1 bcm bcm 262144 Nov 15 20:47 userh2.bcm
-rw-r--r-- 1 bcm bcm      0 Nov 15 16:12 users4.bak
-rw-r--r-- 1 bcm bcm   1920 Nov 17 12:22 users4.bcm
pd9q@pd9q:/usr/local/bcm $

Now create the startfile.

sudo touch startbcm

Edit the startbcm file

sudo nano startbcm

Here is the start file.

#!/bin/sh
#
# Startup script for BayCom-Mailbox
#
sleep 1
BCMHOME=/usr/local/bcm
export BCMHOME
export TZ=GMT+1GMT
cd $BCMHOME
PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/bcm:/usr/local/bcm/runutils
export PATH
#
# remove comment if necessary!
# source .bash_profile
#
# check if somebody wants to install a new version
if [ -f bcm_new ]
then
  mv -f bcm bcm_old
  mv -f bcm_new bcm
  chmod 777 bcm
fi
#
# start bcm as user "bcm"
# redirect tracer outputs to system console
#
if [ -f nobcm ]
then
  echo "BCM execution stopped. Remove nobcm for continue."
  sleep 5
else
  su bcm -s $BCMHOME/bcm >/dev/tty3
fi
#
# wait some time to release network bindings before respawning
#
sleep 4

Save the file, become owner, and set execute rights

sudo chown bcm:bcm startbcm
sudo chmod 755 startbcm

Now it`s time for Systemd.

Go to the directory /etc/systemd/system and “sudo nano bcm.service”

sudo nano bcm.service

Copy past

[Unit]
Description=OpenBCM Daemon
After=network.target
StartLimitInterval=0

[Service]
Type=simple
Restart=always
RestartSec=5
ExecStart=/bin/bash /usr/local/bcm/startbcm
WorkingDirectory=/usr/local/bcm

[Install]
WantedBy=multi-user.target
Alias=bcm.service

Save the file

sudo systemctl enable bcm.service
sudo systemctl daemon-reload
sudo systemctl start bcm.service

Let ‘s check if the service is running.

sudo systemctl status bcm.service
pd9q@pd9q:/etc/systemd/system $ sudo systemctl status bcm.service
● bcm.service - OpenBCM Daemon
   Loaded: loaded (/etc/systemd/system/bcm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-11-18 07:58:49 UTC; 45min ago
 Main PID: 25944 (bash)
   CGroup: /system.slice/bcm.service
           └─25944 /bin/bash /usr/local/bcm/startbcm

Nov 18 07:58:49 pd9q.packet-radio.net systemd[1]: Started OpenBCM Daemon.
Nov 18 07:58:50 pd9q.packet-radio.net su[25949]: Successful su for bcm by root
Nov 18 07:58:50 pd9q.packet-radio.net su[25949]: + ??? root:bcm
Nov 18 07:58:50 pd9q.packet-radio.net su[25949]: pam_unix(su:session): session opened for user bcm by (uid=0)
pd9q@pd9q:/etc/systemd/system $
pd9q@pd9q:/etc/systemd/system $ ps ax
<snip>
25944 ?        Ss     0:00 /bin/bash /usr/local/bcm/startbcm
25949 ?        S      0:00 su bcm -s /usr/local/bcm/bcm
25953 ?        Ss     0:00 /lib/systemd/systemd --user
25956 ?        S      0:00 (sd-pam)
25971 ?        S      0:09 bcm
<snip>
pd9q@pd9q:/etc/systemd/system $ telnet localhost 4719
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.


OpenBCM-Mailbox V1.08-3-g9b42 (Linux)

PI8LAP login:

I think we’re ready to rumble.

One last note.

In the start file you see the line.

su bcm -s $BCMHOME/bcm >/dev/tty3

Here, reference is made to /dev/tty3. I use the program “conspy” to watch on /dev/tty3 how the program runs.

sudo apt-get install conspy
sudo conspy 3
OpenBCM V1.08-3-g9b42 (Linux)(c) GNU GPL 1992-2013 F. Radlherr, DL8MBT et al.
OpenBCM is maintained by Markus Baumann, DH8YMB
18.11.18 07:58:50z SYSTEM: #R working dir: '/usr/local/bcm'
18.11.18 07:58:50z SYSTEM: #R l1axip: 127.0.0.1 rxport=4866 txport=4867
18.11.18 07:58:50z SYSTEM: #R l1axip: initialised to channel 0
18.11.18 07:58:50z SYSTEM: #L Start: V1.08-3-g9b42 Linux mem 880768kB hd 11912MB
18.11.18 07:58:50z SYSTEM: #R init_tnc: 200 ports
18.11.18 07:58:50z SYSTEM: #R ax25k_init: Kernel AX25 disabled
18.11.18 07:58:50z SYSTEM: #R initfwdlist: 0 partners, 0 destinations
18.11.18 07:58:50z SYSTEM: #R readtree: 12 bulletins
18.11.18 07:58:50z SYSTEM: #R telnetd: initialised to port 4719
18.11.18 07:58:50z SYSTEM: #R httpd: initialised to port 8080
18.11.18 07:58:50z SYSTEM: #R ftpd: initialised to port 8021
18.11.18 07:58:50z SYSTEM: #R sendmail: initialised to port 8025
18.11.18 07:58:50z SYSTEM: #R popper: initialised to port 8110
18.11.18 07:58:50z SYSTEM: #R nntpd: initialised to port 8119
18.11.18 07:58:50z SYSTEM: #R radiod: radio connectivity disabled
18.11.18 07:58:50z SYSTEM: #R serv: initialised to port 8123
18.11.18 07:58:51z SYSTEM: #R mbcron: started

To escape conspy hit “esc” a couple of times.

OpenBCM bulletin.bcm

Bulletin boards (bulletin.bcm and boardinf.bcm)

You must have the option CREATEBOARD 1 in the init.bcm for creating bulletin.bcm. If you do not have this you can always use the command “MKBOARD / TMP” to create the file bulletin.bcm.

Help Dir Read Erase Check REPly Send Alter Quit
(PD9Q)-->mkboard / tmp

Board created.
Help Dir Read Erase Check REPly Send Alter Quit
(PD9Q)-->

Now the bulletin.bcm is created. Look at the file.

; OpenBCM Bulletin Listfile
;
tmp       999   1

The name tmp is the board name, the 999 is the Max_Lifetime and 1 is the Min_Lifetime.
Bulletin.bcm is build op in mainboard en subboards.

Now let’s see what that looks like.

; OpenBCM Bulletin Listfile
; Board / Max_Lifetime / Min_Lifetime
tmp 999 1
modes 360 90
 amtor 360 360
 sstv 360 0
 packet 360 0
 clover 360 0
 cw 180 0
 fax 360 0
 gtor 360 0
 pactor 360 0
 rtty 360 0
 sattv 90 90

So “modes” is the mainboard and the rest is subboard. Now you have everything together nicely.
What not fits into the mainboards or subboards is placed in the “tmp” board. So it is advisable to occasionally look in the “tmp” board if new mainboards or subboards have to be made.

The boardinf.bcm shows board discriptions to the users. Is the boardinf.bcm empty there is nothing to show. Let’s fill it up.

Use capital letters for the mainboard names and lower case for the subboards.

TMP Temporary board for mail with no board. Create one
MODES Used modes on the Amateur frequencies
amtor Amtor digital mode
sstv Slow Scan Telvision
packet Packet radio modes

 

First start of OpenBCM V1.08-3-g9b42

The first time you start BCM, the directories and files that are needed for BCM are created.
You are getting a error message about a wrong H-boxaddress. You can close BCM with “Ctrl C”

16.11.18 10:40:17z SYSTEM: #S cron: no valid H-boxaddress MYCALL.#BAY.DEU.EU

Let’s have a look in de directory of openBCM.

pd9q@pd9q:~/bcm-setup $ ls -l
total 1584
-rwxr-xr-x 1 pd9q pd9q 890996 Nov 15 15:16 bcm
-rw-r--r-- 1 pd9q pd9q 262144 Nov 16 10:39 bidh2.bcm
-rw-r--r-- 1 pd9q pd9q     36 Nov 16 10:39 bids3.bcm
-rw-r--r-- 1 pd9q pd9q     30 Nov 16 10:39 bulletin.bak
-rw-r--r-- 1 pd9q pd9q     30 Nov 16 10:40 bulletin.bcm
-rw-r--r-- 1 pd9q pd9q    612 Nov 16 10:40 crontab.bcm
drwxr-xr-x 6 pd9q pd9q   4096 Nov 16 10:39 fwd
-rw-r--r-- 1 pd9q pd9q     66 Nov 16 10:39 fwd.bcm
-rw-r--r-- 1 pd9q pd9q   1024 Nov 16 10:39 hadr4.bcm
-rw-r--r-- 1 pd9q pd9q 131072 Nov 16 10:39 hadrhash.bcm
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:39 http
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:40 info
-rw-r--r-- 1 pd9q pd9q   1460 Nov 16 10:40 init.bcm
-rw-r--r-- 1 pd9q pd9q    384 Nov 16 10:39 init.l2
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:39 log
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:39 msg
-rw-r--r-- 1 pd9q pd9q    403 Nov 16 10:39 speech.bcm
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:39 temp
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:39 trace
drwxr-xr-x 2 pd9q pd9q   4096 Nov 16 10:40 user
-rw-r--r-- 1 pd9q pd9q 262144 Nov 16 10:39 userh2.bcm
-rw-r--r-- 1 pd9q pd9q      0 Nov 16 10:39 users4.bak
-rw-r--r-- 1 pd9q pd9q    640 Nov 16 10:39 users4.bcm
pd9q@pd9q:~/bcm-setup $

The most important configuration file is the init.bcm

; --- mailbox ---
boxaddress MYCALL.#BAY.DEU.EU
boxheader OpenBCM
sysopcall DL8MBT
guestcall off
savebroken 0
infopath info
userpath user
fspath off
fsbmail 1
remerase 1
maxbids 8388608
; --- packet interface ---
mycall
fwdssid 8
ax25k_if off
; --- tcp/ip interface ---
http_port 8080
ftp_port 8021
smtp_port 8025
pop3_port 8110
nntp_port 8119
telnet_port 4719
serv_port 8123
radio_port 0
nopopsmtp 0
httpaccount 0
httpguestfirst 0
httpttypw 0
httpshowsysopcall 1
httprobots 1
unsecurettypw 0
internetmailgate off
; --- timers ---
infolife 999
userlife 999
oldestfwd 30
oldestbeacon 1
fwdtimeout 60
usrtimeout 0
autofwdtime 0
holdtime 0
; --- logging ---
tracelevel 1
fwdtrace 0
tcpiptrace 0
eraselog 0
; --- system ---
disable 1
sfonly 0
usvsense 0
watchdog 6
timeslot 2
ttymode off
dosinput 0
addlinuxsystemuser 0
; --- user constraints ---
paclen 0
minpaclen 40
maxpaclen 256
mailbeacon 1
altboardinfo 0
timeoutwarning 1
nounknownroute 0
asklogin 0
smoothheader 0
userquota 0
maxlogins 0
userpw 1
readlock 0
createboard 1
nopurge 0
ltquery 0
m_filter off
; --- server ---
maillistserv 0
maillistsender 0
pocsaglistserv 0
tellmode 2
oldumail 0
defswaplf 2
; --- user defaults ---
defstatus 0
deffbbcheckmode 0
defprompt (%b)-->
defcmd D
defhelp 2
deflines 0
deflf 0
defidir ADEKLMWYZ
defudir ADKLMTWYZ
defilist ABDJQTWXY
defulist ABDJQTWXY
defiread ABDEILMPRTUWYZ
defuread ABDEILMPRTUWYZ
defcheck ABDEJLMWXY
defps
defrea 0
defhold 0
defhttpsurface 1

In the init.bcm file it is important to adjust some things first. You can of course do this entirely according to your own interests.

In the mailbox section

boxaddress PI8LAP.#ZL.NLD.EU
boxheader OpenBCM
sysopcall PD9Q
guestcall GUEST

In the tcp/ip interface section

httpaccount 0
httpguestfirst 1
httpttypw 1
httpshowsysopcall 1
httprobots 0

In the logging section

tracelevel 0
fwdtrace 2
tcpiptrace 1
eraselog 1

In the system section

disable 0

In the user constraints section

asklogin 1
userpw 1

In the user defaults section

defprompt %m %d %t %w (%b)->%r

Okay that’s it. Now start BCM again.

OpenBCM V1.08-3-g9b42 (Linux)(c) GNU GPL 1992-2013 F. Radlherr, DL8MBT et al.
OpenBCM is maintained by Markus Baumann, DH8YMB
16.11.18 11:14:24z SYSTEM: #R working dir: '/home/pd9q/bcm-setup'
16.11.18 11:14:24z SYSTEM: #R l1axip: 127.0.0.1 rxport=14866 txport=14867
16.11.18 11:14:24z SYSTEM: #R l1axip: initialised to channel 0
16.11.18 11:14:24z SYSTEM: #L Start: V1.08-3-g9b42 Linux mem 884160kB hd 11856MB
16.11.18 11:14:24z SYSTEM: #R init_tnc: 200 ports
16.11.18 11:14:24z SYSTEM: #R ax25k_init: Kernel AX25 disabled
16.11.18 11:14:24z SYSTEM: #R initfwdlist: 0 partners, 0 destinations
16.11.18 11:14:24z SYSTEM: #R readtree: 0 bulletins
16.11.18 11:14:24z SYSTEM: #R telnetd: initialised to port 4719
16.11.18 11:14:24z SYSTEM: #R httpd: initialised to port 8080
16.11.18 11:14:24z SYSTEM: #R ftpd: initialised to port 8021
16.11.18 11:14:24z SYSTEM: #R sendmail: initialised to port 8025
16.11.18 11:14:24z SYSTEM: #R popper: initialised to port 8110
16.11.18 11:14:24z SYSTEM: #R nntpd: initialised to port 8119
16.11.18 11:14:24z SYSTEM: #R radiod: radio connectivity disabled
16.11.18 11:14:24z SYSTEM: #R serv: initialised to port 8123
16.11.18 11:14:25z SYSTEM: #R mbcron: started

That look fine to me.

Now we can telnet to BCM. “telnet localhost 4719”

pd9q@pd9q:~ $ telnet localhost 14719
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.


OpenBCM-Mailbox V1.08-3-g9b42 (Linux)

PI8LAP login: pd9q


OpenBCM V1.08-3-g9b42 (Linux)
Helplevel = 2, Lines = 0, first login.
Please enter your Home-BBS by typing "A F <boxcall>"

No messages found for PD9Q @ ???.
Help Dir Read Erase Check REPly Send Alter Quit
PI8LAP 16.11.2018 11:14:49z 213 Bytes (PD9Q)->

Very nice. Firt let set a password for the sysop user (pd9q) Give the command “a” on the command prompt.

Parameters of PD9Q: (see HELP ALTER)
New callsign..(A NE).none
Home-BBS.......(A F).?
Reject-boards..(A R).
Prompt.........(A P).%m %d %t %w (%b)->%r
Login-command..(A C).D                   Name........(A N).
QTH...........(A QT).
ZIP-Code.......(A Z).
Language.......(A S).??                  Lines.......(A L).0
Helplevel......(A H).2                   Linefeeds..(A LF).0
Info-dir......(A ID).ADEKLMWYZ           User-dir...(A UD).ADKLMTWYZ
Info-list.....(A IL).ABDJQTWXY           User-list..(A UL).ABDJQTWXY
Info-read.....(A IR).ABDEILMPRTUWYZ      User-read..(A UR).ABDEILMPRTUWYZ
Check-opt.....(A CH).ABDEJLMWXY          PS-Options.(A PS).
FHold.........(A FH).0                   FWD-Delay..(A FD).0 min
User-Forward..(A UF).passive
Status........(A ST).0                   No-Purge...(A NO).0
Passwordlen...(A PW).0                   TTYPWlen..(A TTY).0
Readlock.....(A REA).0                   FBBCheckmode (A FBB).0
Binmode........(A B).AutoBIN             HTTP-Surface.........1
Away...........(A A).0
Notification.(A NOT).off
Last D N...(Check)...16.11.2018 11:14:49z
Last login...........16.11.2018 11:14:49z  via TELNET
Logins 1, mails received 0, read 0, sent 0
Help Dir Read Erase Check REPly Send Alter Quit
PI8LAP 16.11.2018 11:14:59z 1556 Bytes (PD9Q)->

With the command “a ttypw (password)” you set the password for the sysop.

PI8LAP 16.11.2018 11:23:28z 1575 Bytes (PD9Q)->
a ttypw pancake

TTYPW ok.
Help Dir Read Erase Check REPly Send Alter Quit
PI8LAP 16.11.2018 11:23:34z 1703 Bytes (PD9Q)->

Okay the password for the sysop has been set. Now you probably think that if you log in via “telnet localhost 4719” you will encounter a password prompt. Wrong. This is because the ip-address of the localhost (127.0.0.1) is included in the file rhosts.bcm. Actually, this file means that the IP addresses that are listed here are trusted.

; OpenBCM sample rhosts.bcm file
; might be unsecure!
;
127.0.0.1

Just try, put one; for the ip address 127.0.0.1

;127.0.0.1

Now telnet again to localhost. There is the password prompt.

pd9q@nl9nkg:~/bcm-setup $ telnet localhost 14719
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.


OpenBCM-Mailbox V1.08-3-g9b42 (Linux)

PI8LAP login: pd9q
password: pancake


OpenBCM V1.08-3-g9b42 (Linux)
Helplevel = 2, Lines = 0, last login 16.11.2018 11:25:18z
Please enter your Home-BBS by typing "A F <boxcall>"

No messages found for PD9Q @ ???.
Help Dir Read Erase Check REPly Send Alter Quit
PI8LAP 16.11.2018 11:26:19z 232 Bytes (PD9Q)->

Now it’s time to look at the http server. In the beginning, in init.bcm in the mailbox section put “guestcall GUEST”. Now of course it is nice to let users use the possibilities of OpenBCM. Of course we will not make an account for everyone who want to use the http server. Here we have the GUEST call for. Lets create a password GUEST. Now users can log in with call GUEST and Password Guest.

If you dont do that, you get a error.

PI8LAP 16.11.2018 11:40:42z 432 Bytes (PD9Q)->
setuser guest ttypw guest

TTYPW ok.
Help Dir Read Erase Check REPly Send Alter Quit
PI8LAP 16.11.2018 11:41:42z 569 Bytes (PD9Q)->

Okay done.

Have a look at the website off your OpenBCM. http://ip-address:8080

OpenBCM V1.08-3-g9b42 (Linux)

Libor OK2PEN and I were talking about openBCM. I was getting very intrested in openBCM. Now I would like to run this on my Raspberry PI. I have a number of versions of openBCM but that is for an i386 system. So I went into the evil world and searched for openBCM for the Raspberry (ARM processor). I came on the github website of OE5HPM he has ported it to ARMv6 / ARMv7hf

https://github.com/oe5hpm/openBCM/releases

So let’s go

cd /home/pd9q
git clone https://github.com/oe5hpm/openBCM
cd openBCM
make
cd out-x86_32
mkdir /home/pd9q/bcm
cp bcm /home/pd9q/bcm
cd bcm
./bcm
OpenBCM V1.08-3-g9b42 (Linux)(c) GNU GPL 1992-2013 F. Radlherr, DL8MBT et al.
OpenBCM is maintained by Markus Baumann, DH8YMB
15.11.18 20:58:30z SYSTEM: #R working dir: '/home/pd9q/bcm'
15.11.18 20:58:30z SYSTEM: #R l1axip: 127.0.0.1 rxport=4866 txport=4867
15.11.18 20:58:30z SYSTEM: #R l1axip: initialised to channel 0
15.11.18 20:58:30z SYSTEM: #L Start: V1.08-3-g9b42 Linux mem 891400kB hd 11912MB
15.11.18 20:58:30z SYSTEM: #R init_tnc: 200 ports
15.11.18 20:58:30z SYSTEM: #R ax25k_init: Kernel AX25 disabled
15.11.18 20:58:30z SYSTEM: #R initfwdlist: 0 partners, 0 destinations
15.11.18 20:58:30z SYSTEM: #R readtree: 0 bulletins
15.11.18 20:58:30z SYSTEM: #R telnetd: initialised to port 4719
15.11.18 20:58:30z SYSTEM: #R httpd: initialised to port 8080
15.11.18 20:58:30z SYSTEM: #R ftpd: initialised to port 8021
15.11.18 20:58:30z SYSTEM: #R sendmail: initialised to port 8025
15.11.18 20:58:30z SYSTEM: #R popper: initialised to port 8110
15.11.18 20:58:30z SYSTEM: #R nntpd: initialised to port 8119
15.11.18 20:58:30z SYSTEM: #R radiod: radio connectivity disabled
15.11.18 20:58:30z SYSTEM: #R serv: initialised to port 8123
15.11.18 20:58:31z SYSTEM: #R mbcron: started
Date: 15.11.2018 21:36:51z

OpenBCM V1.08-3-g9b42 (Linux)
(c) GNU GPL 1992-2013 F. Radlherr, DL8MBT et al.
OpenBCM is maintained by Markus Baumann, DH8YMB
https://github.com/oe5hpm/openbcm
Compiled Nov 15 2018 15:15:28 with GCC 6.3.0 20170516
and support for:
filesurf mailserver pocsagserver servif radioif
mdpw serial guest ax25k autofwd runutils
macro yapp filefwd telnetfwd didadit userLT
fwd-edit rej-edit conv-edit extract fbbcheckmode
users4convert fts oldmailimport linuxsystemuser
Uptime: 00:38
CPU: ARMv7  BogoMips: 57.60
OS: Linux version 4.14.71-v7+               
PR-Interface: OpenBCM-L2 200 ports, Linux Kernel AX25
Available Memory / Used Swap                : 885608 kB / 0 kB
Info-Path: /home/pd9q/bcm/info              : 11912 MB  (14496 MB)
User-Path: /home/pd9q/bcm/user              : 11912 MB  (14496 MB)
BCM-Home:  /home/pd9q/bcm                   : 11912 MB  (14496 MB)
Filesurf:  not defined

Now I have to figure out how to configure it.