Security

How to forward port in user space using socat

I was asked to help setting up a kind of traffic redirection through VPN. In particular, the VPN server is Cisco VPN so the client should be Cisco VPN client too. Since the client is Ubuntu Edgy, it is very easy to install and run cvpnd. Then I tried to forward a TCP port to another host on the same port using IPTables and DNAT. Unfortunately, it failed. Incoming TCP connection through this port always get "connection refused". I guess that the problem might involve the module cisco_ipsec. This module may hook packet routing somewhere in the kernel so DNAT will not work correctly through its network interface. However, I don't have enough to investigate deeper for more detail since the service must be available tonight. In other words, I have 15 minutes left. So I decided to use port forwarding tool running on user space instead. After searching for a while, I found socat. socat looks like an extension of netcat which provides extremely flexibility to all of us for forwarding anything and then redirect to anything.

How to use GCD in RSA

As I posted about Greatest Common Divisor last week, I also promised to discuss the application of GCD. Note that if you are interesting in Ruby, I recommend to read about GCD in Ruby at this blog. Actually, GCD is very simple concept. The only application of GCD I known for many years is to find Prime number. Theoretically, a number x will be a prime number if its GCD is 1. Actually, what we used for recent years are running GCD seamlessly. For example, private key infrastructure or PKI is heavily used GCD for finding a pair of keys.

Welcome Ubuntu 7.04 Feisty Fawn Herd 5

Today morning, I decided to upgrade my laptop to Ubuntu 7.04 Feisty Fawn Herd 5. Actually, Herd 5 was released a week ago. The only thing made me wait is to run vmware-player. In Ubuntu 6.10 Edgy Eft, everything has been working almost perfect for me including built-in soundcard of BenQ Joybook S52 which I had built additional package with a small patch to alsa. Anyway, I would like to try Feisty Fawn early by the way.

How to make Gaim more reliable

I used Gaim and I compiled it myself. The latest version, 2.0.0 beta 6, looks very promising in term of user interface improvement. However, I got some serious issue which Gaim will crash occasionally without reason. Actually, I didn't know the reason since it was likely to occur randomly. So I decided to trace this issue by forcing Gaim to inject a core dump whenever it crashed. As a result, I have found the source of this error.

How to publish a patch on the web

One of benefits that we get from Open Source is that we have right to see and modify source codes to meet our need independently to the developer team. In other words, we don't have to wait the developer team to implement such a feature. Instead of that, I am able to implement it myself and then make a patch as a contribution to the developer team and other users.

As of now, I made patches for several projects and one of them is the patch for multiping to run on Drupal 5. I supposed that it might work for all users but not. After investigation, I found the problem and how to properly publish a patch on the web.

The state of the Tor

I have just read Anonymity Network by SRAN regarding the useless of end-to-end encryption in term of hiding routing information. In other words, encryption in BitTorrent protocol is useless because network guys are still able to track the connection from source IP address and destination IP address. These information cannot hide easily. So the hero is Tor which is an overlay network on top of existing network like Internet. The most important factor that made Tor success is Tor routers available in the Internet.