> On Monday, February 26th, 2024 at 12:05 AM, Bo Berglund 
> <bo.bergl...@gmail.com> wrote:

> On Sun, 25 Feb 2024 10:50:05 +0000, Peter Davis via Openvpn-users
> openvpn-users@lists.sourceforge.net wrote:
> 
> > > Hello,
> > > I installed shellcheck and result is:
> > > 
> > > # shellcheck script-events.sh
> > > 
> > > In script-events.sh line 14:
> > > if [[ "$script_type" == "client-connect" ]]; then
> > > ^----------^ SC2154 (warning): script_type is referenced but not assigned.
> > > 
> > > In script-events.sh line 15:
> > > echo "$LOG_TIMESTAMP - $common_name connected with IP $trusted_ip" >> 
> > > "$LOG_FILE"
> > > ^----------^ SC2154 (warning): common_name is referenced but not assigned.
> > > ^---------^ SC2154 (warning): trusted_ip is referenced but not assigned.
> > > 
> > > For more information:
> > > https://www.shellcheck.net/wiki/SC2154 -- common_name is referenced but 
> > > not...
> 
> > Hi,
> > Thanks again.
> > But my problem is that the script doesn't work at all. How do I find the 
> > cause?
> 
> 
> I cannot help more in debugging your environment, but I suggest that you test
> the script itself without involving openvpn in the testing.
> 
> This can be done by creating a test script which will call the logging script
> like openvpn does and send the data as env vars like openvpn does in order to
> test the functions that way.
> 
> I have done trhis test now with my script and it works just fine:
> 
> Test script testlogging:
> -----------------------
> #!/bin/bash
> export script_type="client-connect"
> export common_name="CommonName"
> export trusted_ip="192.168.129.253"
> ./server-events.sh
> exit 0
> ------------------------
> 
> Script server-events.sh:
> ------------------------
> #!/bin/bash
> # shellcheck disable=SC2154
> # Log in local dir for testing
> LOG_FILE="server-events.log"
> # Log timestamp
> LOG_TIME=$(date "+%Y-%m-%d %H:%M:%S")
> # Log client connect or disconnect event with IP address
> if [ "$script_type" == "client-connect" ]; then
> echo "$LOG_TIME - $common_name connect IP $trusted_ip" >> "$LOG_FILE"
> 
> elif [ "$script_type" == "client-disconnect" ]; then
> echo "$LOG_TIME - $common_name disconnect IP $trusted_ip" >> "$LOG_FILE"
> 
> fi
> exit 0
> -------------------------
> 
> Place the scripts in the same test dir and execute ./testlogging
> Then there should be a logfile created in the same dir with the wanted data.
> 
> If that is the case then the logging script works as it should and you have to
> look elsewhere for a reason for failure in your environment.
> 
> 
> --
> Bo Berglund
> Developer in Sweden
> 
> 
> 
> _______________________________________________
> Openvpn-users mailing list
> Openvpn-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-users

Hi,
Thanks again.
I changed "LOG_FILE" to LOG_FILE="/tmp/Connections.log" and executed the script:

# ./script-events.sh
#
# cat /tmp/Connections.log 
2024-02-26 13:32:19 - CommonName connected with IP 192.168.129.253

The script worked, but where is the problem!


_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to