MEWBIES@:  Facebook  Twitter  G+  YouTube  DeviantArt  Forum  Wall
 SHARE:

-   HOW TO INSTALL P.O.R. - PROJECT OLDSKOOL REVENGE FOR GLFTPD   -


P.O.R. - Project OldSkool Revenge gives glFTPd support for DayDream (github) BBS, or as some say a BBS frontend for glFTPd. Compared to the good old BBS days FTPs are boring. Now with P.O.R siteops can have a gorgeous BBS for their glFTPd server. All gl site cmds can be carried out on the BBS.
Please help pass the word around; the developer has put a few years into the making of P.O.R. Also please share some (censored) screenshots once you have it running. :)

P.O.R. monthtop

SOME OF P.O.R. FEATURES:
- Simple Configuration
- Show glFTPd upload/download stats and more on the BBS
- Ability to use public/private keypair for BBS connections
- Keep your preferred main (glFTPd) site layout
- Release racing supported
- BBS FileListing shows release dirs in preferred conferences
- File Listing updating with custom iSO group file_id.diz
- Release tagging / flagging for download
- Option for all BBS users to have an account on your glFTPd before they can login to the BBS.
- P.O.R. can automatically create glFTPd accounts for new users created on the BBS. The glFTPd account will be auto deleted after it has been created, so all info is there and the siteop only has to 'readd' the user.
Et cetera!

___________..___________

CAVEATS
P.O.R. PREREQUISITES
CHECK REQUIRED PATHS AND FILES - LINK IF NOT THE SAME
  1. MYSQL INCLUDE FILES
  2. SUB GL LIB DIR
  3. LIBMYSQLCLIENT.SO LIBMYSQLCLIENT.SO.18
  4. LIBSTDC++.SO.6: VERSION GLIBCXX_3.4.11
GET P.O.R.
EDIT CREATE_DB.sql TO YOUR NEEDS
SET UP THE P.O.R. MYSQL DB
INSTALL DAYDREAM BBS
TEST CONNECT TO P.O.R. BBS
ADD NEW SITEOP TO GLFTPD SITE
COMPILE P.O.R. TOOLS
COPY P.O.R. FILES TO LOCATIONS
EDIT P.O.R. FILES
  1. POR2013.H
  2. POR_DIRLIST.CFG
  3. POR.CONFIG
EDIT GLFTPD.CONF FILE
PSZ-NG SETTINGS
EDIT DAYDREAM.CFG
COMPILE DAYDREAM
CHANGE GROUP, GIVE ACCESS, CHECK PERMS
UPDATE P.O.R. DATABASE
CONNECT TO P.O.R. BBS
  NEW BBS USERS
  GLFTPD SITE COMMANDS ON THE BBS
  P (SITE) COMMANDS OUTPUT IN COLOR
  PF DIRECTORY LISTING
EDIT BBS DISPLAY FILES
GROUP_DIZ_FILES
SYSOP COMMANDS
TROUBLE SHOOTING
OUTSTANDING QUESTIONS

___________..___________

CAVEATS:
````````
1. This tutorial does not follow 'INSTALL_POR2013.pdf' in P.O.R.'s package. You don't need it if you are following the steps here.

2. I did this on Debian Wheezy 3.2.0-4-486 i686. Your setup might be different so remember to change stated paths to your own.

3. This is not for the light hearted - there are a lot of steps to do. I'll walk you through each one though. If you get stuck somewhere and need help either go to IRC efnet #por or e-mail: support@lastlegend.org.

4. A file that we will create will have two passwords in plain text (our new glFTPd siteop (127.0.0.1) and MySQL's root pass). So if you aren't comfortable with that; wait until P.O.R. changes this (in the works) before you go to all the trouble of installing and then find that out.

___________..___________

P.O.R. PREREQUISITES:
`````````````````````
We are going to take care of a number of boring but vital steps first so we have a smooth P.O.R. install.

Last update on 31 Mar '14

1. Only if you are using this install doc from the porxxxxx.tar.gz package:
View the online version change date HERE 'Last update on xx xx xxx' to check if you have the lastest version.
If you don't; take a look at the changelog here to view if any important updates to this doc that might not yet be changed on the one you are using.

2. A functioning glFTPd.

3. A functioning pzs-ng (r2500-v1.2.0) along with your edited 'zsconfig.h' file for it.

4. MySQL running and its root password.

5. Check if you have the required packages installed; those that you don't install first:

dpkg -l gcc make openssh-server mysql-server libmysql++-dev libmysqlclient-dev libssl-dev libstdc++6 python python-dev

Example of output and what to install:
ii  gcc 4:4.7.2-1 i386 GNU C compiler
[snip]
dpkg-query: no packages found matching libmysql++-dev

So this means I have everything but libmysql++-dev. To install it:
su
aptitude update
aptitude install libmysql++-dev

___________..___________

CHECK REQUIRED PATHS AND FILES - LINK IF NOT THE SAME:
``````````````````````````````````````````````````````
1. MYSQL INCLUDE FILES:
Check if MySQL include files are located in /usr/include/mysql/:
ls /usr/include/mysql
Output similar to, you're done, move on next step 2.:
[snip]
mysqld_ername.h  my_sys.h   sql_state.h
mysqld_error.h  my_xml.h   sslopt-case.h
[snip]

If they are not, for example output is: No such file or directory
Find the location of your MySQL install, maybe: /usr/local/include/mysql/
Then link (ln) to it:
cd /usr/include/
Change '/usr/local/include/mysql/' to your correct /mysql/ path:
ln -s /usr/local/include/mysql/ ./

2. SUB GL LIB DIR:
If you have a sub lib directory in your glftpd dir, like this:
/jail/glftpd/lib/i386-linux-gnu/
Then copy those files to glftpd/lib; do this (change to your correct path):
cp /jail/glftpd/lib/i386-linux-gnu/* /jail/glftpd/lib

3. LIBMYSQLCLIENT.SO LIBMYSQLCLIENT.SO.18:
Sorry this bit is long; it can get messy so I cover a few scenarios - don't do this part stoned :p (and if you're wondering - no I don't do drugs but links mess me up being a main Win user).
Check if 'libmysqlclient.so' and 'libmysqlclient.so.18' are located in /usr/lib/:
ls /usr/lib/libmysqlclient.so -al
ls /usr/lib/libmysqlclient.so.18 -al
If they are and they are NOT symbolic links (->) pointing to another file you're done. Celebrate and skip to next step 4.

If not, like me, for example output is:
ls: cannot access /usr/lib/libmysqlclient.so: No such file or directory

To find the location libmysqlclient.so is installed to (not location of file on entire box as in 'locate libmysqlclient.so'):
apt-file search libmysqlclient.so
My output is:
libmysqlclient-dev: /usr/lib/i386-linux-gnu/libmysqlclient.so
libmysqlclient18: /usr/lib/i386-linux-gnu/libmysqlclient.so.18
libmysqlclient18: /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0

BUT, let's see the status of those files first before we link to them; as mine are links pointing to another version:
ls /usr/lib/i386-linux-gnu/libmysqlclient.so -al
/usr/lib/i386-linux-gnu/libmysqlclient.so -> libmysqlclient.so.18
ls /usr/lib/i386-linux-gnu/libmysqlclient.so.18 -al
/usr/lib/i386-linux-gnu/libmysqlclient.so.18 -> libmysqlclient.so.18.0.0

If yours are NOT symbolic links pointing to another file then:
cd /usr/lib
Change '/usr/lib/i386-linux-gnu/libmysqlclient.so' to your correct path:
ln -s /usr/lib/i386-linux-gnu/libmysqlclient.so ./
ln -s /usr/lib/i386-linux-gnu/libmysqlclient.so.18 ./
Done; skip to next step 4.

If yours ARE symbolic links, like mine above:
cp /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0 /jail/glftpd/lib
cd /jail/glftpd/lib
View if any symbolic links that will conflict (already pointing to another file):
ls -al
If NO conflict:
ln -s ./libmysqlclient.so.18.0.0 ./libmysqlclient.so.18
ln -s ./libmysqlclient.so.18 ./libmysqlclient.so

If a CONFLICT, like mine:
libmysqlclient.so -> libmysqlclient.so.16
libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
libmysqlclient.so.16.0.0
(conflict you will have this happen:
ln -s ./libmysqlclient.so.18 ./libmysqlclient.so
ln: failed to create symbolic link './libmysqlclient.so': File exists)

Since libmysqlclient.so is pointing to libmysqlclient.so.16 (older v)
Do this:
cd /jail/glftpd/lib
Unlink libmysqlclient.so:
unlink ./libmysqlclient.so
Then we can re-link it to so.18:
ln -s ./libmysqlclient.so.18 ./libmysqlclient.so
ls -al
Now I have this:
libmysqlclient.so -> ./libmysqlclient.so.18
libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
libmysqlclient.so.16.0.0
libmysqlclient.so.18 -> ./libmysqlclient.so.18.0.0
libmysqlclient.so.18.0.0

Summary: libmysqlclient.so.18.0.0 and libmysqlclient.so.16.0.0 are the real files.
POR though wants libmysqlclient.so and libmysqlclient.so.18.
When libmysqlclient.so is called upon it will point to libmysqlclient.so.18 which points to libmysqlclient.so.18.0.0 (latest v).
When libmysqlclient.so.18 is called upon it points to libmysqlclient.so.18.0.0.

4. LIBSTDC++.SO.6: VERSION GLIBCXX_3.4.11:
Find the location of libstdc++.so.6:
apt-file search libstdc++.so.6
My output:
[snip]
libstdc++6: /usr/lib/i386-linux-gnu/libstdc++.so.6
[snip]

Check that your libstdc++.so.6 has GLIBCXX_3.4.11:
strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep GLIBCXX

View if you have it in /glftpd/lib/ and if linked:
ls -al /jail/glftpd/lib/libstdc++.so.6*
My output:
/jail/glftpd/lib/libstdc++.so.6 -> libstdc++.so.6.0.13
/jail/glftpd/lib/libstdc++.so.6.0.13

If it isn't there; copy it over:
cp /usr/lib/i386-linux-gnu/libstdc++.so.6.0.13 /jail/glftpd/lib
If it isn't linked; link it:
ln -s libstdc++.so.6.0.13 libstdc++.so.6

___________..___________

GET P.O.R.:
```````````
Okay dirty stuff done, let's start on P.O.R. setup.
Exit root if you haven't already.
cd ~
Check P.O.R. site for the *latest version and download it:
*Note: Do not use P.O.R.2014.03 (por.0314.tgz), packaging is incorrect.
wget http://lastlegend.org/files/por2014.tar.gz
Download a missing file (we'll use it later):
wget http://mewbies.com/por/files/strings.001
tar xvfz por2014.tar.gz && cd por2014
We are NOT going to use the included install.bash (por2014.tar.gz) as it doesn't work on all setups; ignore install.bash completely.

___________..___________

EDIT CREATE_DB.sql TO YOUR NEEDS:
`````````````````````````````````
'CREATE_DB.sql', included in P.O.R. package, is used to create the needed MySQL database and its section tables.
It comes with sections for your glFTPd 0day, ebooks, dox, and xxx-web.
Let's view the '0day table' on 'CREATE_DB.sql' to get an idea:
head -n 21 CREATE_DB.sql
Output:
-- -----------------------------------------------------
-- Table `por_db`.`0day`
-- -----------------------------------------------------
CREATE TABLE `por_db`.`0day` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `RELEASE` varchar(150) CHARACTER SET ascii NOT NULL,
  `PATH` varchar(200) CHARACTER SET ascii NOT NULL,
  `DATE` varchar(50) NOT NULL,
  `SECTION` varchar(45) CHARACTER SET ascii NOT NULL,
  `NUKED` tinyint(1) DEFAULT NULL,
  `FILE_ID` mediumblob,
  `HASH` varchar(45) CHARACTER SET ascii DEFAULT NULL,
  PRIMARY KEY (`ID`) )
ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

The CREATE TABLE '0day' is the table name. Name this the same as your 0day dir is named in glFTPd, as well as all the other sections declared in CREATE_DB.sql. You can also add more sections following the same format.
If you have two sections on your server with the same genre, e.g. /incoming/ebooks/ and /archive/ebooks/ declare both, etc.

I do not have a 0day directory, nor any of those sections listed so I will:
1. Change instances of 0day to: incoming
2. I'll remove all other tables (be sure to leave the last three lines unchanged):
(we are at: ~/por2014)
pico CREATE_DB.sql
(To delete lines of text in pico (nano); place cursor on the top line that you want to cut and press Ctrl+K for each line.)

I've put a copy HERE of my CREATE_DB.sql after editing.

___________..___________

SET UP THE P.O.R. MYSQL DB:
```````````````````````````
Check if MySQL is running; HERE is how.

(we are at: ~/por2014)
Setup the database:
mysql -u root -p
You'll be prompted for your MySQL's root password (not your system root pass). Then enter:
source CREATE_DB.sql
Output:
[snip]
mysql> source CREATE_DB.sql
Query OK, 0 rows affected (0.03 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 1 row affected (0.02 sec)
Database changed
Query OK, 0 rows affected (0.14 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
mysql>

Done, type: exit

___________..___________

INSTALL DAYDREAM BBS:
`````````````````````
(we are at: ~/por2014)
cd daydream-2.15.0-b7
Set perms to run install script:
chmod +x install.sh
Once you run it you'll be asked a number of questions; my answers are in red:
NOTE: 'bbs user' (not admin) password is the password you will give to your BBS users to connect to the BBS prompt for their login information.
su
./install.sh
Please enter the install path (e.g. /home/bbs)
/home/bbs
Do you have the bbs and bbsadmin user? (type YES or NO)
NO
The system will now in 5 seconds create the bbs user,
bbsadmin, zipcheck users (and groups). Press Ctrl-C to abort
useradd: user 'zipcheck' already exists
Please type the password for your bbs administrator user
Enter new UNIX password:
PASSWORD
Retype new UNIX password:
PASSWORD
passwd: password updated successfully
Please type the password for your bbs user(used for ssh login to the BBS)
Enter new UNIX password:
PASSWORD
Retype new UNIX password:
PASSWORD
passwd: password updated successfully
Should we install the data files? (only for new installations)
Type YES or NO
YES
Install successful, now compile the source and install the binaries
rm -f *.o libddcommon.so libdd.so libdd.a libddcommon.a
[snip] (for my entire output view HERE).
toss.cpp: In function 'void toss()':
toss.cpp:201:27: error: 'unlink' was not declared in this scope
make: *** [toss.o] Error 1
Build failed!
[snip]
cp ddtick /home/bbs/utils/
cp: cannot stat 'ddtick': No such file or directory
make: *** [install] Error 1
[snip]
Setup complete, restart inetd and telnet to localhost
-end of output

1. Developer stated that w can safely ignore both toss.o and ddtick errors if you had those (I did).

2. Skip adding the inetd.conf settings and restarting inetd; as that is for DDFTP, not us.

3. Now to take care of the strings.001 we downloaded earlier:
(we are at: ~/por2014/daydream-2.15.0-b7)
cd ../..
(we are now at: ~/)
rm /home/bbs/display/strings.001
cp strings.001 /home/bbs/display/strings.001

4. chmod DayDreams BBS files:
chmod 775 -R /home/bbs/display/iso
exit

___________..___________

TEST CONNECT TO P.O.R. BBS:
```````````````````````````
We still have other steps to do but let's test first if you are able to connect to BBS frontend (Daydream) through SSH (replacement for telnet). Don't add yourself or enter any username when prompted.

Replace 22 with your own SSH port number:
ssh bbs@localhost -p 22
If this is the first time you SSH to your 'localhost' server you'll be prompted (RSA key fingerprint) to continue connecting type in:
yes
Enter password that you created for bbs (not bbsadmin).

This is what it looks like the first login on the BBS. You are to select the layout that will be displayed for all your users:

DayDream First Login

1 is in color, 2 is no color. Type a number to select the layout, for example 1 then you will be presented with the login banner:

DayDream Layout 1

You are done; do NOT do anything there yet, don't login or add NEW, it most likely won't work properly at this point. We just tested if you can connect and motivation to keep going :).
To quit: logoff

NOTES:
1. If you forgot bbs password, or was never given a prompt to enter a password, just change it as root:
passwd bbs
Type in a new password.

2. On my terminal the ASCII art is skewed to the far right (view here, if greater than 80 cols, what is missing) and I can view console color codes ([0m,32m etc.). This is because there is a character in the file my terminal client settings aren't reading properly. If yours is like this, not to worry; we'll deal with that last ('EDIT BBS DISPLAY FILES').

3. Once you are logged in as user bbs, control is given to Daydream and you can't break back to the shell. So future connections you might want to screen it or use another window.

___________..___________

ADD NEW SITEOP TO GLFTPD SITE:
``````````````````````````````
We need to declare a siteop's name and password in plain text in a configuration file, so to be a tad safer we'll add a new siteop using the IP mask bbs@127.0.0.1. Developer stated he will fix that. Until then this is what we must do.
You can use any name, I just use bbs for this example. Login to your glFTPd:
site adduser bbs PASSWORD bbs@127.0.0.1
Give your new user the site op flag:
site change bbs flags +1

___________..___________

COMPILE P.O.R. TOOLS:
`````````````````````
(we are at: ~/)
cd por2014/por2013_sitecmdhandler/src
make clean
Output: rm -f *.o porsitehandler *.core
make
Do NOT run make install (or it will copy it to /doors (unless you edit paths in Makefile)). Instead:
cp -f porsitehandler /home/bbs/doors/
If you did run make install; not to worry, just delete it:
rm /doors -rf

(we are at: ~/por2014/por2013_sitecmdhandler/src)
cd ../.. && cd por_Dirlist/src
(we are now at: ~/por2014/por_Dirlist/src)
make clean
make
Can ignore 'warnings'. Do NOT run make install, instead:
cp -f pordirlistupdater /jail/glftpd/bin
cp -f por_bbs_dirlister /home/bbs/doors

___________..___________

COPY P.O.R. FILES TO LOCATIONS:
```````````````````````````````
1. Copy all content from P.O.R.'s included glftpd directory to your glFTPd root. If you want to be safe back up your glftpd directory first, or instead I'm going to only copy over the files that I do not have:
ls /jail/glftpd/bin
ls /jail/glftpd/lib
and compare with
ls por2014/glftpd/bin
ls por2014/glftpd/lib

I'll delete the ones in por that I do have before copying over:
So for example, don't follow as the files your glFTPd has, could be different than mine:
(we are at: ~/por2014/por_Dirlist/src)
cd ../.. && cd glftpd/bin/
(we are now at: ~/por2014/glftpd/bin)
rm chmod chown cleanup rar rm unrar
cd .. && cd lib && rm ld-linux.so.2 libacl.so.1 libattr.so.1
Then to copy over all content of por's glftpd dir to your glftpd dir:
cd .. && cp -r * /jail/glftpd
(we are now at: ~/por2014/glftpd)

2. And one file to bbs:
cp bbs/include/por2013.h /home/bbs/include/por2013.h

3. Anytime there are changes to /glftpd/bin dir or an upgrade to your system you need to:
cd /home/user/project-zs-ng_r2500-v1.2.0/
./libcopy.sh /jail/glftpd/
(or if you aren't jailed: ./libcopy.sh /glftpd/)

4. Change perms on /group_diz_files to world readable (-rwxr-xr-x):
chmod -R 755 /jail/glftpd/etc/group_diz_files

___________..___________

EDIT P.O.R. FILES:
``````````````````
1. POR2013.H:
View if por2013.h states the correct path to your glFTPd:
head -n 9 /home/bbs/include/por2013.h
Output last line:
#define PCNF    "/jail/glftpd/etc/por.config" // PATH TO POR CONFIG FILE

If that is the correct path to your por.config then do nothing.
If that isn't the correct path, edit it:
pico /home/bbs/include/por2013.h
Edit only /jail/glftpd to the correct path for your por.config.

2. POR_DIRLIST.CFG:
Edit your por_dirlist.cfg to reflect the correct paths and sections:
pico /jail/glftpd/etc/por_dirlist.cfg
The file has this:
2 0day /site/incoming/0day/
3 ebooks /site/incoming/ebooks/
3 ebooks /site/archive/ebooks/
4 dox /site/incoming/dox/
7 xxx-web /site/incoming/xxx-web/
0 END END

Edit yours to match your site's sections and what you entered in CREATE_DB.sql.

As in the example above for '3 ebooks', you can have multiple paths for the same genre, just keep the section number the same. The result of doing it like this would be one BBS conference room is created to list all ebooks. If you want to have seperate conference rooms then don't use the same number. The output this file produces is from the MySQL por_db.
For myself the path site/ is the correct path (relative to glftpd_root/site/ : /jail/glftpd/site/) so I'll leave the initial paths as is.
I do not have though any of those sections, so I'll edit mine to state, matching what I put in my CREATE_DB.sql earlier, to only this:
2 incoming /site/incoming/
0 END END

3. POR.CONFIG:
Create a link from por.config to /home/bbs/configs/:
ln -s /jail/glftpd/etc/por.config /home/bbs/configs/por.config

Edit por.config:
pico /jail/glftpd/etc/por.config
Leave all comments and --- lines. Edit only the settings.
For an example to follow; this is mine HERE (substitute PASSWORD with the actual passwords and IP and port for your glFTPd).

Quick reference; these are the only lines that I changed:
glftpd_siteop_functions_user    bbs
glftpd_siteop_functions_pass    PASSWORD
glftpd_port 12345
glftpd_section_root /site/
mysql_pass  PASSWORD

NOTES:
a. This is the file that will have the two passwords in plain text (our new siteop and MySQL root pass).

b. 'dirlist_max_dizlines' on por.config; when we copied over the contents of por2014/glftpd/etc to our glftpd, it contains a directory 'group_diz_files'. This is used for rar packed releases, which do not include a file_id.diz by default.

4. TAGS DIRECTORY:
In por.config it states: glftpd_dluserdirs       /jail/glftpd/site/tags/
So we need to create a 'tags' directory in glftpd:
mkdir /jail/glftpd/site/tags
chmod 777 /jail/glftpd/site/tags
This folder is for when users 'tag' a release on the BBS to download, a symbolic link is created to that tagged release in /tags/*/.

___________..___________

EDIT GLFTPD.CONF FILE:
``````````````````````
1. TLS ENFORCEMENTS:
Change your glftpd.conf 'TLS enforcements' so that TLS/SSL is disabled for P.O.R. user only (by default this is 'bbs'):
pico /jail/glftpd/etc/glftpd.conf
For example mine has:
# TLS enforcements.
userrejectsecure        !*
userrejectinsecure      *
denydiruncrypted        *
denydatauncrypted       *
master mewbie

Change it to:
# TLS enforcements.
userrejectsecure        !*
userrejectinsecure      !-bbs *
denydiruncrypted        !-bbs *
denydatauncrypted       *
master mewbie

2. NEW SITE CMD TO UPDATE EXISTING RELEASES TO DATABASE:
If you want to import your 'existing' releases on your glFTPd server:
A. Add the two following lines in the site_cmd section:
site_cmd PORDB          EXEC    /bin/por_dirDBupdate.sh
site_cmd PORDBDATED     EXEC    /bin/por_dirDBupdate-DATED.sh

B. State who can run these new cmds in the Rights section (below the above), 1 is siteops only:
custom-pordb    1
custom-pordbdated   1

Done, saves changes.
C. Set perms on the files added:
chmod 755 /jail/glftpd//bin/por_dirDBupdate.sh
chmod 755 /jail/glftpd//bin/por_dirDBupdate-DATED.sh
exit

Now the PF command in the BBS, to view the directory listing in 'old skool' BBS style, will work. We'll get to that later.

___________..___________

PSZ-NG SETTINGS:
````````````````
You need to edit your original zsconfig.h file that you used to install pzs-ng.
(If you edit a new zsconfig.h file on a currently installed pzs-ng when you recompile it; you'll wipe out your current settings.)
Exit root if you are.
For example, mine is here:
pico ~/project-zs-ng_r2500-v1.2.0/zipscript/conf/zsconfig.h
Find (Ctrl+w) this line and change it to TRUE:
#define enable_complete_script TRUE
(mine was already set to true)

Next, add this line under it:
#define complete_script              "/bin/por_compleet.sh"

IF you already have a 'complete_script' entry; comment it out. For example I have:
#define complete_script              "/bin/nfoextract.sh"

Change it to:
#define complete_script              "/bin/por_compleet.sh"
//#define complete_script              "/bin/nfoextract.sh"

cd ~/project-zs-ng_r2500-v1.2.0/
Whenever any changes are done to zsconfig.h, we must recompile it for the changes to take affect:
su
make
make install

NOTES:
1. When you upload files to the server, the output will have P.O.R. above pzs-ng output now, for example:

.-----------[p.O.r. DiRLiST UPDATED]----------[NEW RELEASE]------.
| release     : Rar.Test.and.List.for.glFTPd-MWB
: release date: 1393508460
+--- - ------------------- - -------------- - -> >>
.-== PZS-NG Zipscript-C ==-------------------------.
| + ZiP integrity: oK!                             |
+-=[UserTop]=-------------------===----------------+
|  1. mewbie               0.0MB    1F       8kB/s |
+-=[GroupTop]=--------------------===--------------+
|  1. MWB                  0.0MB    1F       8kB/s |
`-[##############]----------------------[  1/1  ]--'

If on zsconfig.h you were using '#define complete_script' and now that is edited out you won't be able to use those features on it such as deny .nfo upload, deny making of .message. View here how to deny uploading of .nfo and .diz files. Allowing .diz files uploaded to your site can make a huge mess of a site:

[1] 230- WARNING! 9 bare linefeeds received in ASCII mode
[1] 230-    File may not have transferred correctly.
[1] 226- .-== PZS-NG Zipscript-C ==-------------------------.
[1] 226- | - diz-file: Not allowed!                         |
[1] 226- `-----------------------------------========-------'
[snip]
[i] file_id.diz 414bytes/1.55(s)/0.00Kbps <-file was uploaded

___________..___________

EDIT DAYDREAM.CFG:
``````````````````
EDITING TIPS - COMPARE FILES:
Can skip all this and go to 'EDIT DAYDREAM.CFG:' below.

1. Here is an example daydream.cfg to have working configurations for ALL the original sections in CREATE_DB.sql (0day, ebooks, dox, and xxx-web).
You'll need to edit this to match the same sections that you entered in CREATE_DB.sql. (If curious here is mine that I use since I don't have any of those sections). You could, for testing, just use the daydream.cfg example first to get you started (backup original, delete original, rename example to daydream.cfg).

2. Refer to the Daydream docs while you edit daydream.cfg, here:
~/por2014/daydream-2.15.0-b7/DOCS/manual/index.html
I've put a copy here also. Click on '3. Configuring DayDream'.

3. To easily view the differences between the DayDream's daydream.cfg and the provided example (daydream.cfg-example_for_por): Exit root then download the example to your shell and view the differences:

cd ~
wget http://mewbies.com/por/files/daydream.cfg-example_for_por
diff daydream.cfg-example_for_por /home/bbs/configs/daydream.cfg | less
q

Or side by side comparison of both files:
sdiff daydream.cfg-example_for_por /home/bbs/configs/daydream.cfg > daydream.cfg_sdiff
cat daydream.cfg_sdiff | less
q

Or colorize diff output (aptitude install colordiff):
diff /home/bbs/configs/daydream.cfg daydream.cfg-example_for_por | colordiff | less -r
q

colordiff output

To change colordiff's output colors:
cd ~
cp /etc/colordiffrc .colordiffrc
pico .colordiffrc
Or make changes system wide:
su
pico /etc/colordiffrc
exit

Many console softwares can compare the differences of two files. You might find it easier to use a GUI compare software to edit the daydream.cfg. A few good compare softwares for MacOSX, Linux, and Win (pricey but all offer a 30 day trial): UltraEdit ($79.95), UltraCompare ($49.95) or the easiest one to use; Beyond Compare ($30 for standard).

Window users:
Do not edit it in MS Notepad, WordPad, etc. as there are escape sequences in the file that need to be there (in Beyond Compare they look like little boxes with 1B in them).
Notepad++ users can do the same for free using Notepad++ 'Compare plugin'.


EDIT DAYDREAM.CFG:
1. This is a monster file so let's start with inserting the P.O.R. door entries (the P.O.R. tools we compiled earlier):
pico +1383 /home/bbs/configs/daydream.cfg
(+1383 just means it will open the file on line 1383)
Below this line:
!EXTERNALCOMMANDS.DAT

Add this:
DOOR_COMMAND.. P
DOOR_TYPE..... 1
DOOR_SECURITY. 50
DOOR_EXECUTE.. /home/bbs/doors/porsitehandler %N
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_PASSWD... -
+
DOOR_COMMAND.. PF
DOOR_TYPE..... 1
DOOR_SECURITY. 50
DOOR_EXECUTE.. /home/bbs/doors/por_bbs_dirlister %N
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_PASSWD... -

2. Now we want to start at the beginning of the file to edit it:
Ctrl+Shift+_, enter 1 to start at the top of the file again.
All lines that begin with ';' are comments.
Below each comment line is a setting; edit to your needs. For example:
Change:
HOMEDIR /home/bbs/
To:
HOMEDIR /home/bbs

Change:
BBSNAME...... Humanoid Invasion
To your BBS name, for example:
BBSNAME...... [M]EWB [M]E

Change:
SYSOP........ Hydra
To whom you want to be shown as sysop for your BBS:
SYSOP........ mewbie
Same for:
SYSOPFIRST... Hydra
SYSOPLAST.... NLN

Et cetera!

3. When you reach this section:
; Path to python executable
PYTHON....... /usr/bin/python
Check where your python is and edit if needed:
which python

4. You'll notice there are paths stated in daydream.cfg that do not exist, such as:
CONF_PATH..... /home/bbs/confs/incoming/0day/
You do not need to create those paths. Those are only used when using ZMODEM upload like in the old DOS days.

___________..___________

COMPILE DAYDREAM:
`````````````````
Each time we make changes to daydream.cfg, like pzs-ng's zsconfig.h, we must recompile it (convert the config to separate .dat files):
cd /home/bbs/utils/
./ddcfg /home/bbs/configs/daydream.cfg
exit
If successful there won't be any output.

___________..___________

CHANGE GROUP, GIVE ACCESS, CHECK PERMS:
```````````````````````````````````````
1. CHANGE GROUP:
Your /jail/ (or if not jailed then /glftpd/) and /bbs/ directories need to have the same GID (group ID (UID is user ID)). By default DayDream is installed with GID bbs.
Gain root if not already: su
To view what group (GID) jail is in (default is glftpd):
ls -l / | grep jail | cut -d ' ' -f 6
Or if not jailed:
ls -l / | grep glftpd | cut -d ' ' -f 6
My output is mew as I changed that during installing of glftpd.
You can also view like this:
ls -l / | grep jail
drwxrwx---   4 root mew   4096 Mar  4 11:04 jail
                ↑    ↑                       ↑
        owner / UID  GID / group       directory

For bbs:
ls -l /home/ | grep bbs
My output:
drwxrwxr-x  22 root bbs   4096 Mar  1 07:38 bbs

So we need to change group for /jail (or /glftpd if not jailed), including all contents to group bbs. To change group (chgrp) of a file(s) and or directory(ies), -R is recursively:
chgrp -R bbs /jail/*
ls -l / | grep jail
Should now be:
drwxrwx---   4 root bbs   4096 Mar  4 11:04 jail
Or you could set owner and group like this:
chown -R root.bbs /jail

And for /bbs directory and all its content do:
chown -R bbs.bbs /home/bbs
Should now be:
drwxrwxr-x  22 bbs bbs   4096 Mar  1 07:38 bbs

NOTES CHOWN:
1. After editing any files in /home/bbs or /glftpd don't forget you need to chown those files to the correct group and owner.

2. If you have any scripts that you run in /glftpd on your own crontab (not root) either:
chown them back to your user name (chown mewbie.mewbie /jail/glftpd/MyScript), even if you are in group bbs.
or
chmod the scripts to 770.

2. GIVE ACCESS:
We need to give access to files, that are in /glftpd and /bbs, to DayDream user (by default this is 'bbs'), MySQL and our sitebot.
You can do this by doing: 'usermod -aG bbs [UID]' etc. I like to do it manually:
pico /etc/group
My group name for glFTPd is now bbs (as in step 1. above). Towards the bottom of this file you'll see two groups (zipcheck and bbs), with the two new users (bbsadmin and bbs) after installing DayDream:
zipcheck:x:1008:bbsadmin,bbs
bbs:x:1009:

Change this by adding user 'mysql' and your sitebot's (announce bot) owner (owner of bot - same as the owner's shell login name (/home/mewbie/)) to the new group bbs like this:
zipcheck:x:1008:bbsadmin,bbs
bbs:x:1009:mysql,mewbie

After you need to .rehash your sitebot for changes to affect.

3. CHECK PERMS:
Check that your /site/ directory is chmod 777 (drwxrwxrwx):
ls -l /jail/glftpd | grep site
My output:
drwxrwxrwx   5 root bbs   4096 Mar 13 14:10 site
[snip]
If it isn't:
chmod 777 /jail/glftpd/site
If you aren't jailed:
chmod 777 /glftpd/site

___________..___________

UPDATE P.O.R. DATABASE:
```````````````````````
NON 0DAY SECTION: If you want to add existing directories to P.O.R. BBS database re-login in to your glFTPd and cd into sections which do not use dated dirs and execute the following site command:
site pordb
Output if working correctly will be similar to:
[1] 200- .-----------[p.O.r. DiRLiST UPDATED]---------[NEW RELEASE]-----.
[1] 200- | release     : Test-MWB
[1] 200- : release date: 1393495209
[1] 200- +--- - ------------------- - -------------- - -> >>

Now all releases in this dir will be added to P.O.R.'s MySQL database.
If there are no new directories, pordb output will be only:
[1] 200 Command Successful.

0DAY SECTION: cd into 0day/ (with all the dated directories), for example /incoming/0day/0102/ and execute:
site pordbdated

___________..___________

CONNECT TO P.O.R. BBS:
``````````````````````
1. The first user to login to the BBS will be considered as the SysOp. You'll be asked two questions that other users will not be asked (anon & important). To connect:
Replace 22 with your own SSH port number:
ssh bbs@localhost -p 22
Enter password that you created for bbs (not bbsadmin).
Once connected create yourself an account by typing in: NEW
If it didn't prompt you to create a new account (depends on your settings) then type in: new
When prompted for your user name and password ('Prove it') use your existing glFTPd login name and password.
Prove it: Type in your glFTPd password
(Note: Users can still change their password on glFTPd, P.O.R. reads the passwords from glFTPd.)
Then it ask user name: mewbie
pass:
Wanna add a line (yes/No):
y
hello!
Wanna be anonymous? (yes/No) :
N
Is this important (SysOp only)? (yes/No) :
N

Then you will be presented with a fake list of 'Last Callers' (future releases might not have this fake list added (ddcallers.gfx & ddcallers.txt)):

P.O.R. BBS Last Callers

More: Y)es, N)o, C)ontinuous?:
Y
(...Press any key...)
Then you'l be presented with the BBS Menu:

Note: The colors will vary greatly depending on the terminal client that you use and your settings. The above screenshot is using SecureCRT. Hover your cursor over the image to view screenshot using Nexus Terminal.

2. When you added yourself to the BBS if it did not state "IP '*@127.0.0.1' added" to your account then login into your glFTPd server and add that IP to your account (site addip NAME *@127.0.0.1). This will be done automatically for all new users, (not using IP 127.0.0.1). The reason 127.0.0.1 is added to all BBS users' accounts is so that through the BBS users can log into the glFTPd to perform site cmds and have the output within the BBS.

3. To quit BBS: g
Disconnect? (Y/n): y
Everybody talks about my drinking, but nobody talks about my thirst.

NEW BBS USERS:
``````````````
1. Instruct your shell users to connect with the WAN (Internet) IP, not localhost (127.0.01), as only one connection to BBS is allowed from localhost. Furthermore only one connection is allowed per shell user's account. If any users have already connected using 127.0.0.1 then they might need to manually add *@127.0.0.1 to their glFTPd account if it isn't there.

2. The first time, only, any users login to the BBS, regardless if they are an existing glFTPd user or not, they need to enter: NEW. If they have an account on your glFTPd server then when asked they enter: Y
Then they enter their glFTPd username and password when prompted so that they can be verified against the glFTPd login info. For example:

Username: NEW
Do you have a account on this systems ftp server (Y/N): Y
What is the username you use to login to the ftp server: doggie
Saving account... Ok!
Your account has been successfully imported to Daydreams userbase
You can now login using your ftp login and pass.
Username: doggie
Prove it:********
WELCOME BACK doggie234 AUTH TLS successful
Connected with ECDHE-ECDSA-AES256-SHA encryption
IP '*@127.0.0.1' successfully added to doggie.

The IP 127.0.0.1 will only be added to a users gl account once the user logins to their BBS account. Your sitebot will report it, for example sitebot output:
[@|MWB|] [MWB] LOGiN: bbs / NoGroup has logged in.
[@|MWB|] [MWB] LOGOUT: bbs / NoGroup has logged out.
[@|MWB|] [MWB] SYSOP: bbs added ip *@127.0.0.1 to doggie.

Note: While you, admin, are in BBS any users that login you will be informed once you press your enter key.

GLFTPD SITE COMMANDS ON THE BBS:
````````````````````````````````
To use any glFTPd site cmds on the BBS precede it with a 'p' instead of 'site', for example:
p users 6 (show list of users with flag 6; deleted)
p msg read
p galup:

P.O.R. p galup Output

Each time a user executes a gl site cmd (p cmd) they will be logged into the gl, given the output and logged back out of the gl.

P (SITE) COMMANDS OUTPUT IN COLOR:
``````````````````````````````````
To output the p (site) cmds in color on the BBS add flag 5 (color) to all users. (You do not need to change your glftpd.conf color_mode 0 to 1.)
The color flag 5 though does not work on Windows FTP clients. The output, if color flag is enabled, in FTPRush will be a mess of color codes similar to:
[1] 200- <-[1;37m<-[34m| <-[36mPriv Groups<-[1;36m:<-[1;32m
Each user can then turn the color off (or on) by: site color off (or BBS p color off).

PF DIRECTORY LISTING:
`````````````````````
To view a list of all directories uploaded to the server, 'old skool' style use pf and for PF help: pf ?

BBS pf cmd listing directories

Note that when users first login to the BBS they will be in the main conference room [1] which is not a 'section' (0day, ebooks, etc or in my setup 'incoming') on the glFTPd server, for example:
[1] MEWBIES SUPPORT [1:MEWBIES GENERAL] [0/0] [16958]:

If they perform pf in room [1] they will receive the error:
NOT a p.O.r. conference, try 'FR' and 'F' instead
[ sqlDirList 1.0 -P.O.R. 2012 [c] glAsh- ] Type PF ? to get help on all features!

Users need to change conference rooms by doing first (as stated on the BBS MENU): > (Next conf) or < (Prev conf) then perform pf to have a directory listing for that section, for example conference room [2] is my gl /incoming/ (that I setup in MySQL, etc.):
[2] INCOMING [1:INCOMING ( MEWBIES )] [0/0] [34439]:

PF NOTES:
1. Date shown on the list of directories is taken from the latest date (timestamp) of a file within the pack (zip, rar, etc.); not the upload date. I find this to be another nice touch as for archives it provides an origin date rather than a date that x file is created on your server. It would though be nice to have both dates in some cases.
2. PF will list directories in order of newest to oldest date (based on date as stated above 1.).

___________..___________

EDIT BBS DISPLAY FILES:
```````````````````````
Most of the text files ('textfiles') that are shown to users when traversing the BBS are here:
ls -al /home/bbs/display/iso/
The .gfx is the colored version, and .txt is without color for users that select color mode (1 or 3)and users selecting no color mode (2 or 4).
All the different display files will have both versions.

1. BANNER:
The banner files, shown before login prompt, are:
cat /home/bbs/display/iso/banner.gfx
or no color:
cat /home/bbs/display/iso/banner.txt

For my terminal the banner does not display properly; ASCII art skewed and can view console codes:

Daydream banner skewed

If yours is the same the easiest method is to edit both the files and replace all instances of the character: ▌ and replace it with any other character you like such as ':' and '|'. In red circles are the characters to replace:
DayDream banner remove character.

To do this, back up the original file first just in case:
cp /home/bbs/display/iso/banner.gfx /home/bbs/display/iso/banner.gfx-org
cp /home/bbs/display/iso/banner.txt /home/bbs/display/iso/banner.txt-org
Edit:
pico /home/bbs/display/iso/banner.gfx
NOTE WINDOW USERS: can safely edit this file in Notepad++, but not Notepad. If you are uploading these files then first delete the current file; do NOT overwrite files, overwriting can append to a file.

As you edit it, you can test it by Ctrl+o (save without exiting) and open a second terminal window and do:
cat /home/bbs/display/iso/banner.gfx
You'll notice that after replacing that character (▌) the ASCII art part isn't in color. This is because it begins with the stop color code: ^[[0m
If you want that in color change 0 to a console color code; view here for console color codes, and refer to my fixed banner files here.
For example I changed mine to light cyan 1;36: ^[[1;36m
And at the end of the ASCII art to turn off the 'light' (1;) I add: ^[[0m
Once I replaced that character and made some color changes here are the results:

DayDream Banner Fixed

Here are the files, banner.txt and banner.gfx, fixed as in the image above.

Or use your own ASCII art:

DayDream Banner Mewbies

Here are the files, banner.txt and banner.gfx, as in the image above.

After you are done editing any bbs files; change the ownership of those files back to original:
su
chown bbs.bbs /home/bbs/display/iso/banner.gfx
chown bbs.bbs /home/bbs/display/iso/banner.txt

2. GOODBYE:
When a user quits with the command 'g', 'beforegoodbye' is shown:
"Everybody talks about my drinking, but nobody talks about my thirst."
That file is here: /home/bbs/display/iso/goodbye.gfx and goodbye.txt

3. CONFERENCES:
Another one you will want to edit is the list of Conference rooms:
joinconference.gfx and .txt
Rename the rooms to match your gl sections to the correct room number.
If a user was to change conference rooms by doing: > until they reach the end of your conference rooms, they will be presented with that list and able to select a number to change to that room.
To view your list of conference rooms enter: sf

___________..___________

GROUP_DIZ_FILES:
```````````````````````````
In a previous step we copied over the contents of /por2014/glftpd/etc/ to /jail/glftpd/etc/. This contained sub-directories /group_diz_files/COLLECTION/. This is a very nice touch the developer included; to have /group_diz_files/ used for rar packs, which do not include a file_id.diz by default.

If a user uploads a directory of rars and IF the 'group name' (xxx.xxx-GROUP.NAME) matches the name of one of the files in /group_diz_files/, e.g xxx.xxx-ABC, then when a BBS user is listing directories (PF) x directory of rars (without a file_id.diz) will display the the correct /group_diz_files/. For example rar release of xxx.xxx-ABC, will display /group_diz_files/ABC if ABC exist.
If it does not exist then 'NODIZ_FILE_ID' will be used and displayed on the PF output. NODIZ_FILE_ID contains only:
============================================

Here is an example of a directory with rars and a matching file_id group name and then another without a matching file_id:

DayDream First Login

The date shown for x directory(ies) on a PF output is the the latest date of a file in the pack.

You could edit the NODIZ_FILE_ID to something fancier, e.g.:
pico /jail/glftpd/etc/group_diz_files/NODIZ_FILE_ID
----------------.---------.-------.---------
     b r i n g s  y o u  a n o t h e r
    .  :  f i n e  r e l e a s e  :       .
----.--+-- -----------------------.-------.-
    .  |                          |       ;

There are a limited number of /group_diz_files/ included and most are not for 'group names' that do rar releases. So you'll need to create more yourself for each rar (or other format) release type group name if you want your user's PF output to have that.
Included is a collection of more here:
ls /jail/glftpd/etc/group_diz_files/COLLECTION

Would be a nice little P.O.R. project if someone created a nice updated set of those based on each groups' ASCII art.
Note that the proper format for a file_id.diz is total number of lines to not exceed 30 and each line maximum 45 columns (characters).
Depending on a user's BBS settings in /jail/glftpd/etc/por.config 'dirlist_max_dizlines' default is to display the first 12 lines only. So it would look nicer if only a maximum of twelve lines were used.

___________..___________

SYSOP COMMANDS:
```````````````
For a list of SysOp commands refer to the enclosed DayDream docs 'sysopcmds.html'.
For example to edit a user's file enter: usered You'll then be prompted to enter a password. This password is the one you declared on daydream.cfg under the setting 'USERED_PW.... 123mypassword'.
To list users: L Then to edit for example user 007 doggie: F then enter 007.

This is also a good time to go through the DayDream docs (they aren't long) and get to know the BBS better.

___________..___________

TROUBLE SHOOTING:
`````````````````
This is a list of some errors and solutions you might encounter.
If you've had a problem, solved it and think it should be on this list; please inform me :).

_ . _

DEBUG MODE
Turn on (1) debug mode to trouble shoot problems:
su
pico /jail/glftpd/etc/por.config
Change: debug   0
To:     debug   1
chown root.bbs /jail/glftpd/etc/por.config
exit
Log out and back into your BBS to view the debug output.

_ . _

PORDIRLISTUPDATER - SITE PORDB or SITE PORDBDATED:
If you receive errors when performing on the FTP server 'site pordb' or 'site pordbdated' similar to:

A. [1] 200- pordirlistupdater: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

Check if the file mentioned is linked properly; refer to here.

.

B. [1] 200- pordirlistupdater: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by pordirlistupdater)

Check if the file mentioned is linked properly; refer to here.

.

C. Dirlistupdater gives a 'Segmentation Error':
Be sure you execute 'site pordbdated' in the correct path, e.g. /incoming/0day/0102/.
Check that /jail (or /glftpd if not jailed) and (/home)/bbs are chown'ed by the same group, refer to here.

.

D. [1] 200- warning: cannot set time for /site/.......

Check that /jail (or /glftpd if not jailed) and (/home)/bbs are chown'ed by the same group.
Check that /glftpd/site is chmod 777, refer to here.

.

E. [1] 200- Table 'por_db.0day' doesn't exist
   [1] 200- BAH QUERY 1 FUCKED!

This is because in por_dirlist.cfg and CREATE_DB.sql table names aren't matching. Confirm they are matching in daydream.cfg also.

.

F. The release date states a string of numbers and not the date, for example:
200- : release date: 1393664949

This is because the release date is in Unix time (or Unix timestamp, Unix epoch, POSIX time) for the MySQL database.
The above would be: Sat, 01 Mar 2014 09:09:09 GMT
Here you can convert a Unix time to a readable date and time.

.

G. Dirlistupdater does not add the file_id.diz to the database.

Check that the file_id.diz files are world readable:
chmod -R 755 /jail/glftpd/etc/group_diz_files
Check that user mysql is DayDream's group (default is bbs); refer to here.

H. Dirlistupdater does not execute and zipscript gives the following error:

[1] 200- .-== PZS-NG Zipscript-C ==-------------------------.
[1] 200- | - SFV-file: BAD!                                 |
[1] 200- `-----------------------------------========-------'
[1] 200- Checks completed in 0.021754 seconds.
In pzs-ng's .../zipscript/conf/zsconfig.h add the current section to "#define allowed_types_exemption_dirs". (Remeber to recompile zsconfig.h after.)

_ . _

BBS DISPLAY FILES:
A. I edited a display file .gfx or .txt and now parts of the file are displaying twice.

If you are uploading the file do not overwrite it; delete it then upload new version.

B. BBS can't load any of its display files "cannot locate textfile": Check the display .gfx and .txt files are indeed there, have the correct perms and ownership: ls -al /home/bbs/display/iso
chmod 775 -R /home/bbs/display/iso
chown bbs.bbs -R /home/bbs/display/iso

_ . _

ALL TELNET NODES IN USE. CALL BACK LATER.:
When doing ssh bbs@localhost -p 22 enter bbs@localhost's password, then it states "All telnet nodes in use. Call back later. Connection to localhost closed."

User's that are on your shell instruct them to connect with the WAN (Internet) IP; do not use localhost (127.0.0.1)
Only one connection is allowed from localhost (127.0.0.1) and one connection per user's shell account. Check that no one else on the shell is using 'localhost' to connect and using the same user's account.

_ . _

GLFTPD SITE CMDS:
A. If a user performs a gl site cmd, p [cmd], on the BBS and the only output is (they need to scroll up to view it):
"234 AUTH TLS successful Connected with ECDHE-ECDSA-AES256-SHA encryption".
Their screen then freezes; not able to type any cmds in.

Check that user has *@127.0.0.1 added to their gl account.

_ . _

PF DIRECTORY LISTING:
A. If a user performs PF on the BBS and they receive the error:
NOT a p.O.r. conference, try 'FR' and 'F' instead
[ sqlDirList 1.0 -P.O.R. 2012 [c] glAsh- ] Type PF ? to get help on all features!

Users need to change conference rooms to existing section on the server by doing > or < and then perform pf; refer to here. The conference room users are in when they quit will be saved and next time they login they will be in the same room.

_ . _

VIEW ANSI ART:
How to view BBS output of ANSI artwork properly, such as that on .diz and .nfo files and on site welcome? It only shows random squares or U like characters.

This will depend on the terminal client that you use, which will also affect the colors greatly. In Windows (you can change the settings whilst connected):
SecureCRT > Options > Session Options > Appearance > Character Encoding > None , Font Terminal > OK.
PuTTy and KiTTy > click top left corner monitor icon > Change Settings... > Window > Appearance > Font settings click Change > Terminal 9 > OK > left pane click Translation > Character set translation select 'Use font encoding' > Apply.
Nexus Terminal > Setup > Font > Character Set select OEM / PC ASCII, Font Terminal > OK.
ZoC > Options > Edit Session Profile... > Layout > Font and Character Display under Character Set select IMB/DOS/OEM (437), Font select Terminal.

Linux KDE Konsole > Settings > Manage Profile > Edit Profile > Appearance > Font > Liberation Mono, size 28 > Advanced tab > Encoding IBM850

In SecureCRT:

P.O.R. View ANSI art in SecureCRT

In Nexus Terminal:
P.O.R. View ANSI art in Nexus Terminal

___________..___________

OUTSTANDING QUESTIONS:
``````````````````````
Here I share with you questions and problems I'm having that you might be wondering about too. Once said problem is solved; I will update the appropriate section with the solution. The developer is extremely busy and I have overwhelmed him (/me thinks) with many enquiries.

1. For topic 'NEW BBS USERS':
Depending on your settings in (/jail/glftpd/etc/)por.config will determine whether or not users must have an account on glFTPd before they are allowed to create an account on the BBS. 1 is users must:
bbs_uses_glftpd_passwd 1
PROBLEM - How to add a user to the BBS properly?:
Furthermore if por.config is set to 'adduser_on_bbs_newuser  1' the notes in config state that if a new user account is created on the BBS, the glFTPd account will created, then deleted (leaving all info there) so that a siteop only needs to 'readd' that account.
'I' (user mewbie) have tried this (p adduser) on the BBS, and the account was not deleted, nor IP 127.0.0.1 added until that user logged into their BBS account.

The next setting states:
"account infos wich should be used for creating new-user accounts, this account should have siteop access."
So it seems that one must login as user bbs to add new users (?). I tried this and it stated 'No such user' (bbs), presumably because user bbs did not create a BBS account yet, BUT when the developer was trouble shooting on my site, my sitebot reported a new user had been added by user 'bbs', and the account deleted, and IP 127.0.0.1 had been added.
So did he adduser through glFTPd and not BBS as stated to do???

_ . _

2. For topic 'NEW BBS USERS': How to delete a BBS account properly?
Deleting accounts needs to be done on both glFTPd and BBS. Develepor plans to automate this in future releases. Until then what is the proper method to delete a BBS account?
In BBS I (SYSOP........ mewbie) enter: userlist but don't see option to delete account.

_ . _

3. & 4. Developer did an update/bugfix. I see it is to 'por_dirlister_main.cpp' only (??). I'll wait until there is a proper pack to use it (repace existing 'por_dirlister_main.cpp' and recompile por tools).
My note - can ignore: Changes made to the 'por_dirlister_main.cpp' on my shell do not match changes made in por.0314.tgz.

_ . _

5. Are these bugs?
On glFTPd 'site wkup' has results. (On mine the result is only one line (one user), and I also tested it with results being two lines (two users).)
On BBS 'p wkup' only ASCII art; no results.
Same for: p vers, p monthup, gpmonthup, gpmonthdn, gpal, gpwk, and gpwd.
p aldn only list 2, whereas on my gl output list 8
JFYI these work: p gpal, gpad

_ . _

6. BBS cmds f and fr, filecatalogs.gfx/.txt how do we use?:
In conference rooms [1 or 2 same output] I do:
pf, then I flag a directory to download: f 16 for example, I then quit pf.
I then do fr (filelist reverse)
Output is: Couldn't get conference!
I do: f (filelist)
Output is: Only area 1 in use in this conference!
Directories (1-1), (A)ll, (U)pload, (L)ist, (H)elp, (Enter)=Exit:
All selections produce:
No filecatalog entries found to be listed!
and this is true for the results of cmd N as well.

/home/bbs/display/iso/filecatalogs.txt or .gfx have this only:
Only area 1 in use in this conference!
and strings.001 has that same line.
How do we use this file and the cmds f and fr? (DayDream docs did not state).

_ . _

7. How to handle symbolic links created by tagging in BBS?:
In the new glFTPd /tags/ directory I see that when a BBS user 'tags' a release (pf then t) it creates a symbolic link in /tags/0/ to the tagged directory.
How are these symbolic links dealt with? : removed after x period of time? If so by which script? I created one and days later it is still there.
In BBS I enter T (tag editor) and L to list, the list is empty.
I (SYSOP........ mewbie) enter R, output is: Enter filename(s) to remove from the list:
I enter the symbolic link's name, press Enter, no output, and the symbolic link is still there.

_ . _

8. How to kill BBS hung connections?
For example perform who and output are numerous instances of when my connection timed out before I quit:
01 mewbie   NONE   Running a door...   TELNET

_ . _

9. Themes, templates?
Users will want to know how to pretty-fie their BBS like shown on lastlegend.org.
Do you have templates, themes I can include?

_ . _

10. who: cannot locate textfile:
When I enter the cmd who it states "who: cannot locate textfile", then it gives the who output.
Why is it looking for a textfile?
I see that it is called upon strings.001:
whheadstr:\n [32mN Account Name Org. / Location Activity

___________..___________

If you find mistakes, have suggestions, and or questions visit #por on efnet, or e-mail to support@lastlegend.org, or post at mewbies forum HERE (registration is NOT required) - thank you.

Last update on 31 Mar '14

-   mewbies.com   -