[ Content | Sidebar ]

Archives for 十一月, 2010

openSSL好麻烦

http://www.cs.utah.edu/~swalton/listings/sockets/programs/

上面网址down了一个使用ssl的socket server例程,编译后执行发现报错

SSL_CTX_new:null ssl method passed

google找到原因:跟我的发行版有关。。

Note: in Ubuntu 10.10 and later this method cannot be used. The SSLv2
protocol is considered unsafe, and all attempts to use it will result
in the error “null ssl method passed”.

SSLv2_server_method 改成 SSLv3_server_method 后编译执行继续报错

SSL_CTX_new:library has no ciphers

继续google:需要调用库函数之前需要执行SSL_library_init();

重新编译,OK

———–
post by gmail~

接上一篇

有必要给blogo2加个追加功能。。可以直接把mail追加到最新一篇blog的后面
————————
gcc之预处理js和as,下面的makefile主要处理flash的两个版本,SSL版本要比普通版本大150K。。感谢gcc

FLAGS="-DDEBUG"
 
define make-all
	gcc $(FLAGS) $1 -E -x c src/swfsocket.js -o $2/swfsocket.js 
	gcc $(FLAGS) $1 -E -x c src/swf/SwfSocket.rel.as -o src/swf/SwfSocket.as
	sed -i "/^#/d" $2/swfsocket.js
	sed -i "/^#/d" src/swf/SwfSocket.as
	cd src/swf; \
	mxmlc -static-link-runtime-shared-libraries -output=./SwfSocket.swf SwfSocketMain.as
	mv src/swf/SwfSocket.swf $2 
endef
 
main:
	$(call make-all,,bin)
	$(call make-all,-DSSL,bin_ssl)
Copy Code 

———–
post by gmail~

gcc预处理用于其他语言也很好用啊

header.js

function SSL_socket()
{
    alert('SSL');
}
 
function socket()
{
    alert('normal');
}
Copy Code 

main.js

#include "header.js"
#ifdef _SSL
var socket = new SSL_socket();
#else
var socket = new socket();
#endif
Copy Code 
gcc -E -x c main.js
# 1 "main.js"
# 1 ""
# 1 ""
# 1 "main.js"
# 1 "header.js" 1
function SSL_socket()
{
    alert('SSL');
}

function socket()
{
    alert('normal');
}
# 2 "main.js" 2

var socket = new socket();
gcc -E -x c -D_SSL main.js
# 1 "main.js"
# 1 ""
# 1 ""
# 1 "main.js"
# 1 "header.js" 1
function SSL_socket()
{
    alert('SSL');
}

function socket()
{
    alert('normal');
}
# 2 "main.js" 2

var socket = new SSL_socket();

———–
post by gmail~

c arguments declare old style

看代码的时候看到这种类型声明

static void
add_shopt_to_alist (opt, on_or_off)
     char *opt;
     int on_or_off;
{
    // ...
}
Copy Code 

立刻被震住了,smth上发贴弱问了一下,两分钟内便有两个回复,说这是一种老式的语法,也不好厚脸皮追问,顿时想出一串关键瓷:

c arguments declare old style

———–
post by gmail~

扯淡专用

开了一个专门扯淡的地:blog.hua.lu,越来越有洁癖,好多东西都不想写道这个blog上来。。

———–
post by gmail~