AdairXie Blog

坚持做对的事情,并把事情做对

OpenResty 中的 Atomicity & Lock

OR 中的原子性和锁

先来引用官方的描述: Atomicity is only guaranteed on the method call level. That is, “get” is atomic, “set” is atomic, but the calling sequence of “get” and “set” is not. If you want to lock a sequence o...

cosocket

cosocket 的 connect 是会有创建 sock 的行为的

TCP 协议是面向流的。面向流是指无保护消息边界的,如果发送端连续发送数据,接收端有可能在一次接收动作中会接收两个或者更多的数据包。 在传统的 socket 编程中 socket.socket() 会创建一个套接字(内核对象),本质就是一个 socket 文件句柄(套接字句柄),和普通的文件差不多。只有在调用 connect() 或 bind() 之后才会产生可以网络通讯的套接字(...

Lor 源码解析

lor 是一个基于 ngx_lua 的 MVC 框架,其 API 很类似于 Node 社区的著名框架 Express lor 代码结构如下: lor/ ├── index.lua ├── lib │ ├── application.lua │ ├── debug.lua │ ├── lor.lua │ ├── methods.lua │ ├── middleware ...

OpenResty Coroutine 的调度机制

在聊这个话题之前,我们需要明确的是 Nginx 的多进程单线程的进程模型。OpenResty 正是基于其 master → worker 模型,在 master fork 出 worker 时,将存在于 master 中的 lua vm 通过系统的 cow 机制传递到 worker 中。 注:既然是通过 fork 传递过去的,所以 init_by_lua 里面创建的 Lua 全局变量...

挖掘 iCloud 钓鱼站汇总

凡事留一线,日后好相见

首贴发布于 V站,前几日又在朋友圈儿看到被钓鱼,遂做下整理,望各位继续补充 www.my-appleid-iphone.com www.appleoue.com apple-ios9icloud.com apple.nunu520.com web.osepfy.loan locatemyidevice.net/ios.login/ 仿真度非常高,而且还会更新,...

luasocket getaddrinfo nil 问题

使用 luarocks 安装 luasocket,在调用 bind 时,报: socket.lua:29: attempt to call field ‘getaddrinfo’ (a nil value) 继续执行以下 lua 代码片段: Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio > > do >...

Linux kernel perf_events local root exploit

该提权漏洞是 Alibaba 的一位大牛于 2013-05-24 所发布,据说可以通杀 2.6.37 - 3.x 所有内核,我已确认受影响的系统:RHEL 6.4 x86_64 /* * Linux kernel perf_events local root exploit * * by wzt 2013 http://www.cloud-sec.org * * gcc -o...