We\'re hosting a subversion repository for distrubuted software development. So non-employees have access to some of our sorce code. Our company\'s IT security policy requir
I'm using lsof (bash-script pre-commit):
srcip=$(/usr/sbin/lsof -Pn -p $PPID | grep ESTABLISHED)
or, to get only the IP:
srcip=$(/usr/sbin/lsof -Pn|grep ssh|grep ESTA|cut -d\> -f 2|cut -d: -f 1)
While client connects to server, pre-commit is executed. lsof
shows all open files (including TCP connections etc); I select all "files" for this process (-p $PPID
) and grep for ESTABLISHED
(this is the connection between client and server).
Let me imagine that you write your hook in Perl, in that case, you can use the following lib : DocumentationClientIP
you can install the lib from Git thru this link : GITClientIP (or use the code included).
After installation, you need to add something like that in your code :
use SVN::Utils::ClientIP qw(ssh_client_ip);
print "The client's IP address is ", ssh_client_ip();