zjw57

zjw57

不忘初心,方得始终!

Member Since 3 years ago

kunming

Experience Points
20
follower
Lessons Completed
45
follow
Lessons Completed
4.2k
stars
Best Reply Awards
47
repos

21 contributions in the last year

Pinned
⚡ A keygen for MobaXterm
⚡ Personal dot-files backup
⚡ 一些经典且高质量的电子书分享
⚡ V部落,Vue+SpringBoot实现的多用户博客管理平台!
⚡ A cross-platform shadowsocks GUI client
⚡ If you want to keep a secret, you must also hide it from yourself.
Activity
Nov
30
1 day ago
started
started time in 11 hours ago
started
started time in 11 hours ago
started
started time in 11 hours ago
started
started time in 19 hours ago
started
started time in 19 hours ago
started
started time in 19 hours ago
Nov
29
2 days ago
started
started time in 1 day ago
Nov
28
3 days ago
started
started time in 2 days ago
started
started time in 2 days ago
started
started time in 2 days ago
started
started time in 2 days ago
started
started time in 2 days ago
Nov
27
4 days ago
started
started time in 3 days ago
Nov
26
5 days ago
started
started time in 4 days ago
started
started time in 4 days ago
push

zjw57 push zjw57/Ventoy

zjw57
zjw57

add Hungarian (translated by Bitfarago)

zjw57
zjw57
zjw57
zjw57

Rename GPLv3 to LICENSE (#192)

This should allow Github to autodetect the license type and show it in the header, and also index it for project search by license.

zjw57
zjw57

Add Serbian language (#191)

Added Serbian translation, both latin and cyrilic.

zjw57
zjw57

Fix iPXE '-Werror=zero-length-bounds' (#202)

zjw57
zjw57

Add Occitan language (#212)

  • Add Occitan language

  • Update languages.ini

zjw57
zjw57
zjw57
zjw57

add docker automated build environment (#235)

  • doc: remove broken link

  • add docker build environment

zjw57
zjw57

fix bug when update Ventoy in some Linux distros.

zjw57
zjw57
zjw57
zjw57
zjw57
zjw57

commit sha: 9eeb94e8b531278e0769618d57d5d4538a2fabb4

push time in 4 days ago
push

zjw57 push zjw57/interview

zjw57
zjw57

Converting BS in Standard Form

zjw57
zjw57

Merge pull request #50 from shoaibrayeen/patch-1

Converting BS in Standard Form

zjw57
zjw57

Change Iterative Function - Merge Print and Iterative function

zjw57
zjw57

Update pack.cpp

Your PR can't be compiled, I modified some code.

  1. Added the definition of T
  2. Added delete heap variables
  3. packIterative and printT separate two functions to uncouple code
zjw57
zjw57

Merge pull request #51 from shoaibrayeen/patch-2

Change Iterative Function - Merge Print and Iterative function

zjw57
zjw57

C++ 设计模式网址更新

原来的CSDN专栏 . C++ 设计模式 https://blog.csdn.net/column/details/15392.html 不见了,请问是移到 https://blog.csdn.net/liang19890820/article/details/66974516了吗

zjw57
zjw57

Merge pull request #52 from jokerkeny/patch-1

C++ 设计模式网址更新

zjw57
zjw57
zjw57
zjw57
zjw57
zjw57

Update README.md

将"套接字(Socket):可用于不同及其间的进程通信" 改为 "套接字(Socket):可用于不同计算机间的进程通信".

zjw57
zjw57

Merge pull request #55 from JameyWoo/master

Update README.md

commit sha: d147baea68e90a6b3a8e53420e996f31c1e88a16

push time in 4 days ago
push

zjw57 push zjw57/awesome-cpp

zjw57
zjw57

Merge pull request #873 from rikyoz/patch-1

Add bit7z library

zjw57
zjw57

update repo url after juCi++ was moved to gitlab

zjw57
zjw57

Merge pull request #874 from zalox/master

Update repo url after juCi++ was moved to gitlab

zjw57
zjw57

Reflection: Add magic_get (fix #877)

zjw57
zjw57
zjw57
zjw57

Merge pull request #881 from skywind3000/master

Add: KCP - a fast and reliable ARQ protocol

zjw57
zjw57

remove duplicate libhydrogen

zjw57
zjw57

Merge pull request #882 from byronhe/patch-1

remove duplicate libhydrogen

zjw57
zjw57

Coding Style Tools: Add EditorConfig (fix #828), Prettier

zjw57
zjw57

Coding Style Tools: Remove Prettier

zjw57
zjw57

Audio: Add libsoundio (fix #883)

zjw57
zjw57

Serialization: Add Boost Serialization

zjw57
zjw57

Merge pull request #892 from wanglun/add_boost_serialization

Serialization: Add Boost Serialization

zjw57
zjw57

Update contributors guidelines

commit sha: 2fed92742ea1751a3cf9cd4b6fea6067c300279b

push time in 4 days ago
push

zjw57 push zjw57/redis

zjw57
zjw57

Add Module API for version and compatibility checks (#7865)

  • Introduce a new API's: RM_GetContextFlagsAll, and RM_GetKeyspaceNotificationFlagsAll that will return the full flags mask of each feature. The module writer can check base on this value if the Flags he needs are supported or not.

  • For each flag, introduce a new value on redismodule.h, this value represents the LAST value and should be there as a reminder to update it when a new value is added, also it will be used in the code to calculate the full flags mask (assuming flags are incrementally increasing). In addition, stated that the module writer should not use the LAST flag directly and he should use the GetFlagAll API's.

  • Introduce a new API: RM_IsSubEventSupported, that returns for a given event and subevent, whether or not the subevent supported.

  • Introduce a new macro RMAPI_FUNC_SUPPORTED(func) that returns whether or not a function API is supported by comparing it to NULL.

  • Introduce a new API: int RM_GetServerVersion();, that will return the current Redis version in the format 0x00MMmmpp; e.g. 0x00060008;

  • Changed unstable version from 999.999.999 to 255.255.255

Co-authored-by: Oran Agra [email protected] Co-authored-by: Yossi Gottlieb [email protected]

zjw57
zjw57

Modules: fix RM_GetCommandKeys API. (#7901)

This cleans up and simplifies the API by passing the command name as the first argument. Previously the command name was specified explicitly, but was still included in the argv.

zjw57
zjw57

Support redis-cli -u rediss://... (#7900)

zjw57
zjw57

Minor improvements to module blocked on keys (#7903)

  • Clarify some documentation comments
  • Make sure blocked-on-keys client privdata is accessible from withing the timeout callback
  • Handle blocked clients in beforeSleep - In case a key becomes "ready" outside of processCommand

See #7879 #7880

zjw57
zjw57

Remove temporary aof and rdb files in a background thread (#7905)

If we fail or stop to rewrite aof, we need to remove temporary aof. We also remove temporary rdb when replicas abort to receive rdb. But currently we delete them in main thread, to avoid blocking, we should use bg_unlink to remove them in a background thread.

Btw, we have already used this way to removed child process temporary rdb.

zjw57
zjw57

Delete dbExists() which is redundant. (#7906)

zjw57
zjw57

Fix printf format specifier for unsigned in ziplistRepr (#7907)

Only used by DEBUG and testing code.

Signed-off-by: Hanif Bin Ariffin [email protected]

zjw57
zjw57

performEvictions: mem_freed may be negative (#7908)

If 'delta' is negative 'mem_freed' may underflow and cause the while loop to exit prematurely (And not evicting enough memory)

mem_freed can be negative when:

  1. We use lazy free (consuming memory by appending to a list)
  2. Thread doing an allocation between the two calls to zmalloc_used_memory.
zjw57
zjw57

Allow requirepass config to clear the password (#7899)

This is a compatibility issue with redis 5.0 that was introduced by ACL. Before this commit, setting requirepass to an empty string will result in a server that needs an empty AUTH, unlike redis 5.0 which would accept connections without an AUTH.

zjw57
zjw57

t_set.c comment update for srandmemberWithCountCommand (#7922)

Reference the correct "case", case 4, in the comment explaining the need for case 3, when the number of request items is too close to the cardinality of the set. Case 4 is indeed the "natural approach" referenced earlier in that sentence.

zjw57
zjw57

support NOMKSTREAM option in xadd command (#7910)

introduces a NOMKSTREAM option for xadd command, this would be useful for some use cases when we do not want to create new stream by default:

XADD key [MAXLEN [~|=] ] [NOMKSTREAM] <ID or *> [field value] [field value]

zjw57
zjw57

Fix tests failure on busybox systems. (#7916)

zjw57
zjw57

INFO report peak memory before eviction (#7894)

In some cases one command added a very big bulk of memory, and this would be "resolved" by the eviction before the next command.

Seeing an unexplained mass eviction we would wish to know the highest momentary usage too.

Tracking it in call() and beforeSleep() adds some hooks in AOF and RDB loading.

The fix in clientsCronTrackExpansiveClients is related to #7874

zjw57
zjw57

Support ACL for Sentinel Mode (#7888)

This commit implements ACL for Sentinel mode, main work of this PR includes:

  • Update Sentinel command table in order to better support ACLs.
  • Fix couple of things which currently blocks the support for ACL on sentinel mode.
  • Provide "sentinel sentinel-user" and "sentinel sentinel-pass " configuration in order to let sentinel authenticate with a specific user in other sentinels.
  • requirepass is kept just for compatibility with old config files

Co-authored-by: Oran Agra [email protected]

zjw57
zjw57

fix double fclose in aofrewrite (#7919)

minor fix for a bug which happen on error handling code and doesn't look like it could have caused any real harm (fd number wouldn't have been reused yet)

zjw57
zjw57
zjw57
zjw57

Fixed bug concerning redis-benchmark non clustered benchmark forcing always the same hash tag {tag} (#7931)

Adding the ":{tag}" only if --cluster is used, so that when used against a proxy it generates traffic to all shards.

Co-authored-by: Oran Agra [email protected]

zjw57
zjw57

Add a --no-latency tests flag. (#7939)

Useful for running tests on systems which may be way slower than usual.

zjw57
zjw57

improve verbose logging on failed test. print log file lines (#7938)

commit sha: fa48fb2d0f60f03bc325a23b6e88dd2043d27470

push time in 4 days ago
push

zjw57 push zjw57/wt

zjw57
zjw57
zjw57
zjw57

Bump Wt's C++ standard to 14 instead of 11

There is no compiler that at the same time has enough C++11 support for Wt but not enough C++14 support, so let's just target C++14.

I believe it should still be possible to use a compiler in C++11 mode with a Wt build that's built in C++14 mode?

zjw57
zjw57

Improve handling of bad websocket max window bits

Return error during websocket negotiation if a bad value for server_max_window_bits or client_max_window_bits is encountered.

Added error logging for failed per_message_deflate negotiation.

Using Wt::Utils::stoi instead of lexical_cast.

Co-authored-by: Bruce Toll [email protected]

zjw57
zjw57

Doxygen: enabled markdown support

Fixed whitespace issues in comments that caused line breaks with markdown support.

Changed not to not to put it in bold instead of italics (used to be just a literal not without markdown support enabled)

zjw57
zjw57

collection.h: added missing endcode, fixed spelling of guarantee

zjw57
zjw57

HTTP Client: don't wait for empty body

It would wait and timeout before, instead of just regarding the request as done.

zjw57
zjw57

Cleaning up Form.h header

zjw57
zjw57

Make dbo7_test1 work for MySQL

MySQL uses a long for its result type, not a double

zjw57
zjw57

Firebird backend marked as unmaintained.

zjw57
zjw57

Make addNew use addChild instead of addWidget for global widgets

WPopupWidget and such should not be added with addWidget to a container widget (except for the domroot), since they are global widgets. Instead of warning that this is something you're not allowed to do, let's just make it use addChild instead, and only transfer the ownership. That's likely what the user intends to do here. This would prevent issues like #7669.

zjw57
zjw57

Changed WFormModel to use string comparison instead of pointer comparison

It was a bad idea (probably an attempt at optimization) to use string literals and pointer comparison for fields. Ideally, the field would be identified by a std::string, but to avoid having to change the API while at the same time partially eliminating the issues caused by the pointer comparison, we'll just use strcmp.

zjw57
zjw57

Added Jenkinsfiles and Dockerfiles

These run on anything with the 'docker' label on Jenkins. This will make it use the new build machine. This machine has 16 GiB RAM, 4 cores + HT, so we'll use 5 threads.

On FreeBSD there is currently only one thread, but we can scale that up later.

Connection settings in DboFixture.h have been updated to match the ones used in db.Jenkinsfile, instead of using sed to replace them, which is what we used to do before.

zjw57
zjw57

Named Dbo test suites according to database backend

This makes the test results on Jenkins easier to understand

Right now you can't easily tell which test belongs to which backend, since they're named the same.

zjw57
zjw57

Disable dbo8_test1 for SQL Server, since it does not support restrict keyword

zjw57
zjw57

Added README for Jenkinsfiles and Dockerfiles

zjw57
zjw57

Documented minver Jenkinsfile/Dockerfile

zjw57
zjw57

Addressing issue #7749 and #6548

There appears to be no reason to reparse the request in requestDataReceived. We should have already parsed this.

wtwithqt: we need to wait for conditions in a loop and ignore wakeups.

zjw57
zjw57

currentServerDate/currentServerTime should use local time

Not UTC. This is also how it works for Wt 3.

zjw57
zjw57

Added missing WT_API to OAuthProcess and OAuthAccessToken

There would otherwise be linker errors if a user tries to implement a custom OAuthService.

zjw57
zjw57

Readded parsing in requestDataReceived, because we do need that

This partially reverts commit bac835fb6cbccf5b9e74d84d19259c2eabe90679

When handleRequest was not called yet, but requestDataReceived was, the handling of the resource progress would already rely on the parameters, e.g. to decide which session and resource the request belongs to.

commit sha: ab34cbe5d4e3cf6d98c841ef3c38ef1f8a338119

push time in 4 days ago
push

zjw57 push zjw57/nginx

zjw57
zjw57

Mail: proxy_smtp_auth directive.

The proxy_smtp_auth directive instructs nginx to authenticate users on backend via the AUTH command (using the PLAIN SASL mechanism), similar to what is normally done for IMAP and POP3.

If xclient is enabled along with proxy_smtp_auth, the XCLIENT command won't try to send the LOGIN parameter.

zjw57
zjw57

Limit req: unlocking of nodes on complex value errors.

Previously, if there were multiple limits configured, errors in ngx_http_complex_value() during processing of a non-first limit resulted in reference count leak in shared memory nodes of already processed limits. Fix is to explicity unlock relevant nodes, much like we do when rejecting requests.

zjw57
zjw57
zjw57
zjw57

Core: ngx_conf_set_keyval_slot() now accepts NGX_CONF_UNSET_PTR.

With this change, it is now possible to use ngx_conf_merge_ptr_value() to merge keyval arrays. This change actually follows much earlier changes in ngx_conf_merge_ptr_value() and ngx_conf_set_str_array_slot() in 1452:cd586e963db0 (0.6.10) and 1701:40d004d95d88 (0.6.22).

To preserve compatibility with existing 3rd party modules, both NULL and NGX_CONF_UNSET_PTR are accepted for now.

zjw57
zjw57

SSL: ssl_conf_command directive.

With the ssl_conf_command directive it is now possible to set arbitrary OpenSSL configuration parameters as long as nginx is compiled with OpenSSL 1.0.2 or later. Full list of available configuration commands can be found in the SSL_CONF_cmd manual page (https://www.openssl.org/docs/man1.1.1/man3/SSL_CONF_cmd.html).

In particular, this allows configuring PrioritizeChaCha option (ticket #1445):

ssl_conf_command Options PrioritizeChaCha;

It can be also used to configure TLSv1.3 ciphers in OpenSSL, which fails to configure them via the SSL_CTX_set_cipher_list() interface (ticket #1529):

ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;

Configuration commands are applied after nginx own configuration for SSL, so they can be used to override anything set by nginx. Note though that configuring OpenSSL directly with ssl_conf_command might result in a behaviour nginx does not expect, and should be done with care.

zjw57
zjw57

Upstream: proxy_ssl_conf_command and friends.

Similarly to ssl_conf_command, proxy_ssl_conf_command (grpc_ssl_conf_command, uwsgi_ssl_conf_command) can be used to set arbitrary OpenSSL configuration parameters as long as nginx is compiled with OpenSSL 1.0.2 or later, when connecting to upstream servers with SSL. Full list of available configuration commands can be found in the SSL_CONF_cmd manual page (https://www.openssl.org/docs/man1.1.1/man3/SSL_CONF_cmd.html).

zjw57
zjw57

Stream: proxy_ssl_conf_command directive.

Similarly to ssl_conf_command, proxy_ssl_conf_command can be used to set arbitrary OpenSSL configuration parameters as long as nginx is compiled with OpenSSL 1.0.2 or later, when connecting to upstream servers with SSL. Full list of available configuration commands can be found in the SSL_CONF_cmd manual page (https://www.openssl.org/docs/man1.1.1/man3/SSL_CONF_cmd.html).

zjw57
zjw57

SSL: ssl_reject_handshake directive (ticket #195).

In some cases it might be needed to reject SSL handshake based on SNI server name provided, for example, to make sure an invalid certificate is not returned to clients trying to contact a name-based virtual server without SSL configured. Previously, a "ssl_ciphers aNULL;" was used for this. This workaround, however, is not compatible with TLSv1.3, in particular, when using BoringSSL, where it is not possible to configure TLSv1.3 ciphers at all.

With this change, the ssl_reject_handshake directive is introduced, which instructs nginx to reject SSL handshakes with an "unrecognized_name" alert in a particular server block.

For example, to reject handshake with names other than example.com, one can use the following configuration:

server {
    listen 443 ssl;
    ssl_reject_handshake on;
}

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate example.com.crt;
    ssl_certificate_key example.com.key;
}

The following configuration can be used to reject all SSL handshakes without SNI server name provided:

server {
    listen 443 ssl;
    ssl_reject_handshake on;
}

server {
    listen 443 ssl;
    server_name ~^;
    ssl_certificate example.crt;
    ssl_certificate_key example.key;
}

Additionally, the ssl_reject_handshake directive makes configuring certificates for the default server block optional. If no certificates are configured in the default server for a given listening socket, certificates must be defined in all non-default server blocks with the listening socket in question.

zjw57
zjw57
zjw57
zjw57

Core: added format specifiers to output binary data as hex.

Now "s", "V", and "v" format specifiers may be prefixed with "x" (lowercase) or "X" (uppercase) to output corresponding data in hexadecimal format.

In collaboration with Maxim Dounin.

zjw57
zjw57

Removed dead code from ngx_http_set_keepalive().

The code removed became dead after 98f03cd8d6cc (0.8.14), circa when the request reference counting was introduced.

zjw57
zjw57

SSL: fixed non-working SSL shutdown on lingering close.

When doing lingering close, the socket was first shut down for writing, so SSL shutdown initiated after lingering close was not able to send the close_notify alerts (ticket #2056).

The fix is to call ngx_ssl_shutdown() before shutting down the socket.

zjw57
zjw57

Request body: improved logging.

Added logging before returning NGX_HTTP_INTERNAL_SERVER_ERROR if there are busy buffers after a request body flush. This should never happen with current code, though bugs can be introduced by 3rd party modules. Make sure debugging will be easy enough.

zjw57
zjw57

Request body: removed error assumption (ticket #2058).

Before introduction of request body filter in 42d9beeb22db, the only possible return code from the ngx_http_request_body_filter() call without actual buffers was NGX_HTTP_INTERNAL_SERVER_ERROR, and the code in ngx_http_read_client_request_body() hardcoded the only possible error to simplify the code of initial call to set rb->rest.

This is no longer true after introduction of request body filters though, as a request body filter might need to return other errors, such as 403. Fix is to preserve the error code actually returned by the call instead of assuming 500.

zjw57
zjw57

Configure: initialization of NGX_ADDON_SRCS.

zjw57
zjw57

Configure: shared sources for addon modules.

Addon modules, both dynamic and static, can now use shared source files. Shared sources result in only one make rule even if specified several times in different modules.

commit sha: 83e92a2edd6bf7c6867b653284ac44962c4e33c9

push time in 4 days ago
push

zjw57 push zjw57/cJSON

zjw57
zjw57

fix: windows build failure about defining nan

zjw57
zjw57

Merge pull request #518 from fpnuseis/master

fix: windows build failure about defining nan

zjw57
zjw57

fix a possible dereference of null pointer

zjw57
zjw57

Merge pull request #519 from Alanscut/issue-516

fix a possible dereference of null pointer

zjw57
zjw57

fix several null pointer problems on allocation failure (#526)

zjw57
zjw57

docs: fix simple typo, transfering -> transferring (#527)

There is a small typo in tests/readme_examples.c.

Should read transferring rather than transfering.

zjw57
zjw57

Fix null pointer crash, closes #536 (#538)

zjw57
zjw57

Remove always true condition in cJSON.c (#539)

zjw57
zjw57

Fix potential core dumped for strrchr (#546)

zjw57
zjw57
zjw57
zjw57

Typos found by codespell (#607)

zjw57
zjw57

fix: remove redundant condition (#605)

zjw57
zjw57

chore: update version and changelog (#610)

zjw57
zjw57

fix: potential memory leak in merge_patch() (#611)

zjw57
zjw57

fix: for issue #569, now use the guard to turn it off (#617)

zjw57
zjw57

fix: add cmake_policy to CMakeLists.txt (#613)

Use the cmake_policy() command to set CMP0054 to NEW explicitly.

zjw57
zjw57
zjw57
zjw57

build: Bump cmake version and use new version syntax (#587)

Co-authored-by: Alan Wang [email protected]

zjw57
zjw57

chore: ignore .lst/.lss file (#623)

commit sha: 203a0dec6ff06e3842fa23a1bc9825aecf56b381

push time in 4 days ago
push

zjw57 push zjw57/WxJava

zjw57
zjw57

:new: #2298【企业微信】增加服务商模式外部联系人unionid转换接口

zjw57
zjw57

:bug: #2284 【小程序】修复直播接口的type字段

zjw57
zjw57

:art: #2295 【企业微信】批量获取外部客户详情接口支持多个userId

zjw57
zjw57

:bookmark: 发布 4.1.8.B 测试版本

zjw57
zjw57

:new: #2305【公众号】微信事件消息类增加群发图文的url结果属性

zjw57
zjw57

:bug: #2301 【小程序】修复生成小程序码的okhttp与Jodd实现类当微信后端报错时不会抛异常的问题

zjw57
zjw57

:new: #2281【小程序】增加小程序加密网络通道支持

zjw57
zjw57

:new: #2306【微信小程序】增加小程序Short Link生成的接口

zjw57
zjw57

:art: #2311 【企业微信】企业微信打卡数据接口增加部分缺失字段

zjw57
zjw57

:art: 重构优化小程序Link相关接口

zjw57
zjw57

:art: 修改增加的字段对应的数据类型

zjw57
zjw57

:art: 修复已移除代码

zjw57
zjw57

:bookmark: 发布 4.1.9.B 测试版本

zjw57
zjw57

:bug: #2314 【企业微信】修复多个不同通知消息被误判为同一消息的问题

zjw57
zjw57

:art: 默认Apache http,排除jodd-http依赖

zjw57
zjw57

:art: 修复接口参数命名错误问题

zjw57
zjw57

:new: #2324【企业微信】添加对新的模版卡片消息的支持

zjw57
zjw57

:new:【企业微信】添加对新的模板卡片更新消息“更新点击用户的按钮点击文案消息”的支持

commit sha: 95d130d92790ed0f4dc6554d9f9193cbe54a5b51

push time in 4 days ago
started
started time in 4 days ago
started
started time in 4 days ago
started
started time in 4 days ago
started
started time in 4 days ago
started
started time in 4 days ago
started
started time in 4 days ago
Previous