Senin, September 21, 2020

VBoxNetDHCP.exe - The exception Integer Overflow

Symptoms

Pesan kesalahan ini muncul ketika menjalankan virtualbox guest vm yang memiliki konfigurasi network "NAT Network"

 

Cause

Unknown

Solution

Coba tekan tombol "Generate new random MAC address" disebelah text box MAC Address pada konfigurasi bagian Network


Jumat, Juli 17, 2020

Fatal error: zlib inflate error: incorrect header check

Applies To
lftp 4.8.1

Symptoms
$ lftp site 
lftp site:~> ls
ls: Fatal error: zlib inflate error: incorrect header check

Cause

lftp mengakses FTP Server menggunakan "Mode Z" yang melakukan kompresi terhadap data yang di-transfer. "Mode Z" in ada dalam draft https://tools.ietf.org/html/draft-preston-ftpext-deflate-03 namun belum ada standarisasi.

Solutions

Disable "Mode Z"

Edit berkas ~/.lftprc
set ftp:use-mode-z no

Senin, April 20, 2020

Iptables Port 2222

Sudah beberapa hari, saya heran dengan firewall di salah satu mesin. Awal-nya saya mau configure untuk nambah port 2222 untuk akses service SSH. Sudah ditambah ke iptables namun port baru ini entah kenapa tidak mau diakses dari luar mesin. Tanpa panjang lebar, ternyata issue-nya sebagai berikut:
$ sudo iptables -n -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num  target prot opt source    destination
1    ACCEPT all  --  0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2    ACCEPT icmp --  0.0.0.0/0 0.0.0.0/0
3    ACCEPT all  --  0.0.0.0/0 0.0.0.0/0
4    ACCEPT tcp  --  0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5    REJECT all  --  0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
6    ACCEPT tcp  --  0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2222
Bisa dilihat di atas, konfigurasi port 2222 berada setelah baris 5 yang berisi REJECT. Seharusnya yang REJECT ditaruh di yang paling akhir. Langkah perbaikan sebagai berikut:

Hapus baris 6
$ sudo iptables -D INPUT 6
$ sudo iptables -n -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num  target prot opt source destination
1 ACCEPT all  --  0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp --  0.0.0.0/0 0.0.0.0/0
3 ACCEPT all  --  0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp  --  0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 REJECT all  --  0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Insert rule port 2222 di baris 5
$ sudo iptables -I INPUT 5 -i eth0 -p tcp --dport 2222 -m state --state NEW,ESTABLISHED -j ACCEPT
$ sudo iptables -n -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all  -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all  -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp  -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 ACCEPT tcp  -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2222 state NEW,ESTABLISHED
6 REJECT all  -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Done

Selasa, Desember 24, 2019

IN SELECT plus EXISTS

Environment
  1. MySQL 5.7.27
  2. Centos 6.10
mysql> DELETE FROM CSV_DATA
WHERE FILE_ID IN ( SELECT FILE_ID FROM CSV_FILE WHERE FILE_STATUS = 7)
LIMIT 100000

129 sec
Nampak-nya seluruh row akan di-scan dan nilai FILE_ID pada setiap setiap row akan dibandingkan dengan hasil dari IN SELECT .
mysql> DELETE FROM CSV_DATA
WHERE EXISTS ( SELECT FILE_ID FROM CSV_FILE WHERE FILE_STATUS = 7 )
  AND FILE_ID IN ( SELECT FILE_ID FROM CSV_FILE WHERE FILE_STATUS = 7 )
LIMIT 100000

0 sec
Nilai dari EXIST akan di-evaluate dan bila row tidak ditemukan maka perbandingan selanjutkan tidak di-evaluate.

Dalam case ini, LIMIT digunakan untuk mempersingkat waktu locking terhadap table CSV_DATA. Statement JOIN tidak dapat digunakan karena tidak compatible dengan LIMIT .

Senin, Desember 23, 2019

Windows 7 Port Forwarding

List port forwarding configuration
netsh interface portproxy show v4tov4
Append port forwading
netsh interface portproxy add v4tov4 listenport=80 connectaddress=<realIpAddress> connectport=80
Remove port forwarding
netsh interface portproxy delete v4tov4 listenport=80