'Dev./Sec. Study > Tools/Settings' 카테고리의 다른 글
MS Visual C++ 6에서 debug 중지 시, 프로세스 좀비되는 버그 (0) | 2014.11.10 |
---|---|
${HOME}/.emacs (0) | 2013.08.23 |
gVim .vimrc & Visual Studio (6/9) with gVim 및 단축키 설정 (0) | 2011.05.18 |
MS Visual C++ 6에서 debug 중지 시, 프로세스 좀비되는 버그 (0) | 2014.11.10 |
---|---|
${HOME}/.emacs (0) | 2013.08.23 |
gVim .vimrc & Visual Studio (6/9) with gVim 및 단축키 설정 (0) | 2011.05.18 |
Line Numbers add-in for Visual C++ 6 (0) | 2014.11.24 |
---|---|
${HOME}/.emacs (0) | 2013.08.23 |
gVim .vimrc & Visual Studio (6/9) with gVim 및 단축키 설정 (0) | 2011.05.18 |
뭐 큰건 아니고...
ubuntu 10.10 에서 package 설치 한 valgrind 3.6.0 에선 c++로 작성한 바이너리의 메모리 릭 체크를 못하더라
삭제하고 3.9.0 을 소스 컴파일 해서 설치했더니 잘되더라
끝.
The "goes toward" operator (0) | 2013.03.15 |
---|---|
CRC32 implementation from apple open source (0) | 2012.11.30 |
동생의 스네이크 게임 (0) | 2012.11.11 |
Struct Hack (0) | 2012.08.23 |
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
는 내꺼
Line Numbers add-in for Visual C++ 6 (0) | 2014.11.24 |
---|---|
MS Visual C++ 6에서 debug 중지 시, 프로세스 좀비되는 버그 (0) | 2014.11.10 |
gVim .vimrc & Visual Studio (6/9) with gVim 및 단축키 설정 (0) | 2011.05.18 |
void doStuff(int count) { while(count --> 0) fleh(); }
출처 : http://www.steike.com/code/useless/evil-c/
c++ / valgrind on linux (0) | 2014.02.06 |
---|---|
CRC32 implementation from apple open source (0) | 2012.11.30 |
동생의 스네이크 게임 (0) | 2012.11.11 |
Struct Hack (0) | 2012.08.23 |
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
HTML Color Code (0) | 2012.07.06 |
---|---|
HTTP Header ... (0) | 2012.06.07 |
[DHTML] Javascript ToolTip (0) | 2009.12.30 |
HTML 태그 코드 (TAG CODE) (0) | 2009.05.08 |
Hypertext Transfer Protocol (HTTP) Status Code Registry (0) | 2009.03.25 |
이거줴
http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/libkern/crc32.c
/*- * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or * code or tables extracted from it, as desired without restriction. * * First, the polynomial itself and its table of feedback terms. The * polynomial is * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 * * Note that we take it "backwards" and put the highest-order term in * the lowest-order bit. The X^32 term is "implied"; the LSB is the * X^31 term, etc. The X^0 term (usually shown as "+1") results in * the MSB being 1 * * Note that the usual hardware shift register implementation, which * is what we're using (we're merely optimizing it by doing eight-bit * chunks at a time) shifts bits into the lowest-order term. In our * implementation, that means shifting towards the right. Why do we * do it this way? Because the calculated CRC must be transmitted in * order from highest-order term to lowest-order term. UARTs transmit * characters in order from LSB to MSB. By storing the CRC this way * we hand it to the UART in the order low-byte to high-byte; the UART * sends each low-bit to hight-bit; and the result is transmission bit * by bit from highest- to lowest-order term without requiring any bit * shuffling on our part. Reception works similarly * * The feedback terms table consists of 256, 32-bit entries. Notes * * The table can be generated at runtime if desired; code to do so * is shown later. It might not be obvious, but the feedback * terms simply represent the results of eight shift/xor opera * tions for all combinations of data and CRC register values * * The values must be right-shifted by eight bits by the "updcrc * logic; the shift must be unsigned (bring in zeroes). On some * hardware you could probably optimize the shift in assembler by * using byte-swap instructions * polynomial $edb88320 * * * CRC32 code derived from work by Gary S. Brown. */ #include <sys/param.h> #include <sys/systm.h> static uint32_t crc32_tab[] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d }; uint32_t crc32(uint32_t crc, const void *buf, size_t size) { const uint8_t *p; p = buf; crc = crc ^ ~0U; while (size--) crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); return crc ^ ~0U; }
c++ / valgrind on linux (0) | 2014.02.06 |
---|---|
The "goes toward" operator (0) | 2013.03.15 |
동생의 스네이크 게임 (0) | 2012.11.11 |
Struct Hack (0) | 2012.08.23 |
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
The "goes toward" operator (0) | 2013.03.15 |
---|---|
CRC32 implementation from apple open source (0) | 2012.11.30 |
Struct Hack (0) | 2012.08.23 |
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
terms for programming (0) | 2011.12.22 |
손이 많이 가네요;
삽질 끝에 성공하고 정리하는 거라서,
마지막에 안될 수도 있지만.. 그쪽은 각자 센스로 커버합시다.
설정 파일들 건드리기 전에 준비부터 다 해봅시다.
1. apt 관리자를 이용해 필요한 패키지 설치
subversion python libapache2-svn libapache2-mod-python python-setuptools python-genshi python-sqlite
2. openssl로 인증서 만들기
<SSL 인증서 넣어둘 경로에서> # openssl req -new -x509 -nodes -out server.crt -keyout server.key
3. python easy_install을 이용해 필요한 모듈 설치
easy_install babel
easy_install Pygments
easy_install docutils
easy_install epydoc
easy_install textile
4. trac 및 trac plugin 설치
# trac 설치
svn co http://svn.edgewall.org/repos/trac/branches/0.12-stable trac
cd trac
./setup.py compile_catalog --use-fuzzy
./setup.py install
# trac plugin
# http://trac-hacks.org/wiki/HackIndex
# 들어가서 필요한 플러그인 받아서 설치
# 우선 주요 플러그인만..
# AccountManagerPlugin, SvnAuthzAdminPlugin, TracIniAdminPanelPlugin, PermRedirectPlugin
이제 필요한건 대충 설치 한 것 같으니, 설정하러 가봅니다.
1. 우선 apache2부터 합니다.
# /etc/apache2/sites-enabled 디렉터리에서
cp ../sites-available/default-ssl ./ssl
# /etc/apache2/sites-enabled/ssl 파일을 열어서
SSLCertificateFile <2번의 SSL 인증서 넣어둘 경로에서>/server.crt
SSLCertificateKeyFile <2번의 SSL 인증서 넣어둘 경로에서>/server.key
2. https를 위한 apache2 configuration
# /etc/apache2/sites-enabled/ssl 파일을 열어서 VirtualHost 를 *:443 으로 바꿔주고,
# 기본 root url로 접속할 디렉터리를 각자 맞게 지정해줍니다.
# (내비둬도 되고요. 바꾸시면 default http 도 바꿔주시는게 좋을 듯?)
# 그리고 전 제가 관리하는 디렉터리에서 직접 trac/svn 경로 설정 파일을 두려고 .vhost 라는 파일을 만들었어요.
# sites-enabled/ssl 파일에는 제일 밑에 아래처럼 해두었어요
include <VIRTUAL_HOST_PATH>/.vhost
# 이렇다 보니, apache2도 제 계정으로 동작하는게 편해서 데몬 계정을 제 계정으로 바꿨어요
# /etc/apache2/envvars에서 이렇게.
export APACHE_RUN_USER=<USERNAME>
export APACHE_RUN_GROUP=<GROUPNAME>
# ssl 설정이 끝났다면, apache2에 ssl 모듈을 enable 시켜줍니다.
sudo a2enmod ssl
# 참고로 작업이 끝난 후의 .vhost 파일 내용은 이래요.
<Location /trac>
SetHandler mod_python
SetEnv PYTHON_EGG_CACHE /home/repository/trac/.cache
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/repository/trac
PythonOption TracUriRoot /trac
</Location>
<Location /svn>
DAV svn
SVNParentPath /home/repository/svn
AuthType Basic
AuthName "cheroxy"
AuthUserFile /home/repository/.passwd
AuthzSVNAccessFile /home/repository/svn/authz
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
# <LimitExcept>는 권한이 필요 할 때만 인증하도록 해줍니다
# 계정 관리는 아래에서 따로 합니다.
# 만약 설치 후 첫 접속에서, 관리자 권한으로 trac에 접속하지 못하면,
# trac에서 http-basic-authentication 으로 접속하고 설정 후에 복구하시면 될거 같네요
이제 svn과 trac 설정을 해보죠
1. svn repository 및 trac 초기 설정
# 전 /home/repository 에 svn 디렉터리와 trac 디렉터리를 만들어 두고, 각각을 따로 작업했습니다.
# trac은 밑에 .cache 라는 캐시 디렉터리도 만들어줬고요.
# 설명을 위한 프로젝트 명은 cheroxy 예요 :)# subversion
# svn 명령어 뒤 쪽에 -m 옵션은 changeset 메시지니까 바꾸셔도 됩니다.
svnadmin create /home/repository/svn/cheroxy
svn mkdir file://localhost/home/repository/svn/cheroxy/branches -m "initial structure1"
svn mkdir file://localhost/home/repository/svn/cheroxy/tags -m "initial structure2"
svn mkdir file://localhost/home/repository/svn/cheroxy/trunk -m "initial structure3"
# trac 생성 및 관리자 권한 주기
trac-admin /home/repository/trac/cheroxy initenv
trac-admin /home/repository/trac/cheroxy permission add <USERNAME> TRAC_ADMIN
# 계정 파일 생성 해 줘야해요. 전 .passwd라는 파일로 만들었습니다
htpasswd -c .passwd <USERNAME>
# authz 파일도 만들어요
# 대문자로 된 것들이 직접 써주면 됩니다
# 그룹 지정도 가능하고 프로젝트 하위의 특정 경로에 권한을 주는 것도 가능해요
# 아래 예제는 프로젝트에 GROUP1은 읽기/쓰기, USER3은 읽기만, 그 이외에는 아무 권한도 없도록 설정한 것이에요
[groups]
GROUP1=USER1,USER2
[/]
*=
USER1=r
[PROJECT:/]
*=
@GROUP1=rw
USER3=r
...
2. trac 설정. <trac-project>/conf/trac.ini
# svn 경로 입력
# 보통 설치하면 다 연동되는 거 처럼 기재된 내용들이 많았는데, 전 안되서 한참 고민하다가 해결했네요.
# apache2 restart 하고 접속 했더니, 소스보기도 되고 잘되는거 같다 ! 하시면 안해도 될 듯.
# 이건 있는 내용이니 repository_dir 만 수정하시면 됩니다.
[trac]
...
authz_file = /home/repository/svn/authz
authz_module_name = cheroxy
...
repository_dir = /home/repository/svn/cheroxy
# tab-width 조정
# 있는거에서
[mimeviewer]
...
tab_width = 4
# trac 로그인 페이지 사용하기
# 없으면 추가하시면 되요.
[components]
trac.web.auth.loginmodule = disabled
# PermRedirectPlugin
# 없으면 추가하시면되요.
# 참고로 자동으로 설정되면 기본으론 이렇게 나옵니다.
# permredirect.filter.permredirectmodule = enabled
[components]
permredirect.* = enabled
# account-manager plugin
# 없으면 추가하시면 되요.
# password_store 설정 안했더니, trac에서 계정 조회 할 때 이런 오류가 나더라구요.
# This password store does not support listing users.
[account-manager]
...
password_file = /home/repository/.passwd
password_store = HtPasswdStore
Trouble-Shoot
# Unsupported version control system "svn"
# 이 처럼 나오는 경우, trac admin page 에서 SubversionConnector 를 enable 시키거나,
# trac.ini 에서 다음과 같이 입력합니다.
tracopt.versioncontrol.svn.svn_fs.subversionconnector = enabled
# 이랬는데 No module named 라는 오류가 뜬다면, 다음 패키지를 설치하세요
python-subversion
# python 에서 import svn 해보시고 오류 메시지가 안나타나면 되는 것 같네요.
# Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration
# 이렇게 나오면,
/etc/apache2/mods-available/authz_svn.load
# 이 아이를
/etc/apache2/mods-enabled/authz_svn.load
# 로 symbolic-link 해줍니다
기억을 더듬고 자료를 검색해 가면서 정리하면 이정도 인 것 같네요.
https://<domain>/trac
접속 해서 로그인하고 설정은 각자 알아서 해봅시다.
위 과정이 다 되면 이렇게 됩니다.
[SQLite3] improve performance for transaction (0) | 2012.06.13 |
---|---|
links for programming (0) | 2012.01.10 |
mysql에서 동일한 환경 및 encoding을 사용한 db 이전 시 한글 깨질 때 (0) | 2009.12.30 |
IPv6 정보 (0) | 2009.06.28 |
[펌] Visual C++ 6.0 에서 "열기" 시에 오류 (5) | 2009.04.07 |
출처 : http://www.geeksforgeeks.org/archives/22677
요는, length가 0인 array가 포함된 구조체의 메모리 사이즈를 크게 잡으면
멤버인 length 0짜리 array를 동적할당 하듯이 쓸 수 있다는 말인 듯.
구조체를 sizeof (struct __) 만큼이 아니라, 그 이상으로 원하는 만큼 더 잡아서
멤버 array 를 쓰겠다는건데..
array length 0 은 궁금했지만 해보진 않았는데, 이런 효과가 -ㅅ-;;
단순히 동적할당 할 뿐이지만, 잘 쓰면 괜찮은 방법일 듯.
C99 에 명시된 방법이라곤 하는데, 특정 플랫폼의 gcc가 아닌 컴파일러에서도 동작하느냐가 궁금하군요.
코드에 오류라던가 조금 보이는거 같지만, 알아서 걸러봐야겠네요.
Struct Hack
August 14, 2012
What will be the size of following structure?
struct employee
{
int emp_id;
int name_len;
char name[0];
};
4 + 4 + 0 = 8 bytes.
And what about size of “name[0]“. In gcc, when we create an array of zero length, it is considered as array of incomplete type that’s why gcc reports its size as “0″ bytes. This technique is known as “Stuct Hack”. When we create array of zero length inside structure, it must be (and only) last member of structure. Shortly we will see how to use it.
“Struct Hack” technique is used to create variable length member in a structure. In the above structure, string length of “name” is not fixed, so we can use “name” as variable length array.
Let us see below memory allocation.
struct employee *e = malloc(sizeof(*e) + sizeof(char) * 128);
is equivalent to
struct employee
{
int emp_id;
int name_len;
char name[128]; /* character array of size 128 */
};
And below memory allocation
struct employee *e = malloc(sizeof(*e) + sizeof(char) * 1024);
is equivalent to
struct employee
{
int emp_id;
int name_len;
char name[1024]; /* character array of size 1024 */
};
Note: since name is character array, in malloc instead of “sizeof(char) * 128″, we can use “128″ directly. sizeof is used to avoid confusion.
Now we can use “name” same as pointer. e.g.
e->emp_id = 100;
e->name_len = strlen("Geeks For Geeks");
strncpy(e->name, "Geeks For Geeks", e->name_len);
When we allocate memory as given above, compiler will allocate memory to store “emp_id” and “name_len” plus contiguous memory to store “name”. When we use this technique, gcc guaranties that, “name” will get contiguous memory.
Obviously there are other ways to solve problem, one is we can use character pointer. But there is no guarantee that character pointer will get contiguous memory, and we can take advantage of this contiguous memory. For example, by using this technique, we can allocate and deallocate memory by using single malloc and free call (because memory is contagious). Other advantage of this is, suppose if we want to write data, we can write whole data by using single “write()” call. e.g.
write(fd, e, sizeof(*e) + name_len); /* write emp_id + name_len + name */
If we use character pointer, then we need 2 write calls to write data. e.g.
write(fd, e, sizeof(*e)); /* write emp_id + name_len */
write(fd, e->name, e->name_len); /* write name */
Note: In C99, there is feature called “flexible array members”, which works same as “Struct Hack”
This article is compiled by Narendra Kangralkar. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
CRC32 implementation from apple open source (0) | 2012.11.30 |
---|---|
동생의 스네이크 게임 (0) | 2012.11.11 |
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
terms for programming (0) | 2011.12.22 |
C 함수의 호출 원리를 이용한 sprintf() 의 약식 구현 (0) | 2009.01.05 |
오늘은 고대에서 mdd와 volatility를 실습했서요 ^.^
memory dump를 이용한 분석 :)
http://sourceforge.net/projects/mdd
http://code.google.com/p/volatility/
끝.
ㅋㅋㅋㅋ
http://wargame.nuitduhack.com/prequals-nuitduhack-2011.php
에서 forensic 100과 300으로 실습했는데...
재밌네요 ㅋ_ㅋ
http://www.whatsmypass.com/ (0) | 2012.05.03 |
---|
IBM developerWorks - Ajax 마스터하기 (0) | 2012.12.27 |
---|---|
HTTP Header ... (0) | 2012.06.07 |
[DHTML] Javascript ToolTip (0) | 2009.12.30 |
HTML 태그 코드 (TAG CODE) (0) | 2009.05.08 |
Hypertext Transfer Protocol (HTTP) Status Code Registry (0) | 2009.03.25 |
database에 변화가 생기는 작업은 자동적으로 트랜잭션이 발생하며,
쿼리 수행 시에 트랜잭션이 시작 및 완료된답니다.
begin/commit 을 이용해 매뉴얼로 트랜잭션을 지정해주면,
그 안에서 일어났던 작업들을 commit 될 때 모두 적용 한다네요.
http://www.sqlite.org/lang_transaction.html
간단한 technical-article도 있었는데, 괜찮네요
http://stackoverflow.com/questions/1711631/how-do-i-improve-the-performance-of-sqlite
Subversion with HTTPS/Trac. on Ubuntu 12.04 LTS (0) | 2012.09.19 |
---|---|
links for programming (0) | 2012.01.10 |
mysql에서 동일한 환경 및 encoding을 사용한 db 이전 시 한글 깨질 때 (0) | 2009.12.30 |
IPv6 정보 (0) | 2009.06.28 |
[펌] Visual C++ 6.0 에서 "열기" 시에 오류 (5) | 2009.04.07 |
아 바보 ㅋㅋ
HTTP 데이터에서
HEADER/BODY 구분자가 CRLF 라는걸 이제 알았다니 ㅋㅋㅋ
burp suite로 실습하는데 payload 설정까지 하고 intruder 실행했는데 안되더라..
질문했더니,
"HTTP 헤더는 마지막에 줄내림이 하나 더 있어야 합니다 ^.^;;"
우왕...
그래서 구글신께 쿼링
1. http://regulation.tistory.com/30
2. http://nanstrong.tistory.com/22
특히, 2번은 이 외에도 좋은 글이 많이 보일 듯한 기대감 +_+;;
IBM developerWorks - Ajax 마스터하기 (0) | 2012.12.27 |
---|---|
HTML Color Code (0) | 2012.07.06 |
[DHTML] Javascript ToolTip (0) | 2009.12.30 |
HTML 태그 코드 (TAG CODE) (0) | 2009.05.08 |
Hypertext Transfer Protocol (HTTP) Status Code Registry (0) | 2009.03.25 |
http://www.whatsmypass.com/
옛날옛날 멋 모를 때 한 번 봤던 것 같은데,
지금보니 ㅋㅋ...
포렌식 도구 (Forensic Tools) {mdd, volatility} (0) | 2012.07.19 |
---|
동생의 스네이크 게임 (0) | 2012.11.11 |
---|---|
Struct Hack (0) | 2012.08.23 |
terms for programming (0) | 2011.12.22 |
C 함수의 호출 원리를 이용한 sprintf() 의 약식 구현 (0) | 2009.01.05 |
'작은아이'의 printf (4) | 2008.12.02 |
http://visualstudiogallery.msdn.microsoft.com/
http://www.computerhope.com/unix/uld.htm
Subversion with HTTPS/Trac. on Ubuntu 12.04 LTS (0) | 2012.09.19 |
---|---|
[SQLite3] improve performance for transaction (0) | 2012.06.13 |
mysql에서 동일한 환경 및 encoding을 사용한 db 이전 시 한글 깨질 때 (0) | 2009.12.30 |
IPv6 정보 (0) | 2009.06.28 |
[펌] Visual C++ 6.0 에서 "열기" 시에 오류 (5) | 2009.04.07 |
Struct Hack (0) | 2012.08.23 |
---|---|
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
C 함수의 호출 원리를 이용한 sprintf() 의 약식 구현 (0) | 2009.01.05 |
'작은아이'의 printf (4) | 2008.12.02 |
itoa() 구현 (2) | 2008.12.01 |
Visual Studio 2008 에서 함수 추가 등의 경우 브라우저 오류 뜰 때. (2) | 2009.05.16 |
---|---|
파전 프로젝트 (0) | 2007.11.29 |
Line Numbers add-in for Visual C++ 6 (0) | 2014.11.24 |
---|---|
MS Visual C++ 6에서 debug 중지 시, 프로세스 좀비되는 버그 (0) | 2014.11.10 |
${HOME}/.emacs (0) | 2013.08.23 |
HTML Color Code (0) | 2012.07.06 |
---|---|
HTTP Header ... (0) | 2012.06.07 |
HTML 태그 코드 (TAG CODE) (0) | 2009.05.08 |
Hypertext Transfer Protocol (HTTP) Status Code Registry (0) | 2009.03.25 |
웹 관리자를 위한 응급처치법-SQL Injection 해킹 보안 (1) | 2006.09.19 |
[SQLite3] improve performance for transaction (0) | 2012.06.13 |
---|---|
links for programming (0) | 2012.01.10 |
IPv6 정보 (0) | 2009.06.28 |
[펌] Visual C++ 6.0 에서 "열기" 시에 오류 (5) | 2009.04.07 |
특수문자 명칭. (2) | 2007.08.11 |
links for programming (0) | 2012.01.10 |
---|---|
mysql에서 동일한 환경 및 encoding을 사용한 db 이전 시 한글 깨질 때 (0) | 2009.12.30 |
[펌] Visual C++ 6.0 에서 "열기" 시에 오류 (5) | 2009.04.07 |
특수문자 명칭. (2) | 2007.08.11 |
mysql 명령어 (2) | 2007.07.09 |
WIN32API로 컨트롤 제어 (0) | 2011.06.03 |
---|---|
파전 프로젝트 (0) | 2007.11.29 |
HTML Color Code (0) | 2012.07.06 |
---|---|
HTTP Header ... (0) | 2012.06.07 |
[DHTML] Javascript ToolTip (0) | 2009.12.30 |
Hypertext Transfer Protocol (HTTP) Status Code Registry (0) | 2009.03.25 |
웹 관리자를 위한 응급처치법-SQL Injection 해킹 보안 (1) | 2006.09.19 |
mysql에서 동일한 환경 및 encoding을 사용한 db 이전 시 한글 깨질 때 (0) | 2009.12.30 |
---|---|
IPv6 정보 (0) | 2009.06.28 |
특수문자 명칭. (2) | 2007.08.11 |
mysql 명령어 (2) | 2007.07.09 |
IIS 윈도우 퍼미션 설정 (2) | 2006.11.10 |
This registry is also available in plain text.
Registry included below
IETF Consensus
1xx: Informational - Request received, continuing process 2xx: Success - The action was successfully received, understood, and accepted 3xx: Redirection - Further action must be taken in order to complete the request 4xx: Client Error - The request contains bad syntax or cannot be fulfilled 5xx: Server Error - The server failed to fulfill an apparently valid request
Value | Description | Reference |
---|---|---|
100 | Continue | [RFC2616] |
101 | Switching Protocols | [RFC2616] |
102 | Processing | [RFC2518] |
103-199 | Unassigned | |
200 | OK | [RFC2616] |
201 | Created | [RFC2616] |
202 | Accepted | [RFC2616] |
203 | Non-Authoritative Information | [RFC2616] |
204 | No Content | [RFC2616] |
205 | Reset Content | [RFC2616] |
206 | Partial Content | [RFC2616] |
207 | Multi-Status | [RFC4918] |
208 | Already Reported | [RFC5842] |
209-225 | Unassigned | |
226 | IM Used | [RFC3229] |
227-299 | Unassigned | |
300 | Multiple Choices | [RFC2616] |
301 | Moved Permanently | [RFC2616] |
302 | Found | [RFC2616] |
303 | See Other | [RFC2616] |
304 | Not Modified | [RFC2616] |
305 | Use Proxy | [RFC2616] |
306 | Reserved | [RFC2616] |
307 | Temporary Redirect | [RFC2616] |
308 | Permanent Redirect | [RFC-reschke-http-status-308-07] |
309-399 | Unassigned | |
400 | Bad Request | [RFC2616] |
401 | Unauthorized | [RFC2616] |
402 | Payment Required | [RFC2616] |
403 | Forbidden | [RFC2616] |
404 | Not Found | [RFC2616] |
405 | Method Not Allowed | [RFC2616] |
406 | Not Acceptable | [RFC2616] |
407 | Proxy Authentication Required | [RFC2616] |
408 | Request Timeout | [RFC2616] |
409 | Conflict | [RFC2616] |
410 | Gone | [RFC2616] |
411 | Length Required | [RFC2616] |
412 | Precondition Failed | [RFC2616] |
413 | Request Entity Too Large | [RFC2616] |
414 | Request-URI Too Long | [RFC2616] |
415 | Unsupported Media Type | [RFC2616] |
416 | Requested Range Not Satisfiable | [RFC2616] |
417 | Expectation Failed | [RFC2616] |
422 | Unprocessable Entity | [RFC4918] |
423 | Locked | [RFC4918] |
424 | Failed Dependency | [RFC4918] |
425 | Reserved for WebDAV advanced collections expired proposal | [RFC2817] |
426 | Upgrade Required | [RFC2817] |
427 | Unassigned | |
428 | Precondition Required | [RFC6585] |
429 | Too Many Requests | [RFC6585] |
430 | Unassigned | |
431 | Request Header Fields Too Large | [RFC6585] |
432-499 | Unassigned | |
500 | Internal Server Error | [RFC2616] |
501 | Not Implemented | [RFC2616] |
502 | Bad Gateway | [RFC2616] |
503 | Service Unavailable | [RFC2616] |
504 | Gateway Timeout | [RFC2616] |
505 | HTTP Version Not Supported | [RFC2616] |
506 | Variant Also Negotiates (Experimental) | [RFC2295] |
507 | Insufficient Storage | [RFC4918] |
508 | Loop Detected | [RFC5842] |
509 | Unassigned | |
510 | Not Extended | [RFC2774] |
511 | Network Authentication Required | [RFC6585] |
512-599 | Unassigned |
HTML Color Code (0) | 2012.07.06 |
---|---|
HTTP Header ... (0) | 2012.06.07 |
[DHTML] Javascript ToolTip (0) | 2009.12.30 |
HTML 태그 코드 (TAG CODE) (0) | 2009.05.08 |
웹 관리자를 위한 응급처치법-SQL Injection 해킹 보안 (1) | 2006.09.19 |
[펌][C++] new는 null을 return하는가? (0) | 2012.03.07 |
---|---|
terms for programming (0) | 2011.12.22 |
'작은아이'의 printf (4) | 2008.12.02 |
itoa() 구현 (2) | 2008.12.01 |
DES (2) | 2008.10.17 |
terms for programming (0) | 2011.12.22 |
---|---|
C 함수의 호출 원리를 이용한 sprintf() 의 약식 구현 (0) | 2009.01.05 |
itoa() 구현 (2) | 2008.12.01 |
DES (2) | 2008.10.17 |
안습의 교재용 삭제 ㄱ- (0) | 2006.12.04 |
C 함수의 호출 원리를 이용한 sprintf() 의 약식 구현 (0) | 2009.01.05 |
---|---|
'작은아이'의 printf (4) | 2008.12.02 |
DES (2) | 2008.10.17 |
안습의 교재용 삭제 ㄱ- (0) | 2006.12.04 |
binary_tree (0) | 2006.11.13 |