# Porttrigger ( pw protected )

**URL:** <https://www.ruby-forum.com/t/porttrigger-pw-protected/89459>\
**Category:** Ruby\
**Created:** [March 20, 2007, 5:00pm UTC](https://www.ruby-forum.com/t/porttrigger-pw-protected/89459 "2007-03-20T17:00:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Udo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/f4b2a3/32.png) [@Udo](https://www.ruby-forum.com/u/Udo)\
**Post date:** [March 20, 2007, 5:00pm UTC](https://www.ruby-forum.com/t/porttrigger-pw-protected/89459/1 "2007-03-20T17:00:53Z")

</div>

Hello!

I want to control the starting of certain services on my  
Linux VPS with a home made porttrigger. If the right password  
is received the according programm for that port is started.  
( I have my reasons to do it this way and not with firewall  
setting or encryted passwords. If you want to know ask 😉 )

This is what i have come up with so far:

#!/usr/bin/env ruby  
require “socket”  
server = TCPServer.new(‘0.0.0.0’, 8089)  
while (session = server.accept)  
if (ret=session.gets.chomp) =~ /password/  
puts `./sc_serv0`  
end  
session.close  
end

It kinda works, but the problem is that the ruby isnt freeing  
the port.  
So programms that cant share ports give me:

error opening source socket! FATAL ERROR! Some other process is using  
this port!

How do i close the TCPServer after the right password is received?  
( In the final version i want to stop the started programm after  
a certain amount of of time and start the trigger again ( and it  
prolly needs to be threaded. ))  
But for now i just want this to work.

server.shutdown wont work after the right pw is received.

Any ideas?

Thanks!
