添加OpenSSL库支持for WPA on RTEMS-libbsd
来源:互联网 发布:mac海洋亮白粉饼色号 编辑:程序博客网 时间:2024/06/04 18:36
WPA加密WiFi需要OpenSSL库的支持,因此我们需要从FreeBSD中import该库。RTEMS git 的master branch已经merge该部分的本人贡献的代码。可前往自行下载。
1. Add openssl lib files in libbsd.py
+# /crypto/openssl +# +def crypto_openssl(mm): + mod = builder.Module('crypto_openssl') + mod.addUserSpaceHeaderFiles( + [ + 'crypto/openssl/engines/e_cswift_err.h', + 'crypto/openssl/engines/e_aep_err.h', + 'crypto/openssl/engines/e_gmp_err.h', + 'crypto/openssl/engines/ccgost/gost2001_keyx.h', + 'crypto/openssl/engines/ccgost/e_gost_err.h', + 'crypto/openssl/engines/ccgost/gost_params.h', + 'crypto/openssl/engines/ccgost/gost_lcl.h', + 'crypto/openssl/engines/ccgost/gost89.h',......
由于OpenSSL库的源文件数量很大,就不一一列举了。
2.New rule for uncompiled file
there are some files which shouldn't be compiled. so for these files we need use a new rule.
+ mod.addFile(mm.generator['file']('crypto/openssl/crypto/LPdir_unix.c', + mm.generator['freebsd-path'](), + mm.generator['some-name-for-FromFreeBSDToRTEMSUserSpaceSourceConverter'](), + mm.generator['some-name-for-FromRTEMSToFreeBSDSourceConverter'](), + mm.generator['some-name-for-BuildSystemFragmentComposer']())) + mod.addFile(mm.generator['file']('crypto/openssl/crypto/ec/ecp_nistz256_table.c', + mm.generator['freebsd-path'](), + mm.generator['some-name-for-FromFreeBSDToRTEMSUserSpaceSourceConverter'](), + mm.generator['some-name-for-FromRTEMSToFreeBSDSourceConverter'](), + mm.generator['some-name-for-BuildSystemFragmentComposer']()))
3.Add the new rule in waf_generator.py
+ self.generator['some-name-for-FromFreeBSDToRTEMSUserSpaceSourceConverter'] = builder.FromFreeBSDToRTEMSUserSpaceSourceConverter + self.generator['some-name-for-FromRTEMSToFreeBSDSourceConverter'] = builder.FromRTEMSToFreeBSDSourceConverter + self.generator['some-name-for-BuildSystemFragmentComposer'] = builder.BuildSystemFragmentComposer
4.Add these files installed into a directory with a different name then it's source directory in builder.py.
+ ('freebsd/crypto/openssl', '*.h', 'openssl'), + ('freebsd/crypto/openssl/crypto', '*.h', 'openssl'), + ('freebsd/crypto/openssl/crypto', '(opensslconf|opensslv|crypto).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/aes', 'aes.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/err', 'err.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/bio', '*.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/dsa', '*.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/lhash', 'lhash.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/asn1', '(asn1|asn1t).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/x509', 'x509.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/bn', 'bn.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/camellia', 'camellia.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/cast', 'cast.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/objects', '(objects|obj_mac).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/conf', '(conf|conf_api).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/des', '(des|des_old).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ecdh', 'ecdh.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ecdsa', 'ecdsa.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/idea', 'idea.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/mdc2', 'mdc2.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/md4', 'md4.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/md5', 'md5.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/rc2', 'rc2.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/rc4', 'rc4.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ripemd', 'ripemd.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/seed', 'seed.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/sha', 'sha.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ui', '(ui_compat|ui).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/whrlpool', 'whrlpool.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/x509v3', 'x509v3.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/x509', 'x509_vfy.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/buffer', 'buffer.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/comp', 'comp.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/stack', '(stack|safestack).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/asn1', 'asn1_mac.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/pem', '(pem|pem2).h', 'openssl'), + ('freebsd/crypto/openssl/crypto/rsa', 'rsa.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/evp', 'evp.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ec', 'ec.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/engine', 'engine.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/pkcs7', 'pkcs7.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/hmac', 'hmac.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/pqueue', 'pqueue.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ocsp', 'ocsp.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/rand', 'rand.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/srp', 'srp.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/dh', 'dh.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/dso', 'dso.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/krb5', 'krb5_asn.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/cms', 'cms.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/txt_db', 'txt_db.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/ts', 'ts.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/modes', 'modes.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/pkcs12', 'pkcs12.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/bf', 'blowfish.h', 'openssl'), + ('freebsd/crypto/openssl/crypto/cmac', 'cmac.h', 'openssl'), + ('freebsd/crypto/openssl/ssl', '(ssl|kssl|ssl2).h', 'openssl'), + ('freebsd/crypto/openssl/ssl', '*.h', 'openssl'),
阅读全文
0 0
- 添加OpenSSL库支持for WPA on RTEMS-libbsd
- 添加WEP 加密WiFi支持 for RTEMS-libbsd on BBB BSP
- Port WPA supplicant to RTEMS-libbsd
- Add wpa_supplicant_fork command on RTEMS-libbsd
- RTEMS-libbsd实现FDT support for BBB
- Add Copy headers support for RTEMS-libbsd
- RTEMS-libbsd 解决无法使用中断问题
- RTEMS-libbsd 生成驱动设备firmware
- RTEMS-libbsd 实现beaglebone black USB驱动
- 基于ubuntu的rtems-libbsd编译运行beagleboneblack bsp
- linux xampp apache 添加openSSL支持
- 【转】在Debian 5.0 Lenny下为无线网卡添加WPA-PSK支持
- RTEMS yield_flash on MINI2440 QEMU
- Windows下编译OpenSSL for Ruby On Rails
- Windows下编译OpenSSL(添加Zlib支持)
- 不重新编译php添加对openssl的支持
- FreeRadius for WPA的安装
- Building the RTEMS toolset on Ubuntu 11.04
- Spring 4初识aop
- JDBC
- Codeforces Round #419 (Div. 2)Karen and Coffee
- mysql必知必会
- echarts-特殊需求
- 添加OpenSSL库支持for WPA on RTEMS-libbsd
- HTML:Advanced Web Construction
- Android进阶系列之2:HandlerThread详解
- 数据库范式、事务、锁学习
- 如何避免ASP.NET缓存占用资源?
- 竞赛 电子设计大赛 四轴无人机 建议
- RxJava 在Android开发上的应用
- CodeForces
- 如何测试登录界面