Commit Graph

76 Commits

Author SHA1 Message Date
QCQCQC@Opi5 fe264d5da0 fix: 更新文档 2025-12-13 21:34:16 +08:00
QCQCQC@Opi5 735ead43b5 feat: 协议消息类型改名,为以后更多服务器命令做预留 2025-12-13 18:42:33 +08:00
QCQCQC@Opi5 c05c02c098 fix: 修复了部分问题:
read_full 部分读取返回不当	中途连接关闭时返回 -1 并设置 errno = ECONNRESET,避免上层误用不完整数据
tcgetattr 重复调用	改为 struct termios raw = g_original_termios 复制结构体,移除冗余系统调用
g_termios_saved 设置时机	移到 tcsetattr 成功之后,确保只有真正修改终端后才标记
有符号/无符号比较警告	使用 (size_t)written != sizeof(header) 显式转换
鼠标跟踪部分写入未检查	添加 (size_t)written != len 检查
载荷大小无上限	添加 MAX_PAYLOAD_SIZE (64MB) 限制,防止恶意数据耗尽内存
write 返回 0 未处理	添加检查,视为 EIO 错误
free_message_payload 冗余检查	直接调用 free(payload),因为 free(NULL) 是安全的
DEBUG_LOG 格式不一致	统一移除末尾 \n(假设宏自动添加换行)
2025-12-13 17:30:08 +08:00
QCQCQC@Opi5 a1f79164b7 fix: 修复了部分问题:
信号处理器安全	移除了信号处理器中的 cleanup_terminal() 调用
线程取消安全	添加 pthread_cleanup_push/pop 确保终端恢复
Socket 竞态条件	添加 send_message_safe() 和 get_socket_fd() 辅助函数
资源泄漏	使用 goto cleanup 统一错误处理路径
poll 事件检查	添加 POLLERR/POLLHUP/POLLNVAL 检查
鼠标解析安全	添加临时缓冲区和数值范围验证
条件变量改进	支持 CLOCK_MONOTONIC
载荷验证	添加写入字节数验证
注释完善	添加详细的函数和模块文档
2025-12-13 17:27:05 +08:00
Pan Qiancheng 63b7398f56 feat: 优化窗口大小的上报机制,新增LZ4的压缩协议实现(不启用) 2025-12-13 12:42:54 +08:00
Pan Qiancheng 0b73d9917a fix: 添加更多debug日志,修复了无法恢复终端行为的bug 2025-12-12 23:34:57 +08:00
QCQCQC@Debian d27cbaa6e9 feat: 使用缓冲区优化,使用pipe优化窗口大小监听 2025-12-12 18:40:42 +08:00
QCQCQC@Debian 708549ddbd 实现socket自定义protocol,重构client 2025-12-12 15:40:52 +08:00
Pan Qiancheng 98c6bc299a feat: 发送terminal相关信息 2025-12-10 22:40:51 +08:00
Pan Qiancheng 5418ce4b38 feat: 清理不再需要的hook_write,新增交叉编译脚本 2025-12-09 20:08:15 +08:00
Pan Qiancheng dd7865e7f9 feat: 修改了so名称 2025-12-08 13:21:42 +08:00
Pan Qiancheng 71db510973 fix: 完善提示信息 2025-12-08 11:58:55 +08:00
QCQCQC@Opi5 8554382bbf feat: makefault_arm64 2025-12-07 23:57:40 +08:00
Pan Qiancheng 9c5207c59d fix: 修复了部分问题 2025-12-07 23:16:55 +08:00
Pan Qiancheng 21027a79be fix: 修复socket路径不一致,提供测试 2025-12-07 20:37:23 +08:00
Pan Qiancheng 8bcfa9e7cc feat: 简化socket发送逻辑 2025-12-07 20:09:22 +08:00
QCQCQC@Debian cf33cff0a5 fix: 修复LD_PRELOAD bash -c执行时无法回显的bug, 修复窗口大小改变时无法同步子进程的bug 2025-12-05 17:13:20 +08:00
QCQCQC@Debian 3be4ba6e4b fix: 修复部分编译问题 2025-12-05 10:10:13 +08:00
Pan Qiancheng 427d8f3e4e Merge branch 'master' of https://gitea.51mars.com/pqc/execve_hook 2025-04-28 10:44:13 +08:00
Pan Qiancheng ba8dad4a24 make 2025-04-28 10:43:08 +08:00
Pan Qiancheng dbccfb6a57 移动到etc 2025-04-25 16:49:19 +08:00
Pan Qiancheng 231c531553 编译 2025-04-25 16:29:11 +08:00
Pan Qiancheng e93eba1c0f 隐藏错误 2025-04-24 20:35:14 +08:00
Pan Qiancheng a0bbe0c5e6 修改了共享内存结构体定义 2025-04-24 18:18:48 +08:00
Pan Qiancheng 6042a767a3 修改了参数大小 2025-04-23 17:44:16 +08:00
Pan Qiancheng b8b38d9efe 打印错误换成debug_log 2025-04-16 11:28:48 +08:00
Pan Qiancheng e93e41ce83 execve在hook模式自动移除LD_PRELOAD环境变量,防止向下传递 2025-04-16 11:28:18 +08:00
Pan Qiancheng 9b7908b326 直接将流写出 2025-04-15 15:28:59 +08:00
Pan Qiancheng 605519fde0 修改了启动脚本,从欢迎信息由go程序打印 2025-04-13 17:00:17 +08:00
Pan Qiancheng 0d67b1acae 连接service进行报错信息上传,分离输出stderr和stdout 2025-04-12 19:35:11 +08:00
Pan Qiancheng e03d112d7a 格式化 2025-04-12 10:51:06 +08:00
Pan Qiancheng 0b5815897d 分离子终端的stdout和stderr 2025-04-12 10:47:15 +08:00
Pan Qiancheng 3f49fdedb1 只有任意规则匹配上了才会执行自定义的逻辑 2025-04-12 10:21:58 +08:00
Pan Qiancheng e9aa7a1e62 load_config 2025-04-10 13:31:56 +08:00
Pan Qiancheng 80199319f0 退出时不需要清理共享内存 2025-04-10 11:43:39 +08:00
Pan Qiancheng 9b53fcc68d 直接从共享内存导入,不去主动读取配置文件 2025-04-10 11:39:03 +08:00
Pan Qiancheng 9f49e166eb 清空log 2025-04-10 10:23:07 +08:00
Pan Qiancheng dc547d6da3 更完善的debug和write完善 2025-04-10 00:18:21 +08:00
Pan Qiancheng edd206a52f 支持pre_hook 2025-04-09 20:33:05 +08:00
Pan Qiancheng da1decb12c 清空日志 2025-04-09 20:17:41 +08:00
Pan Qiancheng 5777d12fa3 build 2025-04-09 18:56:01 +08:00
Pan Qiancheng c9a8526f14 测试脚本,cp配置文件 2025-04-09 17:56:34 +08:00
Pan Qiancheng a0592ddb9f 功能测试通过 2025-04-09 17:53:56 +08:00
Pan Qiancheng 0276822ab4 prod build 2025-04-08 20:33:19 +08:00
Pan Qiancheng 453dade65c fixed 2025-04-08 20:31:39 +08:00
Pan Qiancheng 61a42adb2e fixed 2025-04-08 20:29:35 +08:00
Pan Qiancheng eb6316e8ec fixed bug 2025-04-08 10:20:46 +08:00
Pan Qiancheng 8ae3dd720a 拆为多文件结构,规范目录结构 2025-04-08 10:17:53 +08:00
Pan Qiancheng f795943521 tests 2025-04-08 10:00:31 +08:00
Pan Qiancheng da26edc508 更加详细的debug信息 2025-04-07 19:20:44 +08:00