Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(feat) Add additional methods for crl ad csr modules #8

Closed
wants to merge 39 commits into from

Conversation

nasrullo
Copy link
Contributor

@nasrullo nasrullo commented Aug 6, 2020

  1. Adds get_extensions and get_extension to csr module
  2. Adds revoked module for adding revoked items
  3. Adds add_revoked method to crl module

@fffonion
Copy link
Owner

fffonion commented Aug 6, 2020

@nasrullo Thanks for the PR! The failure in CI is unrelated, I didn't pin the lua-nginx-module and it's crying. I'll go ahead with a review now and fix the CI later.

lib/resty/openssl/include/asn1.lua Outdated Show resolved Hide resolved
lib/resty/openssl/include/x509/crl.lua Outdated Show resolved Hide resolved
lib/resty/openssl/include/x509/csr.lua Outdated Show resolved Hide resolved
lib/resty/openssl/revoked.lua Outdated Show resolved Hide resolved
lib/resty/openssl/revoked.lua Outdated Show resolved Hide resolved
lib/resty/openssl/x509/csr.lua Show resolved Hide resolved
lib/resty/openssl/include/x509/crl.lua Outdated Show resolved Hide resolved
lib/resty/openssl/x509/crl.lua Outdated Show resolved Hide resolved
lib/resty/openssl/x509/csr.lua Outdated Show resolved Hide resolved
lib/resty/openssl/x509/csr.lua Outdated Show resolved Hide resolved
@fffonion fffonion added the enhancement New feature or request label Aug 6, 2020
@fffonion
Copy link
Owner

fffonion commented Aug 6, 2020

I've fixed the CI, please rebase to master when appropriate.

Copy link
Owner

@fffonion fffonion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is becoming in a good shape! I'd also humbly ask for some test on those new functions. For now each function with a happy path case will be good.

lib/resty/openssl/include/x509/name.lua Outdated Show resolved Hide resolved
lib/resty/openssl/x509/csr.lua Show resolved Hide resolved
lib/resty/openssl/revoked.lua Outdated Show resolved Hide resolved
lib/resty/openssl/revoked.lua Outdated Show resolved Hide resolved
t/openssl/x509/crl.t Outdated Show resolved Hide resolved
lib/resty/openssl/x509/revoked.lua Show resolved Hide resolved
lib/resty/openssl/x509/revoked.lua Show resolved Hide resolved
lib/resty/openssl/x509/csr.lua Outdated Show resolved Hide resolved
lua-resty-openssl-0.6.3-1.rockspec Outdated Show resolved Hide resolved
t/openssl/x509/csr.lua Outdated Show resolved Hide resolved
push(ret, obj)
end
end
return ret
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should return the stack itself rather than a table here. i just finished the extensions module today, will merge as is and update to use that later.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, Changed. I only need get_extension. BTW, Did you review new logic in get extension method? What do you think? I did not find any method to directly get single extension without getting all

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah i do have some investigation a while ago, the API for X509_REQ is bit different for others. But it should be fine, from I can see X509_REQ_get_extension returns a internal pointer and not duplicating the stack.

@nasrullo
Copy link
Contributor Author

nasrullo commented Aug 9, 2020 via email

@fffonion
Copy link
Owner

fffonion commented Aug 9, 2020

I'm going to do a manual rebase and merge with #9.

@nasrullo
Copy link
Contributor Author

nasrullo commented Aug 9, 2020 via email

@fffonion
Copy link
Owner

fffonion commented Aug 9, 2020

Manually merged in with #9

@fffonion fffonion closed this Aug 9, 2020
@fffonion
Copy link
Owner

fffonion commented Aug 9, 2020

@nasrullo I'll add you to credits tomorrow.

@nasrullo
Copy link
Contributor Author

nasrullo commented Aug 9, 2020 via email

@fffonion
Copy link
Owner

fffonion commented Aug 9, 2020

@nasrullo Sure, just published.

@nasrullo
Copy link
Contributor Author

nasrullo commented Aug 9, 2020 via email

@fffonion
Copy link
Owner

@nasrullo please open a new issue and don't reply in closed issue. This will help other people find answer easier.

zhuizhuhaomeng added a commit to zhuizhuhaomeng/lua-resty-openssl that referenced this pull request Jul 22, 2024
READ of size 4 at 0x60300004fba8 thread T0
    #0 0x7ffff6d96fb4 in BN_get_word crypto/bn/bn_lib.c:411
    fffonion#1 0x555555ca9d98  (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x755d98)
    fffonion#2 0x555555d7149f in lj_ccall_func /usr/src/debug/openresty-plus-1.19.9.1.65/build/LuaJIT-plus-2.1-20240710/src/lj_ccall.c:1402
    fffonion#3 0x555555ca35b7 in lj_cf_ffi_meta___call /usr/src/debug/openresty-plus-1.19.9.1.65/build/LuaJIT-plus-2.1-20240710/src/lib_ffi.c:230
    fffonion#4 0x555555ca7773  (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x753773)
    fffonion#5 0x55555599e140 in ngx_http_lua_run_thread ../ngx_lua-0.10.26.8/src/ngx_http_lua_util.c:1190
    fffonion#6 0x5555559a9d21 in ngx_http_lua_content_by_chunk ../ngx_lua-0.10.26.8/src/ngx_http_lua_contentby.c:124
    fffonion#7 0x55555575d41d in ngx_http_core_content_phase src/http/ngx_http_core_module.c:1269
    fffonion#8 0x555555748024 in ngx_http_core_run_phases src/http/ngx_http_core_module.c:885
    fffonion#9 0x55555577348d in ngx_http_process_request src/http/ngx_http_request.c:2130
    fffonion#10 0x5555557749a6 in ngx_http_process_request_headers src/http/ngx_http_request.c:1529
    fffonion#11 0x5555557758c4 in ngx_http_process_request_line src/http/ngx_http_request.c:1196
    fffonion#12 0x55555570fb1c in ngx_epoll_process_events src/event/modules/ngx_epoll_module.c:968
    fffonion#13 0x5555556e5706 in ngx_process_events_and_timers src/event/ngx_event.c:262
    fffonion#14 0x55555570b323 in ngx_single_process_cycle src/os/unix/ngx_process_cycle.c:338
    fffonion#15 0x555555660ef4 in main src/core/nginx.c:403
    fffonion#16 0x7ffff683feaf in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    fffonion#17 0x7ffff683ff5f in __libc_start_main_impl ../csu/libc-start.c:389
    fffonion#18 0x5555556648f4 in _start (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x1108f4)

0x60300004fba8 is located 8 bytes inside of 24-byte region [0x60300004fba0,0x60300004fbb8)
freed by thread T0 here:
    #0 0x7ffff74b46b7 in free (/lib64/libasan.so.6+0xb46b7)
    fffonion#1 0x7ffff6ea66e7 in CRYPTO_free crypto/mem.c:312
    fffonion#2 0x7ffff6d9810e in BN_free crypto/bn/bn_lib.c:231
    fffonion#3 0x555555ca9d98  (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x755d98)
    fffonion#4 0x555555d7149f in lj_ccall_func /usr/src/debug/openresty-plus-1.19.9.1.65/build/LuaJIT-plus-2.1-20240710/src/lj_ccall.c:1402
    fffonion#5 0x555555ca35b7 in lj_cf_ffi_meta___call /usr/src/debug/openresty-plus-1.19.9.1.65/build/LuaJIT-plus-2.1-20240710/src/lib_ffi.c:230
    fffonion#6 0x555555ca7773  (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x753773)

previously allocated by thread T0 here:
    #0 0x7ffff74b4a07 in __interceptor_malloc (/lib64/libasan.so.6+0xb4a07)
    fffonion#1 0x7ffff6ea66bc in CRYPTO_malloc crypto/mem.c:222
    fffonion#2 0x7ffff6ea6807 in CRYPTO_zalloc crypto/mem.c:230
    fffonion#3 0x7ffff6d96c15 in BN_new crypto/bn/bn_lib.c:246
    fffonion#4 0x555555ca9d98  (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x755d98)
    fffonion#5 0x555555d7149f in lj_ccall_func /usr/src/debug/openresty-plus-1.19.9.1.65/build/LuaJIT-plus-2.1-20240710/src/lj_ccall.c:1402
    fffonion#6 0x555555ca35b7 in lj_cf_ffi_meta___call /usr/src/debug/openresty-plus-1.19.9.1.65/build/LuaJIT-plus-2.1-20240710/src/lib_ffi.c:230
    fffonion#7 0x555555ca7773  (/usr/local/openresty-plus-asan/nginx/sbin/nginx+0x753773)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants