CVS and Node configuration for user access: Difference between pages

From The DXSpider Documentation Wiki
(Difference between pages)
Jump to navigation Jump to search
(Created page with "==CVS== ===CVS from a Linux platform=== CVS stands for "Concurrent Versions System" and the CVS for DXSpider is held at Sourceforge. This means that it is possible to update your DXSpider installation to the latest sources by using a few simple commands. A graphical interface to CVS for Windows is explained in the next section. Please be aware that if you update your system using CVS, it is possible that you could be running code that is very beta and not fully test...")
 
(This is a beta version to be reviewed)
 
Line 1: Line 1:
==CVS==


===CVS from a Linux platform===


CVS stands for "Concurrent Versions System" and the CVS for DXSpider is held at Sourceforge.  This means that it is possible to update your DXSpider installation to the latest sources by using a few simple commands. A graphical interface to CVS for Windows is explained in the next section.
==='''USER REGISTRATION'''===
----
There are two categories of user in a DXSpider node, the registered user and the unregistered user.  
By default, all users belong to the unregistered category.


Please be aware that if you update your system using CVS, it is possible that you could be running code that is very beta and not fully tested.  There is a possibility that it could be unstable.


I am of course assuming that you have a machine with both DXSpider and Internet access running.
==='''NODE IN "UNREGISTERED" MODE'''===
----
This is the most extedited way of working, but not necessarily the best.


BEFORE YOU EVEN CONSIDER STARTING WITH THIS MAKE A BACKUP OF YOUR
The global variable that conditions the node is '''$main::reqreg'''
ENTIRE SPIDER TREE!!
and its default value is '''0'''.
<pre>
  set/var $main::reqreg = 0
</pre>


Assuming you are connected to the Internet, you need to login to the CVS repository and then update your Spider source.  There are several steps which are listed below ...
In this mode the sysop is not obliged to register users, but if it does register them it will simply be a database entry.
Both types of users will have the same capabilities to send and receive SPOTS, ANN, ...


First login as the user sysop.  Next you need to connect to the CVS repository.  You do this with the command below ...
When the user starts the login process, he will be sent (if it exists) the banner contained in the file
<pre>
  /spider/local_data/motd_nor
</pre>


cvs -d:pserver:anonymous@scm.dxcluster.org:/scm/spider.git login


You will get a password prompt. Simply hit return here and your machine should return to a normal linux prompt.
==='''NODE IN "REGISTRATION" MODE'''===
----
To use this mode, the global variable '''$main::reqreg''' must be set to '''1'''.
The way to change it is
<pre>
  set/var $main::reqreg = 1
</pre>


What happens next depends on whether you have an existing installation that you want to update with the latest and greatest or whether you just want to see what is there and/or run it on a new machine for testing.
When this mode is activated, only users that the sysop has registered will be able to send and receive SPOTS, ANN, ..., while unregistered users will only be able to receive information.


If you are installing Spider from CVS then change directory to /home/sysop
The way to register/unregister a user is as follows:
<pre>
  set/register <call>
  unset/register <call>
</pre>
At any time we can know which users we have registered using
<pre>
  sh/register
</pre>
There is the possibility to display a specific banner for registered users. The file containing it is the following
<pre>
  /spider/_local_data/motd
</pre>


If you are wanting to update Spider then cd to /tmp


The next step will create a brand new 'spider' directory in your current directory.
==='''PASSWORD USAGE'''===
----
By default, the node has disabled the function of requesting a password when we log in. So there is a risk that another user can use our account.


cvs -z3 -d:pserver:anonymous@scm.dxcluster.org:/scm/spider.git co -d spider master
For a user to be assigned a password, the sysop will have to execute at least once
<pre>
  set/password <call> <string>
</pre>
and the user can change his password with the command
<pre>
  set/password
</pre>


This command is all on one line.


Hopefully your screen should show you downloading files.  The -z3 simply compresses the download to improve speed. When this has finished, you will have exactly the same as if you had untarred a full tarball PLUS some extra directories and files that CVS needs to do the magic that it does.
==='''NODE IN "NO PASSWORD" MODE'''===
Now if you are doing a new installation, that's it.  Carry on as if you have just downloaded and untarred the lastest tarball.
----
The global variable '''$main::passwdreq''' is set to '''0''' by default.
As mentioned above, users logging into a node so configured will only be prompted for their callsign.


If you want to upgrade your current installation then do this ...
To see the value of the variable we will use
<pre>
  sh/var $main::passwdreq
</pre>


tar cvfz /tmp/s.tgz spider
cd /
tar xvfzp /tmp/s.tgz


This is assuming you downloaded to the /tmp directory of course.
==='''NODE IN "PASSWORD" MODE'''===
----
If we set the '''$main::passwdreq''' variable to '''1''', we will force any user logging in to the node to enter their callsign and password, otherwise they will not be able to access the node.
The node will not establish the session if there is no positive authentication.


NOTE: the 'p' on the end of the 'xvfz' is IMPORTANT!   It keeps the
To set this mode of operation:
permissions correct.  YOU WERE LOGGED IN AS THE USER SYSOP WEREN'T
<pre>
YOU?????
   set/var $main::passwdreq = 1
</pre>


Remember to recompile the C client (cd /spider/src; make)


At this point the files have been upgraded.  You can (usually) restart the cluster in your own time.  However, if you attempt to use any new commands or features expect it to be fatal!  At least your cluster will have been restarted then so it will be too late to worry about it!
==='''HOW TO PROTECT OUR NODE (Recommended configuration)'''===
----
One way to control the correct use of our node, is to use the combination of registration and password as follows.


Now the magic part!  From now on when you want to update, simply connect to the Internet and then, as the user sysop ...
We enable the registration for all the users
<pre>
  set/var $main::reqreg = 1
</pre>
and we disable the global use of passwords
<pre>
  set/var $main::passwdreq = 0
</pre>
This allows anyone to access the node in READ mode, but only those who have authenticated with username and password will have full user access.


cd /spider
This implies that the sysop must register and assign a password to the trusted user.
cvs -z3 update -d
<pre>
  set/register <call>
  set/password <call> <string>
</pre>
This way we have control and limit the misuse of our node.


and your files will be updated.  As above, remember to recompile the "C" client if it has been updated (CVS will tell you) and restart if any of the perl scripts have been altered or added, again, CVS will tell you.


You will find any changes documented in the /spider/Changes file.
==='''MAKE THESE CHANGES PERMANENT'''===
 
----
===CVS from a Windows platform===
Although we can enable or disable these variables at any time, if we want to keep them during the startup of the node, we must edit the file
 
<pre>
After the initial setup, an update to your DXSpider software is no more than a couple of clicks away.  This section is intended to explain and illustrate the use of the WinCVS application to update your DXSpider software.  The current stable version of WinCVS is Ver 1.2.  You can get this software at:
  /spider/scripts/startup
 
</pre>
http://prdownloads.sourceforge.net/cvsgui/WinCvs120.zip
and include the following lines
 
<pre>
Pick your download mirror and then install WinCVS after the download is complete.
  set/var $main::reqreg = 1
 
  set/var $main::passwdreq = 0
In this next section I have included a series of images to take advantage of the picture and 1000 words equivalency.  The .jpg files are in the C:\spider\html directory.  If someone using a Linux system is reading this section from boredom, the files are in /home/sysop/spider/html.  One aside, a Linux user can also get a copy of gcvs and do your updates graphically as opposed to from the command line.  The following descriptions are almost identical between WinCvs and gcvs.  The following screen shots have duplicate links, depending upon whether you are viewing this information under the Windows or Linux operating system.
</pre>
 
The changes to this file will not take effect until there is a reboot, so we can activate it manually the first time from the console by typing
When WinCVS is installed, running, and you are connected to the
<pre>
internet, the initial screen looks like:
  set/var $main::reqreg = 1
 
  set/var $main::passwdreq = 0
[[Image:initial.jpg]]
</pre>
 
If you want, you can also look at these .jpg files with another viewer that might provide some better clarity to the image.  On the left is the directory tree for your hard disk.  Notice that the spider directory has a gray highlight.
 
To start configuring WinCVS, click on Admin at the top of the screen and then Preferences.  This should get you:
 
[[Image:pref-gen.jpg]]
 
In the top line for CVSROOT, enter:
 
anonymous@scm.dxcluster.org:/scm/spider.git login
 
and select "passwd" file on the cvs server for Authentication on the General tab.
 
Next, move to the right to the Ports tab.
 
[[Image:pref-ports.jpg]]
 
In here, check the box on the second line down for the "pserver" port.  Enter a port number of 2401.
 
Finally, go to the WinCvs tab all the way to the right.
 
[[Image:pref-wincvs.jpg]]
 
Enter Notepad as the viewer to open files.  For the HOME folder, put "C:\spider" and click OK because the configuration is now complete.
 
You are now ready to upgrade your copy of DXSpider.  Click on the greyed Spider folder shown in the directory tree on the left of the WinCVS display.  Two things should happen.  The Spider folder will be selected and the greyed-out arrow located just below the word Query in the top line will turn to solid green.
 
For anyone using gcvs under Linux, the green arrow is located on the extreme left of the display, under the word File.  A gcvs screen looks like:
 
[[Image:gcvs.jpg]]
 
Click on the now green arrow to start the download process.  An Update Settings box will be displayed to which you can simply say OK.
 
[[Image:update-OK.jpg]]
 
For future reference, the Update Settings box is the place where you can enter information to revert to a prior version of DXSpider. Information on reverting to a Before Date is contained in the WinCVS manual.
 
After a short period of time, a series of file names will scroll by in the lower pane of the WinCVS window.  Eventually you should see
 
*****CVS exited normally with code 0*****
 
appear in the lower pane.  You're done.  The updated files are inplace ready for you to stop and then restart your DXSpider.  After the restart, you're running with the latest version of DXSpider.
 
[[Image:completed.jpg]]
 
To paraphrase from the CVS section... Now the magic part!  From now on when you want to update, simply connect to the Internet and start WinCVS.
 
Click on the greyed-out Spider directory in the left screen
Click on the green down arrow
Click OK on the Update Settings dialog box
Restart your Spider software

Revision as of 18:45, 9 February 2023


USER REGISTRATION


There are two categories of user in a DXSpider node, the registered user and the unregistered user. By default, all users belong to the unregistered category.


NODE IN "UNREGISTERED" MODE


This is the most extedited way of working, but not necessarily the best.

The global variable that conditions the node is $main::reqreg and its default value is 0.

  set/var $main::reqreg = 0

In this mode the sysop is not obliged to register users, but if it does register them it will simply be a database entry. Both types of users will have the same capabilities to send and receive SPOTS, ANN, ...

When the user starts the login process, he will be sent (if it exists) the banner contained in the file

  /spider/local_data/motd_nor


NODE IN "REGISTRATION" MODE


To use this mode, the global variable $main::reqreg must be set to 1. The way to change it is

  set/var $main::reqreg = 1

When this mode is activated, only users that the sysop has registered will be able to send and receive SPOTS, ANN, ..., while unregistered users will only be able to receive information.

The way to register/unregister a user is as follows:

  set/register <call>
  unset/register <call>

At any time we can know which users we have registered using

  sh/register

There is the possibility to display a specific banner for registered users. The file containing it is the following

  /spider/_local_data/motd


PASSWORD USAGE


By default, the node has disabled the function of requesting a password when we log in. So there is a risk that another user can use our account.

For a user to be assigned a password, the sysop will have to execute at least once

  set/password <call> <string>

and the user can change his password with the command

  set/password


NODE IN "NO PASSWORD" MODE


The global variable $main::passwdreq is set to 0 by default. As mentioned above, users logging into a node so configured will only be prompted for their callsign.

To see the value of the variable we will use

  sh/var $main::passwdreq


NODE IN "PASSWORD" MODE


If we set the $main::passwdreq variable to 1, we will force any user logging in to the node to enter their callsign and password, otherwise they will not be able to access the node. The node will not establish the session if there is no positive authentication.

To set this mode of operation:

  set/var $main::passwdreq = 1


HOW TO PROTECT OUR NODE (Recommended configuration)


One way to control the correct use of our node, is to use the combination of registration and password as follows.

We enable the registration for all the users

  set/var $main::reqreg = 1

and we disable the global use of passwords

  set/var $main::passwdreq = 0

This allows anyone to access the node in READ mode, but only those who have authenticated with username and password will have full user access.

This implies that the sysop must register and assign a password to the trusted user.

  set/register <call>
  set/password <call> <string>

This way we have control and limit the misuse of our node.


MAKE THESE CHANGES PERMANENT


Although we can enable or disable these variables at any time, if we want to keep them during the startup of the node, we must edit the file

  /spider/scripts/startup

and include the following lines

  set/var $main::reqreg = 1
  set/var $main::passwdreq = 0

The changes to this file will not take effect until there is a reboot, so we can activate it manually the first time from the console by typing

  set/var $main::reqreg = 1
  set/var $main::passwdreq = 0