Release Notes

Warning

이 문서는 미꾸라지 v3 (EOL (End Of Life) 된 구 버전) 프로그램에 대한 문서이며 미꾸라지 v3.6.1 버전까지만 유요한 문서입니다.

최신 미꾸라지 버전은 v4 이며 http://mudfish.net/ 에서 다운로드 받으실 수 있습니다.

Note

문서에 오류가 있거나 건의 사항이 있으시면 메세지를 미꾸라지 포럼 (http://forums.loxch.com) 에 남겨주세요.

v4.0.0 (2014/02/12)

  • mudfish
    • 아래와 같은 새로운 기능들이 미꾸라지 Core 에 추가되었습니다.
      • ARM 32 bit CPU 에서 미꾸라지가 작동되도록 하였습니다.
      • Tunable variable 을 지원하도록 하였습니다.
    • 기존 네트워크 스택에서 사용되던 mutex lock 이 rwlock 으로 변경되었습니다.

v3.5.4 (2014/01/02)

  • mudfish
    • -x 옵션이 새롭게 추가되었습니다. 몇몇 Windows XP 의 경우, Full VPN 설정시 DHCP client 가 제대로 routing table 항목을 처리하지 않는 문제점이 있었는데 이를 개선하였습니다.
    • 오류 발생시 좀 더 자세한 메세지를 보여주도록 하였습니다.
    • Routing Table 세팅시 잘못된 IPv4 주소 형식이 input 값일 경우 error handling 을 제대로 하도록 하였습니다.
    • Full VPN 설정시 세팅되는 DNS 주소를 8.8.8.8 에서 8.8.4.4 로 변경하였습니다.
    • 몇몇 assert fail 로 프로그램이 죽을 수 있는 문제점을 해결하였습니다.

v3.5.3 (2013/11/10)

  • muddiag
    • -o 옵션을 새롭게 추가하였습니다. 원격으로 내용을 전송하는 대신에 해당 폴더에 내용을 저장합니다.
  • mudfish
    • OS X 용의 경우, 기본 MTU 가 기존 1450 에서 1442 로 수정하였습니다.
    • OS X 용의 경우, tap 드라이버의 MTU 가 제대로 세팅되지 않는 문제를 해결하였습니다.
    • msk(4) 가상 디바이스가 TX 시 실패할 경우 assert failure 로 프로그램이 죽는 문제를 해결하였습니다.

v3.5.2 (2013/10/29)

OS X 10.9 매버릭스에서 작동이 되도록 하였습니다.

  • mudfish
    • 오류 메세지가 화면상에 중첩되는 문제를 해결하였습니다.
    • ADN 모드 지원을 위한 zyd(4) 가상 네트워크 장치 업데이트가 있었습니다.
    • 네트워크 사용에 대한 로그 기록에 있어 thread race 있는 부분을 수정하였습니다.
  • mudflow
    • Core 프로그램으로 부터 전달되는 로그 메세지를 디버깅 목적을 위해 출력하도록 하였습니다.
    • Shared memory 처리를 위한 코드가 강화되었습니다.
  • mudrun
    • 오류 메세지 전송에 필요한 루틴 및 lock 관련 이슈가 해결되었습니다.

v3.5.1 (2013/09/25)

모든 미꾸라지 실행 파일 및 설치 파일에 Code Signing (Mudfish Networks Inc.) 이 이번 버전부터 됩니다.

  • mudfish
    • 미꾸라지 가상 네트워크 장치 re(4) 의 오류 메세지 발생시 좀 더 정확한 오류 메세지가 나오도록 하였습니다.
    • ADN 모드 작업이 있었으며, 가장 네트워크 장치 zyd(4) 의 기능이 추가되었습니다.
    • 몇몇 변수에 대한 casting 작업 및 코드 cleanup 작업이 있었습니다.
    • 오류 메세지에 대한 코드 번호 tagging 작업이 있었습니다.
    • 미꾸라지 프로그램이 실행 중일 때 새로운 중계 서버가 추가된다면 이를 동적으로 반영할 수 있도록 하였습니다.
  • mudflow
    • ADN 모드 지원을 위한 패치 작업이 있었습니다. -L 옵션 사용시 (리눅스 사용자에 한해) mudfish 프로그램의 로그가 남게 됩니다.
  • mudrun
    • 미꾸라지 Core 프로그램이 사용할 MTU (Maximum Transmission Unit) 크기를 지정할 수 있도록 하였습니다.
    • 미꾸라지가 실행될 수 있는 환경을 기존 Mac OS X 10.7 이상에서 10.7 이상으로 변경하였습니다.
    • 만약 Backend 로부터 반환된 데이타가 Content-Type 헤더를 가지고 있고 text/html 이라면 no-cache 를 포함하도록 하였습니다.

v3.5.0 (2013/09/12)

  • mudfish
    • 미꾸라지 Packet Filter 기능이 추가되었습니다. 이 기능을 통해 Source Routing 을 할 수 있도록 하였으며, FIB (Forwarding Information Base) 정보를 수정할 수 있도록 하였습니다.
    • FreeBSD 의 FIB (Forwarding Information Base) 기능을 사용할 수 있도록 개선하였습니다.
    • 새로운 가상 디바이스 zyd(4) 가 추가되었습니다. 이 가상 네트워크 장치는 미꾸라지 서버 패키지의 mudd 기능과 동일한 기능을 합니다.
    • 각 가상 디바이스 (re(4), msk(4), zyd(4)) 의 if_init() 함수가 여러번 호출되는 경우를 제대로 처리하도록 하였습니다.
    • 오류 메세지에 대한 번호 부여 작업이 있었습니다.
    • -y 옵션이 새롭게 들어갔습니다. mudd 데몬에 연결시 명시적으로 10006 포트를 사용하도록 합니다.
    • FIB 의 최대 갯수가 기존 16 개에서 65535 개로 확장하였습니다.
    • 몇몇 오류 메세지 출력이 깨지는 문제를 해결하였습니다.
    • ADN 모드시 라우팅 테이블을 세팅할 경우, first mile 과 last mile 에 따라 다르게 세팅되도록 하였습니다.
    • ADN server 모드의 많은 부분이 변경되었습니다.
    • UDP socket 에 대해 SO_REUSEADDR 옵션을 설정하지 않도록 하였습니다.
    • 각 중계 서버마다 heartbeat 를 전송하는 주기를 기존 60 초에서 15 초로 단축하였습니다. NAT 장비마다 다르지만 이 timeout 이 짧아 중계 서버에서 보았을 때 port 정보가 계속 바뀌는 문제가 있었습니다.
    • 라우팅 테이블 설정시 FIB 번호가 함께 전송되도록 하였습니다.
    • ADN server 모드시 default route 를 자동 변경하지 않도록 하였습니다.
    • TCP proxy 가 accept(2) system call 을 호출할 때 argument 로 잘못된 정보가 전달되는 것을 수정하였습니다.
  • mudflow
    • 라우팅 테이블 설정 시 FIB 정보를 명시적으로 넘기도록 하였습니다. 기본값은 0 입니다.
    • ADN 모드시 mudfish 의 역활 분담에 대한 first mile, last mile 구간을 알 수 있도록 하였습니다.
    • First mile, last mile 의 역활에 따라 ADN 모드를 위한 라우팅 테이블 정보를 분리하여 세팅하도록 하였습니다.
    • Source Routing rule 을 넣는 인터페이스가 추가되었습니다.
  • mudrun
    • 로그 정보 수집시 미꾸라지 프로그램의 version 정보 또한 함께 전송하도록 하였습니다.

v3.3.5 (2013/08/20)

  • mudfish
    • 내부적으로 사용되는 에러 코드에 대한 정확한 메세지를 표시하도록 하였습니다.
    • 윈도우즈 상에서, memory map 파일을 사용할 경우, system paging 파일에 해당 내용을 기록하지 않고, file 에 직접 남기도록 하였습니다.
    • BPF (Berkeley Packet Filter) 의 버그를 수정하였습니다. Wireshark 로 파일을 열 경우 깨진 포맷으로 나오는 문제를 해결하였습니다.
    • Forwarding 패킷에 대해서는 flowtable 기능을 적용하지 않도록 하였습니다. 그래서 사용자가 ICMP_UNREACH_NEEDFRAG “Next-Hop MTU” 패킷을 제대로 받도록 하였습니다.
    • 네트워크 장치가 DHCP 기능을 사용하지 않는데, DHCP bypassing feature 에서 이를 몰라 오류 메세지가 출력되는 문제를 해결하였습니다.
    • 몇몇 오류 메세지에 대해서는 log level 을 조정하였습니다.
    • TCP proxy 가 client 의 IP 와 port 정보를 제대로 몰라서 오류 메세지가 잘못 출력되는 문제를 해결하였습니다.
    • close(2) 시스템 콜에서 반환되는 오류 코드를 제대로 처리하도록 하였습니다.
    • 새로운 가상 네트워크 장치인 zyd(4) 가 들어갔습니다.
    • 리눅스에서는 SIGINT 시그널을 제대로 처리하도록 하였습니다.
    • DHCP release 패킷을 제대로 표시하도록 하였습니다.
    • 좀 더 세세한 오류 메세지를 출력하도록 하였습니다.
  • mudflow
    • 윈도우즈 상에서, memory map 파일을 사용할 경우, system paging 파일에 해당 내용을 기록하지 않고, file 에 직접 남기도록 하였습니다.
  • mudrun
    • 윈도우즈 상에서, memory map 파일을 사용할 경우, system paging 파일에 해당 내용을 기록하지 않고, file 에 직접 남기도록 하였습니다.
    • ADN 모드 상태를 대쉬보드에 보이도록 하였습니다.

v3.3.4 (2013/08/15)

  • mudfish
    • mb_dtor_clust() 함수에서 assertion fail 나는 문제를 해결하였습니다.
    • 만약 TAP-Win32 adapter v9 네트워크 장치를 윈도우 레지스트리에서 찾을 수 없을 경우, 적당한 메세지를 출력하도록 하였습니다.
    • 오류 메세지 출력시 중첩되지 않도록 하였습니다.
    • TCP proxy 의 close(2) 시, ECONNRESET 을 제대로 처리하도록 하였습니다.
  • mudrun
    • 미꾸라지 Core 프로그램이 이상 메세지를 출력할 경우, 중앙 서버로 log 정보가 자동 수집됩니다.

v3.3.3 (2013/08/02)

  • mudfish
    • mb_zfini_pack() 함수 부분에서 assert fail 나는 문제를 해결하였습니다.
    • Lck_CondTimedWait() 함수에서 의미없는 WARN 메세지가 발생되는 문제를 해결하였습니다.
    • 프로세스가 SIGTERM 으로 죽을 경우, child process 를 kill 하지 않아 해당 프로세스가 그대로 남아 있던 문제를 해결하였습니다.
    • ADN 모드의 경우, 라우팅 경로 삭제가 제대로 되지 않는 문제를 해결하였습니다.
    • ADN 모드의 경우, IP 할당 영역을 CIDR /24 에서 /30 으로 줄이는 작업을 하였습니다.
    • ARP 메세지 오류를 좀 더 세분화 하였습니다.
  • mudflow
    • RTT 검사 주기와 중앙 서버로의 보고 관련 주기 업데이트가 있었습니다.

v3.3.2 (2013/07/24)

  • mudfish
    • 가상 장치 msk(4) 의 작동 방식이 taskqueue 방식으로 변경되었습니다.
    • 내부적으로 사용되는 1 초 타이머의 경우, condvar 처리시 잘못 처리되는 경우가 있어 CPU spin 상태로 빠지는 경우가 있어 이를 처리하였습니다.
    • UDP / TCP proxy 의 select timeout 이 기존 1 초에서 5 초로 변경되었습니다.
  • mudrun
    • 미꾸라지 중앙 서버로부터 전달되는 오류 메세지를 정확하게 처리하도록 하였습니다.

v3.3.1 (2013/07/16)

  • mudfish
    • TAP-Win32 adapter v9 에 대한 레지스트리 키를 찾지 못할 경우, assert fail 로 프로그램이 종료되는 문제를 해결하였습니다.
  • mudrun
    • 만약 Full VPN 기능이 활설화되면 기존 세팅한 라우팅 테이블을 읽지 않도록 하였습니다.
    • Full VPN 일 경우, 명시적으로 웹 서버가 알수 있도록 하였습니다.
    • 마법사 메뉴를 개선하였습니다.
    • Full VPN 을 On 할 시, 프로세스 restart 가 필요함을 표시하도록 하였습니다.

v3.3.0 (2013/07/12)

  • muddiag
    • i386 머신에서 빌드 오류나는 문제를 해결하였습니다.
  • mudfish
    • ADN (Application Delivery Network) 모드 지원을 위한 코드 수정이 있었습니다.
    • -P 옵션을 이용하여 PID 파일을 사용자가 지정한 곳에 저장할 수 있도록 하였습니다.
    • -a 옵션을 이용하여 ADN 모드 전용 IPv4 주소를 받도록 하였습니다.
  • mudflow
    • Linux 머신상에서 raw socket 을 사용할 경우, ICMP 메세지를 이용한 RTT 체크가 다른 packet 에 의해 방해 받는 이슈를 해결하였습니다.
    • -P 옵션을 이용하여 PID 파일을 사용자가 지정한 곳에 저장할 수 있도록 하였습니다.
    • ADN (Application Delivery Network) 모드를 지원할 수 있도록 하였습니다.
    • 로그 파일이 Linux 와 Mac OS X 상에서 / 디렉토리에 남는 문제를 해결하였습니다.
  • mudrun
    • ADN 모드 지원을 위한 기능이 추가되었습니다.
    • 중앙 서버와의 통신시 sendto(2) 함수가 오류가 났을 때 assert fail 로 프로그램이 중지되는 문제를 해결하였습니다.

v3.2.0 (2013/06/26)

  • mudfish
    • Linux, Mac OS X 을 위해 명령어를 실행시킬 때, 버퍼가 작을 경우, 일부 명령어가 실행이 안되는 문제를 해결하였습니다.
    • Full VPN 기능이 활성화되어 있을 경우, DHCP Server 에 한해서는 bypass 하도록 하였습니다.
    • Mac OS X 용의 경우 default gateway 정보를 가져오지 못하는 문제를 해결하였습니다.
    • Mac OS X 용의 경우, 10.252.0.0/14 대역에 대한 접근을 하지 못해 HTTP proxy 와 SOCKS proxy 를 사용하지 못하던 문제를 해결하였습니다.
  • mudflow
    • -n 옵션이 추가되었습니다. 이 옵션이 설정될 경우, Default Route 경로를 수정하지 않도록 합니다.
    • Ping 계산 결과를 DB 에 기본적으로 저장하지 않도록 하였습니다. 중계 서버 숫자가 늘어남에 따라 Disk access 되는 부분을 최소화 하도록 하였습니다.
    • 만약 내부 buffer 가 부족할 경우 명시적으로 오류 메세지를 출력하도록 하였습니다.
    • Ping 계산 결과를 지우는 DB query 또한 빈도수를 줄였습니다.
  • mudrun
    • Full VPN 지원 기능을 추가하였습니다. 다만 유료 사용자만 이용 가능한 기능입니다.
    • Linux 와 Mac OS X 용에 한해 설정 파일을 읽어오는데 문제가 있었습니다.
    • HTTP request 를 이용하여 미꾸라지 UI 언어를 바꿀 수 있도록 하였습니다.

v3.1.11 (2013/06/06)

  • muddiag
    • -o 옵션을 추가하였습니다. -o 옵션이 붙는다면 문제점 보고서가 중앙 서버로 전달되지 않고 로컬 컴퓨터에 저장됩니다.
  • mudrun
    • 만약 어떤 이유로 socket(2) API 가 실패할 경우, 프로그램을 assert fail 로 종료하지 않고 오류 처리를 하도록 하였습니다.
    • 그래프를 가져오는 과정에서 오류가 발생되면 좀 더 정확한 원인을 찍도록 하였습니다.
  • mudfish
    • Heartbeat 를 중앙 서버로 전달시 좀 더 정확한 내용을 전달하도록 하였습니다.
    • DHCPD 가 bootp request 가 아닌 다른 op 코드를 받게될 경우, assert fail 로 프로그램이 종료되지 않도록 하였습니다.
    • UDP relay 에서 TOL_sendto(2) API 오류시 assert fail 로 프로그램이 강제 종료되는 문제를 오류 처리로 마무리하였습니다.
    • UDP relay 의 IP/port binding 이 실패할 경우, 오류 처리를 제대로 하도록 하였습니다.
    • UDP relay 의 listening IP 정보를 좀 더 효율적으로 처리하도록 하였습니다.

v3.1.10 (2013/06/02)

  • mudrun
    • ‘Invalid Request for Service Number’ 오류 문제를 해결하였습니다.

v3.1.9 (2013/05/31)

  • mudflow
    • 라우팅 테이블을 설정하면 앞에 보이는 게임 아이콘이 잘못 표시되는 문제를 해결하였습니다.
    • 라우팅 테이블을 저장하는 DB schema 가 변경되었습니다.
    • Shared memory 구간으로 전송되는 command 가 깨졌을 경우, 이를 처리할 수 있도록 하였습니다.
    • Linux 용 바이너리가 어떠한 이유로 crash 될 경우, coredump 파일이 항상 생성되도록 하였습니다.
  • mudrun
    • 게임 아이콘 표시가 잘못되는 문제를 해결하였습니다.
    • Linux 용 바이너리가 어떠한 이유로 crash 될 경우, coredump 파일이 항상 생성되도록 하였습니다.
  • mudfish
    • 라우팅 테이블을 통해 설정할려고 하는 IPv4 주소가 invalid 할 경우, assertion fail 로 죽는 문제를 해결하였습니다.

v3.1.8 (2013/05/29)

  • mudrun
    • Mac OS X 용, menu 에 표시되는 version 이 잘못 표기되는 문제를 해결하였습니다.
  • mudfish
    • 중앙 서버와의 TCP 연결 timeout 시간이 기존 30 초에서 60 초로 증가하였습니다.
    • MUDEC_00016 오류의 경우, 메세지 경고창 대신 stdout 으로 전송되도록 하였습니다.
    • MUDEC_00016 발생시 최대 5 번까지 다시 시도하도록 하였습니다.

v3.1.7 (2013/05/23)

  • mudfish
    • 자동 로그인 기능이 추가되었습니다.
    • 기존 인증 방식이 내부적으로 통합되었습니다.
  • mudrun
    • 자동 로그인 기능이 추가되었습니다. 이를 위해 필요한 option 들이 추가되었습니다.
    • 기존 RTT 계산 방식중 TCP 가 지원되지 않는 문제를 해결하였습니다.
    • 커맨드 라인을 위한 자동 로그인 방식을 선택하게 되면 간헐적으로 프로그램이 죽는 문제를 해결하였습니다.

v3.1.6 (2013/05/17)

  • mudfish
    • -O 옵션이 추가되었습니다.
    • 몇몇 오류 메세지에 대한 tagging 작업이 있었습니다. 명시적으로 오류 메세지에 대한 오류 번호가 지정되었습니다.
    • ICMP turnneling 을 위한 코드가 추가되었습니다.
  • mudflow
    • -O 옵션이 추가되었습니다. 기존에 사용되었던 마스터 서버의 IP 와 Port 로 접속이 되게 하는 옵션입니다.
  • mudrun
    • -O 옵션이 새롭게 추가되었으며, mudrun 실행시 -O 옵션이 지정된 경우, mudfish 와 mudflow 실행 때도 -O 가 함께 붙도록 하였습니다.
    • 대쉬 보드에 나오는 간략 라우팅 테이블 정보의 메세지를 좀 더 세분화 하였습니다.
    • 라우팅 경로를 전체 삭제할 수 있는 기능을 추가하였습니다.
    • 미꾸라지 중계 서버 접속시 ICMP protocol 을 이용하여 접속할 수 있는 옵션을 넣었습니다.

v3.1.5 (2013/05/07)

  • mudfish
    • TCP 연결시 항상 read/write operation 에 대한 timeout 을 설정하도록 수정하였습니다.
  • mudflow
    • TCP 연결시 항상 read/write operation 에 대한 timeout 을 설정하도록 수정하였습니다.
  • mudrun
    • TCP 연결시 항상 read/write operation 에 대한 timeout 을 설정하도록 수정하였습니다.
    • 미꾸라지 중계 서버간의 RTT 그래프를 그릴 때 오류로 한번씩 ping 값이 튀는 것 처럼 보이는 문제를 해결하였습니다.

v3.1.4 (2013/04/30)

  • mudfish
    • Linux 버전과 Mac OS X 버전의 경우, pthread_mutex_trylock() 이 EBUSY 를 반환할 경우 assert fail 로 죽는 문제를 해결하였습니다.
    • Linux 버전의 경우, 프로그램의 비정상 종료시 core 파일을 생성하도록 하였습니다.
    • TCP proxy 가 이전 v1 모드로 사용될 경우, 정확한 포트 정보를 가지도록 하였습니다.
  • mudrun
    • backend 와의 연결시 connection reuse 가 되도록 수정하였으며, 재사용된 connection 사용시 오류가 발생할 경우 retry 하도록 하였습니다.
    • SSL 연결시 발생되는 delay 를 제거하였습니다.
    • SSL 연결에 사용된 session 이 다시 재사용되도록 수정하였습니다.
    • Mac OS X 에서 빌드시 SSL 라이브러리로 인해 linking 오류가 나는 문제를 해결하였습니다.

v3.1.3 (2013/04/08)

  • mudfish
    • 미꾸라지 중앙 서버의 IP 와 Port 정보가 변경됨으로 인해 접속 관련 부분이 업데이트 되었습니다.
    • 가상 네트워크 장치인 re(4) 가 중계 서버와 접속시 지정된 TCP / UDP port 별로 접속할 수 있도록 하였습니다.
    • DHCP Client 에게 Classless Static Route 정보를 내려주는 부분의 버그를 수정하였습니다.
    • SLT_RouteDefault 정보가 너무 화면에 주기적으로 뿌려지는 문제를 해결하였습니다.
  • mudflow
    • 미꾸라지 중앙 서버의 IP 와 Port 정보가 변경됨으로 인해 접속 관련 부분이 업데이트 되었습니다.
    • 미꾸라지 서버 측의 echo 서버의 Port 정보가 TCP / UDP 별로 세팅될 수 있도록 하였습니다.
  • mudrun
    • 미꾸라지 중앙 서버의 IP 와 Port 정보가 변경됨으로 인해 접속 관련 부분이 업데이트 되었습니다.
    • 미꾸라지 backend 와의 통신시 SSL 통신을 지원하도록 기능을 추가하였습니다.

v3.1.2 (2013/03/27)

  • mudflow, mudfish
    • Default routing 을 설정하는 부분에서의 잘못된 부분을 수정하였습니다.

v3.1.1 (2013/03/26)

  • mudfish
    • 개인 혹은 단체가 미꾸라지 중계 서버를 설치 및 운영할 수 있도록 작업하면서 확대된 Internal IP 대역을 DHCP client 가 알 수 있도록 하였습니다.
  • mudflow
    • 접근 허용이 되는 중계 서버에 대해서만 default route 명령이 내려가도록 하였습니다.
  • mudrun
    • 부분 유료화를 위한 준비 작업이 있었습니다. 만약 사용자의 계정에 credits 이 있을 경우에 적당한 설정을 하도록 하였습니다.

v3.1.0 (2013/03/19)

  • mudfish
    • TAP-Win adapter v9 네트워크 장치의 MTU 을 읽어 반영하는 과정에서 메세지 출력이 특정 경우에 잘못 표시되는 문제를 해결하였습니다.
    • 미꾸라지 내부 statistics 정보를 표시하는 CLI 명령 “stat” 을 추가하였습니다.
    • v1 모드 처리시 Memory Buffer 부족으로 assert fail 되는 문제를 해결하였습니다.
  • mudflow
    • 서버 프로그램과 통신시 어떠한 이유로 잘못된 data 가 프로그램에 전달될 경우, assert fail 로 프로그램이 멈추는 것을 수정하였습니다.
  • mudrun
    • 기본적으로 -r 옵션이 enable 되게 만들었습니다. 프로그램 시작시 발생되는 로그가 더이상 보이지 않습니다.
  • Mac OS X 배포판
    • mudrun 프로그램을 XCode 기반의 프로젝트로 변경하는 작업이 있었습니다.
    • 프로그램이 Mac OS X 상에서 Menulet 형태로 돌아가도록 변경하였습니다.
    • 기존 프로그램의 설치 경로가 /opt/mudfish/<version>/ 에서 /Applications/Mudfish Cloud VPN.app 으로 변경되었습니다.
  • Linux 배포판
    • muddiag 와 mudadm 의 Linux 버전이 함께 배포됩니다.
    • Package 시스템의 소소한 수정이 있었습니다.

v3.0.0 (2013/02/06)

Mac OS X 배포판이 릴리즈로 인해 미꾸라지 버전의 major 숫자가 기존 2 에서 3 으로 올라갔습니다. 제가 Mac OS X 에 대한 개발 자체를 잘 모르기 때문에 UI 면에서 많이 부족한데요, 너그러이 이해해 주시리라 믿습니다.

  • mudfish
    • v1 모드 사용시 TOL_select(2) 루틴의 timeout handler 가 잘못 처리되는 문제를 해결하였습니다. 이로 인해 Listening Port 정보가 제대로 세팅되지 않는 문제가 해결되었습니다.
    • TCP / UDP relay 의 listening port 정보를 info 레벨의 메세지를 화면에 출력하도록 하겠습니다.
    • Mac OS X 환경에서 프로그램이 실행되도록 code 수정이 있었습니다.
  • mudflow
    • Mac OS X 환경에서 PID 파일을 제대로 생성하지 않아 프로세스 상태가 잘못 인식되는 문제를 해결하였습니다.
  • mudrun
    • Mac OS X 환경을 지원하도록 코드 수정이 있었습니다.

v2.2.20 (2013/01/29)

아마 이번이 v2 의 마지막 릴리즈가 아닐까 생각됩니다. 다음 버전은 v3 로 Mac OS X 배포판의 시작 버전이 될 것입니다. :-)

  • muddiag
    • OS 버전 출력시 integer 대신 string 을 출력하도록 하였습니다.
    • Windows 8 버전을 인식하지 못하는 문제를 해결하였습니다.
  • mudfish
    • re(4) 혹은 msk(4) 가상 디바이스가 오류를 출력시 미꾸라지 UI 상에 보이는 경고 혹은 오류 메세지가 깨지는 문제를 해결하였습니다.
    • Heartbeat 실패시 나타나는 오류 메세지를 수정하였습니다.
    • Userland application 인 TCP relay 가 socket(2) 생성 실패시 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
  • mudflow
    • 리눅스 버전의 경우, ICMP echo test 시 offset 계산 오류로 인해 RTT (Round Trip Time) 이 제대로 계산되지 않는 문제를 수정하였습니다.
    • ODR_thread_create() 함수가 실패시 assert fail 로 프로그램이 종료되는 문제를 해결하였습니다.
  • OS specific - Linux
    • 패키지 시스템이 기존 debian package system (확장자 .deb) 를 사용하였습니다만 이번에 makeself 로 바뀌었습니다. 이로 인해 설치 방법 또한 변경되었습니다.

v2.2.19 (2013/01/21)

이번 릴리즈는 Mac OS X 에서의 컴파일 환경을 구성하기 위해 내부적인 코드 수정이 주된 변화입니다. 기능 개선 혹은 버그 수정 부분은 없었으며 대부분 code cleanup 및 refactoring 작업이 주였습니다.

v2.2.18 (2013/01/14)

  • mudfish
    • 미꾸라지 v1 호환 모드를 사용시 TOL_getsockname() 내부 system call 이 어떠한 이유로 오류를 반환할 경우 default value 를 사용하도록 하였습니다.
  • mudflow
    • 두가지 option (save_backend 와 save_ping) 들이 새롭게 추가되었습니다. 이 두가지 옵션을 Off 함으로써 미꾸라지 프로그램이 디스크에 write 하는 행위를 최소한으로 줄일 수 있습니다.
  • mudrun
    • 웹 인터페이스를 통해서 새롭게 추가된 옵션이 설정 가능하도록 수정하였습니다.
    • socket(2) API 가 어떠한 이유로 오류를 반환할 경우, 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
    • 소소한 code cleanup 작업이 있었습니다.

v2.2.17 (2013/01/04)

이번 릴리즈를 시작으로 미꾸라지 리눅스 버전을 배포합니다. :-) 많은 피드백 부탁드립니다. 아래는 윈도우즈 배포판에 대한 changelog 입니다.

  • mudfish
    • re(4) 가상 인터페이스의 stat 정보가 race condition 으로 인해 정확하지 못한 정보가 쌓이는 문제를 해결하였습니다.
    • Sanity checking 을 위한 assert 가 추가되었습니다.
    • 소소한 message format 에 대한 업데이트가 있었습니다.
  • mudrun
    • 리눅스 버전와 윈도우즈 버전이 같이 배포됨에 따라 프로세스를 나타내는 메세지를 변경하였습니다.
    • 소소한 code cleanup 을 하였습니다.
    • Shared memory file 접근시 어떠한 이유로 접근이 힘들 경우, 리소스 release 시 메모리 leak 이 발생되는 문제를 해결하였습니다.

v2.2.16 (2013/01/01)

이번 릴리즈의 경우, 대부분 Linux 와 Mac OS X 지원을 위한 작업들이 많이 있었으며 내부적인 수정이 더 이루어지기 전에 릴리즈를 하여 check-point 를 만들기 위한 버전입니다. 아래는 Windows 사용자에 한해 적용되는 내용만 나열하였습니다.

  • mudfish
    • MTU 설정의 경우 defalut value 를 1450 으로 지정하고 있는데, 이 값을 가변으로 변경할 수 있도록 하였습니다. 만약 TAP-Win32 adapter v9 의 device MTU 가 기본값과 다르다면 해당 값이 사용합니다.
    • -f 옵션이 -2 옵션없이 사용될 경우 에러 메세지 출력 후 프로그램이 종료되도록 하였습니다.
  • mudflow
    • 옵션 처리시 sizeof(ssize_t) 의 계산 착오로 x86_64 머신과 i386 머신 사이의 크기 차이로 옵션 내용이 잘못 초기화되는 문제가 있어 해당 사항을 바로 잡았습니다.
    • SQLite 에서 발생되는 오류 메세지를 좀 더 읽기 쉽게 변경하였습니다.
  • mudrun
    • 옵션 처리시 sizeof(ssize_t) 의 계산 착오로 x86_64 머신과 i386 머신 사이의 크기 차이로 옵션 내용이 잘못 초기화되는 문제가 있어 해당 사항을 바로 잡았습니다.
    • 프로그램 시작시, 미꾸라지 프로세스간 데이타 교환을 위해 사용되는 shared memory 파일들을 삭제하도록 하였습니다.
    • mudflow 프로세스를 강제 종료를 할 경우 그에 맞는 로그 메세지를 남기도록 하였습니다.

v2.2.15 (2012/12/27)

  • muddiag
    • 미꾸라지 KT: SQS 노드의 서비스가 종료되었기 때문에 해당 entry 를 제거하였습니다.
  • mudfish
    • Mac OS X 상에서 target host 정보를 정확하게 인식하도록 수정되었습니다.
    • logger() 함수가 내부적으로 표준 출력 함수 (ODR_klog()) 를 사용하도록 수정하였습니다.
    • Virtual interface 들로부터 오류 출력시 dashboard 에 항상 오류 내용이 출력되는 것이 아니라 단순 interface 정보만 출력되는 문제를 수정하였습니다.
    • 메세지가 한글로 출력시 글자 깨짐 현상이 발생될 수 있는 부분을 수정하였습니다.
  • mudflow
    • Linux 상에서 컴파일 그리고 실행시 stat 전역 변수 이름으로 인해 stat(2) 시스템콜과 naming pollution 발생을 제거하였습니다.
  • mudrun
    • Linux 상에서 프로그램 실행시 PID 파일 생성 위치를 변경하였습니다.
    • 내부 thread 생성 실패시 프로그램이 assert fail 로 죽는 문제를 수정하였습니다.

v2.2.14 (2012/12/07)

mudfish, mudflow 그리고 mudrun 이 Linux 환경에서 돌아갈 수 있도록 수정하는 작업이 있었습니다. 버그 수정이나 기능 개선의 내용은 없습니다.

v2.2.13 (2012/12/03)

  • mudrun
    • Chunked encoding HTTP response 를 다룰 때 잘못된 포맷이 전송될 경우 assert fail 로 프로세스가 종료되는 문제를 해결하였습니다.
    • HTTP pre-hook 함수들이 HTTP response 를 반환할 때 그에 알맞는 Content-Type 헤더들이 붙도록 하였습니다.
    • HTML response 의 typo 를 수정하였습니다.

v2.2.12 (2012/11/29)

  • mudfish
    • ODR_realloc() 함수 사용시 메모리 버퍼에 대한 redzone 영역에 대한 복사가 src, dst 가 반대로 되어 있어 깨지는 문제가 있었습니다.
    • 미꾸라지 중앙 서버로의 heartbeat 전송 실패시 TOL_sendto() 함수의 메세지가 표준 메세지 포맷을 따르도록 하였습니다.
    • 만약 OS version 이 Windows 8 일 경우, odr_GetOSVersion() 함수에서 오류 메세지와 함께 프로세스가 종료되는 문제를 해결하였습니다.

v2.2.11 (2012/11/21)

  • mudadm
    • 각 프로세스마다 통신을 위해 사용되었던 shared memory file 의 경로가 변함에 따라 해당 코드의 수정이 있었습니다.
  • mudfish
    • m_pullup() 이 구현되지 않아 v1 모드 사용자나 TCP/UDP relay 사용자분들이 프로그램이 assert fail 로 종료되는 문제를 해결하였습니다.
    • missed to cache the route MTU 메세지 출력이 표준 출력 형태와 맞지 않는 문제를 수정하였습니다.
    • 미꾸라지 중앙 서버와의 connect fail 의 오류 레벨을 Error 에서 Warning 으로 하향 조절 하였습니다.
    • 미꾸라지 중앙 서버에 heartbeat 보냄이 실패할 경우 3 번이상 지속될 경우, Error 레벨로 메세지가 출력되며 그 이전은 Warning 레벨로 출력되도록 하였습니다.
    • 각 프로세스마다 통신을 위해 사용되었던 shared memory file 의 경로가 변함에 따라 해당 코드의 수정이 있었습니다.
  • mudflow
    • UDP 통신을 위해 사용되는 sendto(3) API 어떠한 이유로 error 를 리턴할 경우, 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
    • 미꾸라지 중앙 서버와 통신시 어떠한 이유로 message format 이 깨졌을 경우, assert fail 로 죽는 문제를 해결하였습니다.
    • 각 프로세스마다 통신을 위해 사용되었던 shared memory file 의 경로가 변함에 따라 해당 코드의 수정이 있었습니다.
  • mudrun
    • 설정 파일 parsing 시 오류가 있을 경우, Wrong syntax 메세지를 화면상에 나타나도록 하였습니다. 또한 문법 오류시 메세지 없지 exit() API 가 불리는 문제를 해결하였습니다.
    • Chunked encoding parsing 시 assert fail 로 프로그램이 종료되는 문제를 해결하였습니다.
    • 각 프로세스마다 통신을 위해 사용되었던 shared memory file 의 경로가 변함에 따라 해당 코드의 수정이 있었습니다.

v2.2.10 (2012/10/09)

  • muddiag
    • 기존 미꾸라지 중앙 서버까지의 MTU 계산하는 로직을 수정하여 현재 운영중인 모든 중계 서버까지의 MTU 을 검사하도록 수정하였습니다.
  • mudfish
    • 기존 인증 방식의 경우, ID/PWD 에 대해 최대 8 자까지의 제한이 있었지만 이를 해결하기 위한 패치가 적용되었습니다. 이제 최대 64 자까지 제한이 생겼습니다.
    • 인증과정에서 중앙 서버로 부터 PM time 일 경우 그에 맞는 메세지를 출력하도록 수정하였습니다.
    • CLI 인터페이스를 위한 ODR_listen() 함수에서 오류가 발생할 경우 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
    • 어떠한 이유로 ODR_socket() 에서 오류 발생시 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
  • mudflow
    • .rtt 파일에 저장되어 있는 정보를 프로그램 시작시 로드할 경우, packet loss 에 해당하는 값을 제대로 처리하지 못하는 부분을 수정하였습니다.
  • mudrun
    • ‘상태 -> 미꾸라지 중계 서버’ 메뉴에 Packet Loss 에 관한 정보 또한 함께 출력되도록 하였습니다.
    • 인증 방식이 변경됨에 따라 mudrun 또한 업데이트 되었습니다.

v2.2.9 (2012/10/05)

  • mudfish
    • v1 호환 모드 사용자의 경우, TOL_accept(2) 시스템콜이 내부적으로 실패할 경우 프로그램이 crash 되는 문제가 있었습니다.

v2.2.8 (2012/10/04)

  • mudfish
    • 미꾸라지 프로그램이 중앙 서버에 heartbeat signal 을 보내는 주기를 기존 10 분에서 3 분으로 단축하였습니다.
    • Warning 혹은 Error level 메세지를 출력할 경우 이에 상응하는 error number 가 함께 출력하도록 조치하였습니다.

v2.2.7 (2012/10/02)

  • mudfish
    • 윈도우즈 레지스트리에서 TcpNoDelay 관련 변수를 읽을 경우, ERROR_MORE_DATA 가 리턴되는 경우가 있어 이 부분을 제대로 handling 하도록 하였습니다.
  • mudrun
    • 컴퓨터가 hiberation 상태가 될 경우, 미꾸라지 프로그램 관련 프로세스를 모두 종료하도록 코드를 수정하였습니다.

v2.2.6 (2012/10/01)

  • mudfish
    • 미꾸라지 오류 메세지 출력 시 메세지를 좀 더 확인하기 쉽게 교정하였습니다.
    • RegQueryValueEx() MSDN API 가 오류를 발생하였을 때 좀 더 원인을 분석하기 쉽게 메세지를 출력하도록 하였습니다.
    • Heartbeat 신호를 중앙 서버로 전송할 경우, Non-blocking 모드로 전송하도록 하였습니다.
  • mudrun
    • 만약 미꾸라지 중앙 서버 (ko.loxch.com) 의 DNS resolving 이 안될 경우, 메세지 박스가 뜨고 더 이상 프로그램 자체가 stuck 되는 문제를 해결하였습니다.
    • 만약 미꾸라지 중앙 서버의 웹 서버 접속이 일시적으로 안될 경우, 메세지 박스가 뜨고 진행이 안되는 경우를 해결하였습니다.
    • 오류 발생시 단순 connection reset 보다는 HTTP/1.1 500 Internal Server Error 를 보내도록 하였습니다.
    • Backend 서버와의 연결시 필요한 오류 핸드링 부분을 손보았습니다.

v2.2.5 (2012/09/26)

  • mudfish
    • Linux 에서 동작하기 위한 소스 내부 구조가 변경되었습니다. 아직 정식 릴리즈는 하지 않았지만 Ubuntu linux 에서 미꾸라지 Core 프로그램이 정상 동작하는 것을 확인하였습니다. ;-)
    • ARP 관련 코드의 에러 메세지들이 uptime 시간과 함께 출력되도록 수정하였습니다.
    • 라우팅 경로를 추가하는데 실패할 경우, routing stack 과 통신을 위한 file descriptor leak 이 생기는 문제를 해결하였습니다.
  • mudflow
    • 메세지에 존재하는 typo 을 제거하였습니다.
    • Mutex initializer 에 대한 방식을 기존 static assign 에서 initialization function call 로 수정하였습니다.
  • mudrun
    • 어떠한 이유로 shared memory 부분이 예상하지 못한 format 으로 전달되었을 때 assert fail 로 프로그램이 정지하는 문제를 해결하였습니다.

v2.2.4 (2012/09/20)

  • mudrun
    • 영어 버전의 미꾸라지 배포판을 위해 새롭게 빌드된 버전입니다.

v2.2.3 (2012/09/20)

  • muddiag
    • NETSTAT -AN 의 결과물 또한 함께 중앙 서버로 전송하도록 하였습니다.
  • mudfish
    • 메모리 allocation 루틴이 내부적으로 모두 변경되었습니다. 그와 동시에 redzone 체크를 위한 루틴이 새롭게 소개되었으며, 기본적으로 enable 되어 배포가 됩니다.
    • 커널 realloc(9) 루틴이 새롭게 들어갔습니다.
    • IP 헤더의 protocol 값이 IPPROTO_RSVP (resource reservation) 일 경우 프로그램이 죽는 문제를 해결하였습니다.
    • 메모리 redzone 루틴을 disable 시킬 수 있는 -z 옵션이 추가되었습니다.
    • ODR_klog() 루틴의 경우, putchar() 루틴이 사용되어 multi-thread 환경에서는 콘솔창의 output 이 섞일 수 있는 문제를 가지고 있었는데, buffered output 으로 수정하여 해당 문제를 해결하였습니다.
    • 오류 메세지를 shared memory 에 출력할 때 %D 혹은 %b directive 들이 제대로 처리될 수 있도록 하였습니다.
    • Userland 프로그램인 TCP relay 의 socket 저장변수가 struct sockaddr 에서 struct sockaddr_storage 로 변경하였습니다. 경우에 따라 overflow 이슈가 생길 수 있는 부분이 수정되었습니다.
  • mudrun
    • ‘설정 -> 일반’ 메뉴에서 mudflow 와 mudfish 의 추가 옵션을 정의할 경우, URL encoding 으로 인해 문자열이 decoding 없이 저장되는 문제점을 수정하였습니다.

v2.2.2 (2012/09/17)

  • mudfish
    • 미꾸라지 삼성 IDC 노드가 완전히 서비스에서 제거됨으로 인해 발생한 MUDFISH Core 프로그램 실행 오류를 해결하였습니다.
    • Core 파일 생성시 좀 더 정확한 stack trace 을 위해 frame pointer omission 을 disable 시켰습니다.
    • Core 파일들을 위한 분석이 용이하도록 Map 파일을 생성하도록 하였습니다.

v2.2.1 (2012/09/14)

  • mudfish
    • re(4) 가상 네트워크 장치의 경우 multi thread 들에 의해 access 될 수 있는데, 이로 인한 race condition 으로 통계 정보가 깨지는 현상을 수정하였습니다.
    • TOL_accept(2) 함수가 오류를 반환할 경우, 프로그램이 죽는 문제를 해결하였습니다.
  • mudflow
    • 프로그램 시작시 Routing table 을 loading 하는 옵션과 saving 옵션을 구분 하였습니다.
    • 각 미꾸라지 중계 서버로 RTT 검사한 정보를 .ping 파일에 저장하도록 하였으며 해당 파일의 내용을 재 사용하도록 하였습니다. 단 30 분동안의 정보만 저장합니다.
  • mudrun
    • ‘라우팅 테이블 로딩’ 기능과 관련된 항목들이 수정되었습니다.
    • ‘설정 초기화’ 옵션을 새롭게 추가하였습니다. 이 버튼을 클릭하게 되면 미꾸라지에 설정된 모든 옵션들이 초기화 하게 됩니다.

v2.2.0 (2012/09/12)

  • mudadm
    • v2.1.2 의 installer 로 실제로는 포함이 되지 않던 문제를 해결하였습니다.
  • mudfish
    • Stdout 에 로그 기록을 남길 경우, 항상 줄의 앞단에 uptime 을 찍도록 하여 상대적으로 언제 로그가 발생하였는지 알 수 있도록 하였습니다.
    • ARP 패킷 처리시 알수 없는 header format 이 전달될 경우 프로그램이 죽는 문제를 해결하였습니다.
    • 시스템 기본 printf() 구문 대신에 자체 printf() 을 사용하도록 수정하였습니다. %b 와 %D directive 들을 지원하기 위한 패치입니다.
    • 만약 일정 시간 동안 DHCP client 로 부터 IP 주소를 받았다는 ACK 패킷이 오지 않을 경우 경고 혹은 오류 메세지를 출력하도록 하였습니다.
  • mudflow
    • RTT 검사 interval 을 옵션을 통해 설정할 수 있도록 하였습니다.
    • RTT 검사의 경우 기본값이 10 초이지만 5 분후에는 60 초간격으로 이루어지는 것을 제거하였습니다. 이제는 항상 10 초마다 검사합니다.
  • mudrun
    • 미꾸라지 Core 프로그램에서 Warning 혹은 Error 메세지가 발생할 경우, notification 창이 화면 오른쪽 하단에 열리도록 하였습니다.

v2.1.2 (2012/09/10)

  • mudadm
    • 미꾸라지 CLI 명령을 telnet 명령 없이 사용할 수 있도록 mudadm 이라는 새로운 유틸리티를 추가하였습니다. 미꾸라지 Core 프로그램이 실행중인 동안 shared memory 에 CLI address:port 정보가 있는 한 자동으로 접속 해당 명령의 결과값을 유추하게 됩니다.
  • muddiag
    • 미꾸라지 내부 중계 서버 IP 로의 TCP 연결 테스트가 새롭게 추가되었습니다.
    • dbghelp.dll 에 대한 의존성을 제거하였습니다.
  • mudfish
    • WSAECONNRESET 오류 발생시 error handling 을 제대로 하도록 하였습니다.
    • 미꾸라지 실행시 mudadm 이 CLI address:port 정보를 제대로 찾을 수 있도록 해당 Log entry 을 shared memory 에 남기도록 하였습니다.
    • dbghelp.dll 에 대한 의존성을 제거하였습니다.
  • mudflow
    • dbghelp.dll 에 대한 의존성을 제거하였습니다.
  • mudrun
    • mudrun_stdout.txt 에는 미꾸라지 UI 서버와의 연결 로그가 남게 되는데, -D 옵션을 통해서 HTTP response body 를 로그 내용에서 제외하도록 옵션을 새롭게 추가하였습니다.
    • 미꾸라지 프로그램의 Crash 파일 발생시 중앙 서버로 보내는 HTTPS request 의 형식에 파일 이름이 정확하게 기록되도록 하였습니다.
    • HTTP body 의 내용 중 non-ASCII 문자에 대해 xffffff 와 같은 prefix 가 붙는 문제를 해결하였습니다.
    • dbghelp.dll 에 대한 의존성을 제거하였습니다.

v2.1.1 (2012/09/04)

  • mudfish
    • re(4) 가상 디바이스 가동 중 ODR_select() 함수 오류로 인해 프로그램이 비정상 작동할 경우, 미꾸라지 중계 서버에 재접속을 하도록 하였습니다.
    • select() 함수가 오류를 반환할 경우, 그에 맞는 오류값을 출력하도록 하였습니다.
    • 미꾸라지 중앙 서버와의 통신이 원활하지 않을 경우 프로그램이 죽는 문제를 해결하였습니다.
    • 처음 미꾸라지 Core 프로그램이 실행될 때, 어떠한 이유로 shared memory 가 corrupt 되어 있을 경우, 오류 메세지를 출력한 후 종료하도록 하였습니다.
    • Routing Table 을 fetching 할 때 발생할 수 있는 memory leak 문제를 해결하였습니다.
    • TCP relay 동작시 발생할 수 있는 많은 assert fail 부분을 제거하였으며, 좀 더 자세한 오류 메세지를 로그 정보에 남기도록 하였습니다.
    • UDP relay 또한 v2 환경에 맞게 수정되었습니다.
    • 미꾸라지 프로그램이 죽을 경우, 코어 파일을 윈도우즈 임시 디렉토리에 생성하게 되는데, 해당 파일 이름의 prefix 에 패키지 버전을 함께 포함하도록 하였습니다.
  • mudrun
    • 미꾸라지 프로그램이 죽을 경우, 코어 파일을 윈도우즈 임시 디렉토리에 생성하게 되는데, 해당 파일 이름의 prefix 에 패키지 버전을 함께 포함하도록 하였습니다.

v2.1.0 (2012/08/31)

  • mudfish
    • 실행 파일에 좀 더 자세한 버전 정보를 담도록 하였습니다. 사용하면서 생성된 코어 파일이 중앙 서버에 전달될 때 어떤 버전에 의해 크래쉬가 발생하였는지 알지 못해 조치하게 되었습니다.
    • tcp_timer_2msl() 함수내에서 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
    • Userland application 인 TCP relay 가 SOCKSv5 프로토콜을 이용하여 Backend 에 연결 요청을 하였을 때 특정 원인으로 연결이 실패하였을 때 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
  • mudflow
    • Out of memory 에 의해 프로그램이 assert fail 로 죽는 몇가지 경우를 처리하였습니다.
    • 크래쉬 발생시 메세지에 Uptime 정보를 넣었습니다.
    • 어떠한 이유류 socket() 함수가 실패할 경우 프로그램이 죽는 문제를 해결하였습니다.
    • 실행 파일에 좀 더 자세한 버전 정보를 담도록 하였습니다.
  • mudrun
    • 실행 파일에 좀 더 자세한 버전 정보를 담도록 하였습니다.

v2.0.28 (2012/08/29)

  • mudfish
    • 어떠한 이유로 ODR_socket() 함수가 실패하였을 경우, 오류를 제대로 처리하도록 하였습니다.
    • socket(2) 함수가 실패할 경우, 프로그램이 assert fail 로 죽는 문제를 처리하였습니다.
    • Windows XP 사용자의 경우 dhclient 가 RFC3442 에 선언되어 있는 Classless Static Route 옵션을 제대로 처리하지 못하기 때문에 이를 위한 MS 전용 옵션을 처리할 수 있도록 하였습니다.
    • 미꾸라지 프로그램의 user application 중의 하나인 TCP reply 가 어떤 이유로 중계 서버와의 연결이 실패할 경우 프로그램이 죽지 않도록 하였습니다.
  • mudflow
    • shared memory 상에 남게 되는 특정 entry 의 type 을 다른 어플리케이션과의 호환을 위해서 이름을 수정하였습니다.
  • mudrun
    • ‘상태 -> 중계 서버’에 접속할 경우, 미꾸라지 중계 서버 <-> Backend 서버간의 정보가 세팅한 항목에 대해서만 보이도록 조치하였습니다.
    • v1 호환 모드 작동 중일 경우, 이로 인해 자동 세팅되는 routing path 은 첫 화면 요약에서 제외하도록 하였습니다.
    • 미꾸라지 중앙 서버와 통신중에 끊어질 경우, 프로그램이 죽는 문제를 해결하였습니다.
    • mudflow.exe 가 어떠한 이유로 죽었을 경우 해당 정보를 제대로 중앙 서버로 전달하도록 하였습니다.
    • mudfish.exe 로 부터 들어온 log_in_vain 정보를 제대로 처리하도록 하였습니다.

v2.0.27 (2012/08/24)

  • mudfish
    • 어떠한 이유로 미꾸라지가 panic() 함수를 부를 때, 단순 abort() 를 부르지 않고 assert fail 을 호출함으로써 크래쉬 정보가 미꾸라지 중앙 서버에 자동 전송되도록 하였습니다.
    • tcp_reass() 함수에서 KASSERT() 매크로가 잘못 사용된 부분을 수정하였습니다. 이로 인해 하위 호환 모드를 이용하여 사용하시는 사용자분들이 만나는 크래쉬 현상을 제거하였습니다.
    • 하위 호환 모드 활성화시 sysctl 인자인 net.inet.tcp.log_in_vain 과 net.inet.udp.log_in_vain 이 각각 1 로 세팅이 되는데, 이로 인해 찍히는 console 메세지를 미꾸라지 중앙 서버에 자동 전송하도록 하였습니다.
    • 최악의 경우, out of memory 현상으로 인해 ODR_posix_memalign() 함수가 NULL 이 반환되었을 때 M_NOWAIT == 0 일 경우, 일정 시간 동안 대기하도록 하였습니다.
    • 잘못된 assert() 구문이 수정되었습니다.
  • mudflow
    • v1 과의 하위 호환 모드가 enable 될 경우 해당 정보를 로그에 기록하도록 하였습니다.
  • mudrun
    • 라우팅 테이블의 Location 정보가 출력될 경우, 좀 더 세부적으로 메세지를 출력하도록 하였습니다.

v2.0.26 (2012/08/23)

  • mudfish
    • in_lltable_prefix_free() 함수에서 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
  • mudrun
    • 기본 브라우저를 뛰우기 위해 CreateProcess() 함수를 호출할 때 오류가 발생할 경우, 기존 메세지 박스에서 좀 더 도움말을 볼 수 있는 박스를 보여주도록 하였습니다.
    • 단순 메세지 박스를 도움말이 첨부된 메세지 박스로 보여주도록 개선되었습니다.

v2.0.25 (2012/08/21)

  • mudfish
    • tcp_output() 루틴에서 KASSERT 구문에 의해 프로그램이 죽는 문제를 해결하였습니다.
    • net.inet.tcp.log_in_vain 과 net.inet.udp.log_in_vain 옵션들이 제대로 동작하도록 하였습니다.
    • -l 옵션이 새롭게 추가되었습니다. -l 옵션이 활성화될 경우, net.inet.tcp.log_in_vain 와 net.inet.udp.log_in_vain sysctl knob 들이 활성화됩니다.
    • mudflow.exe 로 부터 하위 호환 기능에 대한 세부 정보가 shared memory log 를 통해 전달될 경우, 해당 정보를 msk0 가상 디바이스와 TCP relay 서버에 제대로 전달하도록 하였습니다.
  • mudflow
    • 미꾸라지 v1 하위 호환성을 위한 작업의 일환으로 -c 옵션을 새롭게 넣었습니다.
    • 현재 컴퓨터가 접속중인 IP 목록을 대조하여 미꾸라지에 세팅된 라우팅 테이블과 일치시 해당 정보를 미꾸라지 중앙 서버로 전송하도록 하였습니다.
    • 미꾸라지 v1 하위 호환 기능이 활성화되어 있을 경우, 중앙 서버로 부터 해당 라우팅 경로에 대한 IP 목록과 Port 정보를 받아 오도록 하였습니다.
  • mudrun
    • mudflow.exe 실행시 하위 호환 기능이 활성화되어 있을 경우 -c 옵션을 함께 실행하도록 하였습니다.
    • MUDFISH Launcher (mudrun.exe) 실행시 Command Line 옵션으로 사용자와 패스워드를 입력할 수 있도록 하여 자동 실행이 될 수 있도록 하였습니다.
    • -B 옵션을 추가하였습니다. -B 옵션과 함께 실행될 경우, 기본 운영체제 브라우저를 실행하지 않습니다.
    • -u <username> 와 -p <password> 옵션을 추가하였습니다. -u 와 -p 옵션이 둘다 사용될 경우, 자동으로 로그인을 시도합니다.
    • 하위 호환 기능을 위한 내부 옵션이 새롭게 추가되었습니다.
    • 내부 HTTP proxy 서버를 실행할 때 항상 SO_REUSEADDR 옵션을 활성화하도록 하여 최대한 기본 포트 8282 를 사용할 수 있도록 하였습니다.
    • 하위 호환 기능이 활성화되어 있고 mudflow.exe 가 해당 정보를 새롭게 넘길 경우, 정보를 중앙 서버로 전달합니다.
    • ‘설정 -> 일반’ 에서 mudfish, mudflow 에 대한 기타 옵션이 제대로 적용되지 않던 문제를 해결하였습니다.
    • 설정 저장 후 중복 메세지가 여러번 나오는 문제를 해결하였습니다.

v2.0.24 (2012/08/14)

  • muddiag
    • 기존 문제점 보고의 경우 자세한 원인에 대한 글을 기입할 수 없도록 되어 있어 분석에 어려움이 있었는데, 해당 부분은 개선하였습니다.
  • mudfish
    • 미꾸라지 CLI 사용시 어떠한 이유로 ODR_write() 함수에서 오류를 반환하게 될 경우 프로그램이 죽는 문제를 해결하였습니다.
    • 미꾸라지 중앙 서버로 접속이 안될 경우, 특정 조건하에서 프로그램이 죽는 문제를 해결하였습니다.
  • mudrun
    • muddiag 실행시 -m 옵션을 제대로 설정하여 넘기도록 하였습니다.

v2.0.23 (2012/08/08)

  • mudrun
    • 만약 mudrun.exe 가 새롭게 실행될 경우 기존 mudfish.exe 와 mudflow.exe 을 강제로 종료하고 실행하도록 하였습니다.
    • Mudfish Launcher 의 default port 를 8282 로 지정하였습니다. 항상 8282 로 뜰려고 하겠지만 경우에 따라 random 번호가 사용될 수 있습니다.
    • accept(2) 실패시 프로그램이 죽는 문제를 해결하였습니다.
    • Out of memory 상황시 프로그램이 죽는 문제를 해결하였습니다.

v2.0.22 (2012/08/03)

  • mudfish
    • GetIpForwardTable() 함수에 오류가 발생할 경우 해당 오류 메세지를 찍고 죽지 않도록 하였습니다.
    • Windows XP 사용자의 경우, MTU 1450 이 아닐 경우 경고창이 뜨도록 하였는데, 이 것을 단순 오류 메세지로 대체하였습니다.
    • DeviceIoControl() 함수에서 오류가 발생할 경우 프로그램이 죽지 않도록 하였습니다.
    • Userland heartbeat 전송이 실패할 경우 어떤 인터페이스에서 실패하였는지 좀 더 정확하게 보여주도록 수정하였습니다.
  • mudflow
    • RTT 검사하는 부분의 경우, 미꾸라지 중계 서버에 대한 테스트와 Backend 서버에 대한 테스트 2 부분을 나누어져 있었는데, 더 이상 Backend 서버는 RTT 를 측정하지 않도록 하겠습니다.
  • mudrun
    • Internet Explorer 7, 8 에서는 대쉬 보드에서 요약 화면에 아이콘이 제대로 표시되지 않는 문제를 해결하였습니다.

v2.0.21 (2012/07/27)

  • mudfish
    • Default Route 설정을 위한 기본값이 잘못 설정되어 프로그램이 비정상 종료되는 문제를 해결하였습니다.

v2.0.20 (2012/07/27)

  • mudfish
    • re(4) 가상 인터페이스의 오류 메세지를 업데이트 하였으며, 어떤 인터페이스 unit 에서 발생하는 것인지 제대로 보여주도록 하였습니다.
    • Windows 7, Vista, 2008 이상의 운영체제를 사용할 경우, TAP-Win32 Adapter v9 의 기본 MTU가 1450 이상일 경우 항상 1450 으로 고정하도록 하였습니다.
    • -s 옵션이 -2 옵션과 함께 사용될 경우, 제대로 노드를 세팅하지 못하는 문제를 해결하였습니다.

v2.0.19 (2012/07/26)

  • mudfish
    • TCP mode 을 통해 고속 파일 전송시 일정 bandwidth 초과시 (보통은 multi thread 연루시) 연결 자체가 hang 되는 문제를 해결하였습니다.
    • re(4) 가상 장치의 재연결 code 가 수정되었습니다.
    • 주기적으로 heartbeat 을 미꾸라지 중계 서버로 보내도록 하였습니다. 이러한 조치는 미꾸라지 프로그램 자체는 연결이 유효하다고 생각하는 동안 서버 측에서는 연결이 끊어졌다고 생각하기 때문입니다.
    • -s 옵션의 기능이 수정되었습니다. 원래는 -s 옵션의 경우, 미꾸라지 v1 전용이었지만, v2 에서는 이 값이 사용되도록 하였습니다. 이 기능 사용시 미꾸라지 프로그램의 default gateway 을 해당 노드로 설정합니다.
    • 기타 코드 cleanup 작업이 있었습니다.

v2.0.18 (2012/07/23)

  • muddiag
    • 문제점 보고시 사용자의 컴퓨터에서 미꾸라지 KT IDC 노드까지의 Pass MTU 값을 계산한 후 해당 결과값을 보내도록 하였습니다.
    • NETSH INTERFACE IP SHOW INTERFACES 명령의 결과값을 보내도록 하였습니다. 이는 네트워크 장치의 기본 MTU 을 살펴보기 위한 것입니다.
  • mudfish
    • re(4) 가상 디바이스가 초기 구성 실패시 assert 문제로 죽을 수 있는 가능성을 제거하였습니다.
    • DHCP INFORM 메세지를 제대로 처리하도록 하였습니다. Unicast 방식으로 패킷 전송시 ENETUNREACH 오류가 나는 부분을 해결하였습니다.
  • mudrun
    • mudfish.exe 와 mudflow.exe 프로그램 실행시 사용자가 직접 임의의 값을 추가할 수 있도록 하였습니다.
    • jQuery 라이브러리인 sparkline 을 이용한 그래프 생성시 Internet Explorer 7 과 8 에서 제대로 그래프가 보여지지 않던 문제를 해결하였습니다.

v2.0.17 (2012/07/20)

  • mudfish
    • 가상 re(4) 드라이버에서 sc->sc_bkactive != NULL assert 로 죽는 문제를 해결하였습니다. 이 문제는 device UP 시 TX (re_start) 가 IFF_DRV_RUNNING 마크를 제대로 처리하지 않아 발생한 문제였습니다.
    • 만약 가능하다면 TcpAckFrequency 를 TAP-Win32 Adapter v9 에는 항상 1 로 적용하도록 하였습니다. 다른 네트워크 장치는 수정되지 않습니다.
  • mudrun
    • Chunked Encoding 데이타를 처리 도중 연결이 끊어질 경우, assert fail 로 프로그램이 죽는 문제를 해결하였습니다.
    • 특정 프로그램이 crash 났을 경우 이에 대한 reporting 하는 과정에서 assert fail 로 죽는 문제를 해결하였습니다.

v2.0.16 (2012/07/13)

  • mudfish
    • 미꾸라지 가상 인터페이스 re(4) 와 msk(4) 에서 전송되는 RX/TX 부분의 byte 값을 통계로 남게 하였습니다.
    • 미꾸라지 가상 인터페이스 re(4) 와 msk(4) 에서 발생하는 RX/TX 오류에 대한 통계를 남게 하였습니다.
    • TCP syncache 루틴에서 syncache_unreach() 함수에 도달할 경우 프로그램이 죽는 문제를 해결하였습니다.
    • 오류 메세지를 기존 stderr 에서 stdout 으로 변경하였고 대신 메세지 tag 을 통해서 레벨을 보여주도록 하였습니다.
    • 미꾸라지가 죽을 경우, 해당 프로그램의 Uptime 을 같이 미꾸라지 중앙 서버로 전송하도록 하였습니다.
    • 특정 client 의 경우, DHCP DISCOVER/REQ/ACK 사이의 간격이 커서 운영체제가 IP을 할당받는데 오래 걸릴 수 있는데, 그것을 무시하고 routing table 을 설정하려고 해서 생기는 문제가 해결되었습니다. 미꾸라지의 라우팅 테이블 세팅 후 재 가동시 몇몇 entry 가 제대로 운영체제가 적용되지 않던 문제를 해결하였습니다.
  • mudrun
    • 사용자가 현재 사용하고 있는 네트워크의 량을 시각적으로 확인할 수 있도록 미꾸라지 UI 의 ‘상태 -> 프로세스’ 에 새로운 ‘네트워크 상태’ 섹션을 만들었습니다.
    • 미꾸라지 인증시 잘못된 인자가 URL로 넘어올 경우, 혹은 있어야 할 인자가 넘어오지 않았을 경우 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.

v2.0.15 (2012/07/09)

  • mudfish
    • ODR_recvfrom() 에서 recvfrom() 함수가 SOCKET_ERROR 을 리턴할 경우 죽는 문제를 해결하였습니다.
    • TAP-Win32 Driver TcpNoDelay 관련 메세지를 출력할 때 제대로 출력되지 않던 문제를 해결하였습니다.
    • 사용중인 운영체제에 네트워크 장치가 굉장히 많을 경우 (예를 들면 100 개 이상) 이로 인해서 TAP-Win32 Adapter 을 제대로 찾지 못하던 문제를 해결하였습니다.
  • mudrun
    • 잘못된 URL 형식으로 mudrun 프로그램에 요청을 할 경우 프로그램이 죽는 문제를 해결하였습니다. 하지만 이 단계에서는 한 단계 위의 caller 에서 죽는 문제를 여전히 가지고 있습니다.
  • 기타
    • 미꾸라지 HTTP 웹 가속 문서가 새롭게 들어갔습니다.
    • 미꾸라지 HTTP 웹 가속을 위한 홈페이지 및 미꾸라지 UI 화면에 대한 업데이트가 있었습니다.

v2.0.14 (2012/07/06)

  • mudrun
    • 설정 -> 일반에서 환경 변수를 설정하고 저장할 경우, 프로그램이 crash 나는 문제를 해결하였습니다.

v2.0.13 (2012/07/03)

  • muddiag
    • 문제점 분석툴을 만들어 배포하게 되었습니다. 이 프로그램은 미꾸라지 UI 의 지원 -> 문제점 보고하기 메뉴를 통해서 사용됩니다.
  • mudrun
    • muddiag 을 실행시키기 위한 메뉴가 새롭게 들어갔고, 해당 hook API 가 들어갔습니다. /do/support/muddiag URL 을 통해서 해당 기능을 활성화할 수 있습니다.
    • 인증시 recvfrom() 함수가 오류 혹은 EOF 을 반환하게 되면 프로그램이 죽는 문제를 해결하였습니다. 해당 오류를 자세히 화면상에 출력하도록 조치하였습니다.
  • mudfish
    • TCP mode 을 통해 미꾸라지를 작동할 시 nagle algorithm 에 의해 write() 함수에 쓰인 데이타가 socket buffer 에서 일정 시간 머물도록 되어 있던 문제점을 해결하였습니다. 이 때문에 ping 명령 결과가 비정상적으로 컸던 문제점이 해결되었습니다.
    • 미꾸라지가 ICMP 패킷을 제대로 처리하도록 하였습니다. 기존의 경우, packet drop 을 하였지만 이 버전 부터는 제대로 reply 을 하게 됩니다.
    • 미꾸라지 실행시 DHCP client 가 classless static route 옵션을 붙여 보낼시 10.254.0.0/15 대역에 해당하는 static route 경로를 자동 세팅하도록 하였습니다. 이 기능을 통해서 명령 프롬프트 창에서 ping 명령을 통해 직접 미꾸라지 중계 서버와 통신할 수 있습니다.

v2.0.12 (2012/06/26)

  • mudfish
    • DHCP 를 이용하여 공인 IP 혹은 내부 IP 를 받는 사용자들이 DHCP release time 이 짧게 설정되면 미꾸라지 중앙 서버로 보내는 heartbeat 가 잘못 계산되어 사용자끼리 IP 가 충돌날 수 있는 상황을 제거하였습니다.
  • mudrun
    • 시스템 트레이에 있는 아이콘 클릭시, mudrun 문자열이 잘못 찍히는 것을 수정하였습니다.
    • 미꾸라지 UI 의 dashboard 이동 시 요약 정보가 출력되도록 하였습니다.
    • 미꾸라지 UI 의 RTT 정보를 조금 수정하였습니다.
    • 설정 -> 일반에서 RTT 측정 방법 변경시 RESTART 요구 문구를 출력하도록 하였습니다.

v2.0.11 (2012/06/25)

  • mudfish
    • re(4) 가상 인터페이스에서 TCP mode 로 서비스 이용시 ODR_read() 함수가 오류 리턴시 프로그램이 assert fail 로 죽는 문제를 해결하였습니다.
    • 미꾸라지 중앙 서버와의 통신 실패시 assert fail 로 죽는 문제를 경고창 출력 화면으로 수정하였습니다.
  • mudflow
    • RTT 체크시 기존 루틴의 경우, TCP 와 UDP 기반으로 테스트를 하였지만 특정 ISP 업체의 경우 QoS 장비를 이용한 패킷 delay 가 적용되는 경우가 있어서 몇몇 사용자의 경우 RTT 가 ICMP 를 이용한 것과 TCP 를 이용한 것의 결과값이 다르게 나오는 경우가 있었습니다. 사용자가 어떠한 RTT 측정 방법을 사용할 지 결정할 수 있도록 하였습니다.
    • ICMP 를 이용한 RTT 체크 기능을 추가하였습니다. 실패시 RTT 의 기본값을 3000 ms 로 세팅하도록 하였습니다.
    • assert 실패시 자동으로 중앙 서버에 crash report 을 보내도록 수정하였습니다.
  • mudrun
    • MUDFLOW 의 옵션 변경으로 인한 코드 수정이 있었습니다.
    • MUDRUN 의 기본 아이콘을 Greenman 에서 미꾸라지 머리 (속칭 대가리)로 바꿨습니다.
    • assert 실패시 자동으로 중앙 서버에 crash report 을 보내도록 수정하였습니다.

v2.0.10 (2012/06/23)

  • mudfish
    • Full VPN 관련 기능
      • Full VPN 기능을 가능하도록 수정하였습니다. 하지만 아직 미꾸라지 UI 와 연결하지는 않았습니다.
      • 활성화시 DNS 주소가 8.8.8.8 로 내려보내도록 DHCP offer 혹은 ack 을 수정하였습니다.
      • Classless Static Route 기능을 이용하여 traffic redirect 을 유도하였습니다.
    • DHCP 의 default metric base 을 통해 제대로 metric 이 설정되도록 하였습니다.
    • DHCP request 가 Interface MTU 을 요구할 경우, 적당한 MTU 을 보내도록 수정하였습니다.
    • CLI 인터페이스를 통해서 netstat -ni 명령이 제대로 실행되도록 하였습니다.
    • CLI 인터페이스를 통해 문자열이 일정 길이 이상이 될 때 문제가 생기는 것을 수정하였습니다.
    • 미꾸라지가 TCP mode 로 작동할 경우, if_input() 루틴에 패킷의 사이즈가 잘못 전달되는 것을 수정하였습니다.
    • re(4) 가상 디바이스가 read() 함수 실패시 잘못된 오류 메세지가 출력되는 것을 수정하였습니다.
    • -D 옵션을 이용하여 미꾸라지의 모든 가상 인터페이스로 부터 패킷 덤프를 뜰 수 있도록 하였습니다. Wireshark 나 tcpdump 와 같은 유틸리티를 이용하여 해당 내용을 확인할 수 있습니다.
    • /W2 상태에서 컴파일이 되는 것을 /W3 상태로 업그레이드하였습니다. 이로 인해 예상하지 못한 문제점들을 수정하였습니다.
    • 사용하지 않는 라이브러리와 linking 이 되는 것을 제거하였습니다.

v2.0.9 (2012/06/15)

  • mudflow
    • 기존 TCP 연결을 통한 RTT 체크시 timeout 값을 3 초에서 15 초로 증가시켰습니다.
    • 미꾸라지 중계 서버로의 RTT 체크시 TCP -> UDP 순으로 시도하도록 하였습니다.
    • RTT 체크가 너무 aggressive 하게 일어나는 것을 방지하였습니다. 기존에는 10 초에 한번씩 일어났지만, 이제는 특정 cycle 이 지나면 60 초에 한번씩 체크하도록 변경하였습니다.
  • mudfish
    • msk(4) 가상 인터페이스가 TX 시 crash 되는 문제를 해결하였습니다.

v2.0.8 (2012/06/10)

  • mudrun

    • 만약 MUDFISH Launcher 가 이미 실행되어 있다면 메세지를 보여주고 실행을 종료하도록 하였습니다.

    • 어떠한 이유로 mudfish_stdout.txt 파일 (미꾸라지 core 파일의 로그 파일) 이 많은 내용으로 클 경우, 프로그램이 죽는 문제를 해결하였습니다.

      처음부터 64 Kbytes 만 보여주도록 하였습니다.

    • 처음 로그인 시 미꾸라지 중앙 서버에 접속이 일시적으로 되지 않을 경우, 프로그램이 죽는 문제를 해결하였습니다.

v2.0.7 (2012/06/09)

  • mudfish
    • TCP 연결을 통해 미꾸라지 중계 서버를 사용할 경우, 재연결시 메모리 버퍼가 잘못 release 되는 문제점을 해결하였습니다.
    • TCP 연결시 header 가 partial read 시 프로그램이 죽는 문제를 해결하였습니다.
    • TAP-Win32 Adapter 의 TcpAckFrequency 와 TcpNoDelay 정보를 출력하도록 하여 사용자로 하여금 ping latency 관련 정보를 얻을 수 있도록 하였습니다.
    • TAP-Win32 Adapter 의 GUID 를 출력하도록 하였습니다.
  • mudrun
    • .ipport 파일이 없어서 프로그램이 실행되지 않는 문제를 해결하였습니다. 기존 메모리 영역에 해당 IP 와 PORT 정보가 있을 경우 그것을 사용하도록 하였습니다.
    • 프로그램이 crash 되었을 때는 사용자 ID 도 함께 정보를 보내도록 하였습니다.
    • Transfer Encoding 이 Chunked Encoding 인데, 어떤한 이유로 포맷이 잘못되었거나 중간에 연결이 끊어질 경우, 프로그램이 죽는 문제를 해결하였습니다.

v2.0.6 (2012/06/08)

  • mudfish
    • 가상 re(4) 인터페이스의 버그를 수정하였습니다.
  • mudrun
    • 내부 프로그램들이 죽었을 때 shared memory 가 꼬임으로 인해 메세지가 제대로 전달되지 않는 상황에서 프로그램이 죽지 않도록 하였습니다.

v2.0.5 (2012/06/08)

  • mudfish
    • 어떠한 이유로 미꾸라지 중계 서버로 TCP 연결시 실패하게 되면 프로그램이 죽는 문제를 해결하였습니다.
    • DHCP 의 Default Router Metric Base 옵션을 지원하도록 하였습니다. 즉 어떠한 이유로 네트워크 장치의 default metric 이 기존 다른 장치의 metric 보다 높도록 유도합니다.
    • ODR_writev() 에서 WriteFile() 함수를 호출할 때 ERROR_IO_PENDING 리턴값이 올 경우, 이를 제대로 처리하도록 하였습니다.
  • mudrun
    • 라우팅을 세팅한 항목에 대해서는 현재 네트웍 상태를 보여주지 않는 문제를 해결하였습니다. 상태 -> 라우팅 테이블, 혹은 설정 -> 라우팅 테이블로 이동시 RTT Graph 가 나오게 됩니다.
    • 오류 메세지 출력시 함수의 라인 번호가 제대로 출력되지 않는 문제를 해결하였습니다.
    • 새로운 패키지가 이용 가능할 경우 로그인 시 메세지를 출력하도록 합니다.
    • mudrun 자체가 문제가 되어 crash 될 경우, 최대한 crash 메세지를 미꾸라지 중앙 서버로 전달하도록 하였습니다.

v2.0.4 (2012/06/05)

  • mudfish
    • 가상 re(4) 장치가 패킷을 읽을 때 TCP 연결이 어떠한 이유로 끊어질 경우, 재접속 하도록 수정되었습니다.
    • CLI 인터페이스에서 ping 127.0.0.1 할 경우, 프로그램이 죽는 문제를 해결하였습니다.
    • 라우팅 테이블 관련 루틴에서 빠져 있던 함수를 넣었습니다.
    • IP output 루틴 중 구현되지 않았던 ip_fragment() 함수가 추가되었습니다. 어떠한 이유로 IP fragment 을 해야 할 때 제대로 처리 되도록 하였습니다.
    • ODR_read() 함수가 호출될 때 GetOverlappedResult() 함수가 예기치 못한 오류값을 리턴할 경우 프로그램이 죽는 문제를 해결하였습니다. 죽는 대신 오류 메세지를 stdout 에 출력하도록 하였습니다.
  • mudflow
    • 잘못된 옵션이 올 경우, 도움말을 제대로 출력하도록 하였습니다.
    • 만약 예기치 못한 이유로 프로그램이 죽을 경우, 해당 리포팅 정보를 자동으로 중앙 서버로 전송하도록 하였습니다.
  • mudrun
    • .ipport 의 파일이 제대로 디스크에 저장이 되지 않아 프로그램 실행이 제대로 되지 않던 문제를 해결하였습니다.
    • 많은 부분의 예외 사항들을 체크하도록 하였습니다. 기존에는 프로그램 자체를 죽였지만 지금은 에러 핸들링을 하도록 수정되었습니다.
    • mudfish.exe 와 mudflow.exe 가 죽는 경우 이를 중앙 서버로 전송할 수 있도록 코드가 수정되었습니다.
    • 오류 출력시 해당 함수와 라인을 함께 출력하도록 하였습니다.

v2.0.3 (2012/06/04)

  • mudfish
    • 만약 프로그램이 예기치 못한 이유로 crash 가 되었을 때, 사용자 ID 와 프로그램 type (32 비트용인지, 64 비트용인지) 정보가 같이 전달되도록 하였습니다.
    • msk(4) 가상 디바이스에서 오류가 났을 경우, 프로그램이 죽지 않도록 하였습니다.
    • TCP 연결을 통해 미꾸라지를 사용할 경우, re(4) 디바이스 내에서 재연결시 race condition 을 제거하였습니다.
    • 각 가상 디바이스들의 인터페이스 MTU 을 기존 1500 에서 1450 이로 감소시켰습니다. 이는 예기치 못한 packet loss 을 제거하기 위해서 입니다.
    • TAP-Win32 드라이버를 찾지 못할 경우, 프로그램이 죽지 않도록 하였습니다.
    • 윈도우즈의 라우팅 테이블을 세팅하지 못하였을 경우, 잘못된 오류 메세지가 출력되는 것을 수정하였습니다.
    • 라우팅 경로 string 을 파싱하는 부분에서 crash 나는 문제를 해결하였습니다.
  • mudrun
    • 툴팁 문자열이 변경되었습니다.

v2.0.2 (2012/06/01)

  • mudflow 프로그램에 debugging 위한 정보가 들어가 있어서 미꾸라지 중계 노드가 제대로 세팅되지 않는 문제가 있었습니다.
  • mudrun 이 서버 프로그램과 통신을 할 때 문제가 있을 경우 crash 되는 문제를 해결하였습니다.
  • mudrun 이 처음 실행될 때 뜨는 PoP Up 창의 문자열을 수정하였습니다.
  • 홈페이지의 깨진 링크 및 잘못된 메세지들이 수정되었습니다.

v2.0.1 (2012/05/29)

  • 기존 v1 기반의 코드에서 v2 코드 기반으로 이전하였습니다.