lograpi_UnregisterTargetType 函数取消注册之前使用日志路由后台进程注册的目标类型。
如果函数成功,则返回 0。 如果函数失败,则返回不带符号的整数错误代码,并根据以下值表向全局变量 errno 分配值:
返回值 |
ERRNO |
含义 |
---|---|---|
LOGRAPI_E_NULLPARM |
EINVAL |
代码参数为 NULL。 |
LOGRAPI_E_NODEST |
ENOENT |
没有此目标类型。 |
重要说明! 取消注册目标类型后,无法在当前会话期间再次进行注册。 但是,所有后续记录会好像成功发送给目标一样进行标记。 请勿取消注册目标类型,除非您确实不会再使用该目标类型。
int lograpi_UnregisterTargetType (const char *name);
name
要取消注册的目标类型的名称。
lograpi_MakeStringMessage 函数将审核日志记录转换为 seaudit 和 seauditx 实用程序使用的标准格式的单行文本字符串。‑
如果函数成功,则返回指向审核日志数据字符串的字符指针。 该字符串保留在静态内存区域中,在对函数进行后续调用时会将其覆盖。
如果函数失败,则返回 NULL。 有关详细信息,请检查 errno 的返回值。 将 NULL 指针作为输入参数传递时生成错误。 可能的错误为:
返回值 |
含义 |
---|---|
EINVA |
指针参数上的数据为 NULL。 |
char * lograpi_MakeStringMessage (LOGRECORD *plr, void *data);
指向审核日志记录结构的指针,传递给 LogrApiSendFunc 函数。
指向未压缩审核日志记录信息的指针,传递给 LogrApiSendFunc 函数。
LogrApiSenseFunc 是一种函数指针类型,指定在 selogrd 后台进程初始化并重新启动时,将调用的用户定义的 sense 函数。‑ 该 sense 函数确定(感应)配置文件路由条目是否有效。 sense 函数在每个配置文件行中测试目标字段条目的有效性。 例如,如果目标名称为用户 jsmith,则 LogrApiSenseFunc 应当检查实际上是否存在该名称用户。
如果函数成功,则应返回 0。 如果失败,则返回错误代码。
typedef int (*LogrApiSenseFunc) (SEOS_ROUTENTRY *pre);
用于检查有效性的配置文件条目。
LogrApiSendFunc 是一种函数指针类型,指定用户定义的 send 函数。‑ 如果找到匹配用户选择条件的审核日志记录,send 函数会将选定审核日志记录传输(发送)给用户指定的目标。‑
如果发送操作成功,函数应返回 0。 从不将成功发送的审核日志记录再次提交给 LogrApiSendFunc。
如果发送操作失败,CA ControlMinder 会向 syslog 文件输入错误通知,并返回非零整数作为错误标志。 可以重新提交同一审核日志记录,次数不限。
typedef int (*LogrApiSendFunc) (LOGRECORD *plr, SEOS_ROUTENTRY *pre, \ int notify, void *data);
审核日志说明文件。
有关审核日志记录的审核目标的信息。
指示该审核日志记录是否是通知记录的标志,如下所示:
审核日志记录是通知记录。
审核日志记录不是通知记录。
指向审核日志记录的指针。
LogrApiFreeFunc 是一种函数指针类型,指定用户定义的 free 函数。‑ selogrd 关闭或重新启动时,它会调用 free 函数,释放分配给之前注册的函数的内存。 SEOS_ROUTENTRY 结构的 SendData 成员用作目标已分配内存的占位符,如 FILE * 或 CLIENT *。 如果已注册函数未使用分配资源,指针可能为 NULL。
每次 seosd 切换日志文件时,selogrd 后台进程都会关闭并重新启动。 此情况经常发生,例如,日志文件超过指定的最大大小时。 请确保 free 函数可靠地释放所有已分配内存,否则可能会造成系统问题。
没有返回值。
如果不需要执行释放操作,请将该函数指针设置为 NULL。
typedef void (*LogrApiFreeFunc) (SEOS_ROUTENTRY *pre);
要释放或关闭的目标条目。
servlog_IsThereExit 函数测试是否为给定审核记录类型注册了 exit 函数。 每个审核记录都定义为一个特定记录类型,如登录、审核或常规资源。 rectype 的值在与 CA ControlMinder API 一起提供的标头文件 selogtype.h 中进行定义。 rectype 的格式为 AUDIT_rectype。
如果指定记录类型存在 exit 函数,则函数返回 1;否则,返回 0。
int servlog_IsThere Exit (int rectype);
是否为该特定代码表示的记录类型注册了 exit 函数?
在接收到特定审核记录类型时,servlog_RegisterExit 函数注册 selogrcd 后台进程将调用的 exit 函数。 CA ControlMinder 中的每个审核记录都标识为一个特定记录类型,如登录、审核或常规资源。 rectype 的值在与 CA ControlMinder API 一起提供的标头文件 selogtype.h 中进行定义。 rectype 的格式为 AUDIT_rectype。
可以为每个记录类型注册多个 exit 函数;CA ControlMinder 最多允许为每个记录类型注册 16 个 exit 函数。 注册函数时,将针对特定类型为其分配 exit 函数列表中的一个序号。
退出初始化期间应调用此函数以注册 exit 函数。 通常从 driver_Register 函数调用此函数。
如果函数成功,则返回 0;如果失败,则返回错误代码。
int servlog_RegisterExit (int rectype, collectexitf func, int *chain);
必须调用 exit 函数的记录类型的代码。
指向用户函数的指针,在接收到 rectype 审核记录时应该获得其控制权。
指定记录类型的 exit 函数链中的编号。
servlog_UnRegisterExit 函数取消注册之前通过调用 servlog_RegisterExit 注册的 exit 函数。 取消注册 exit 函数后,不能再调用该函数。
如果函数成功,则返回 0;如果失败,则返回错误代码。
int servlog_UnRegisterExit (int rectype, int *chain);
审核记录类型的代码。
要取消注册的 exit 函数的编号(在指定记录类型的 exit 函数链中的编号)。 在注册函数时,向其分配了该编号。
本部分介绍 LogRoute API 函数用于在函数以及 CA ControlMinder 后台进程(UNIX 中)和服务(Windows 中)之间来回传递信息的数据结构。 对每个数据结构的每个字段都进行了说明。
LogRoute API 函数访问两种类型的数据结构:审核日志记录结构和信息传递结构。‑
有八种类型的审核日志记录,每种类型都有其自己的结构格式。 可以在源文件 selogtype.h 中找到这些结构。 LogRoute API 中包含以下审核日志记录结构:
用于数据库更新事件
用于后台进程关闭事件
用于常规资源检查事件
用于 TCP/IP 请求事件
用于登录事件
用于后台进程启动事件
用于用户跟踪事件
用于 Watchdog 事件
LogRoute API 包括用于在 CA ControlMinder 后台进程与 LogRoute API 函数之间传递审核日志记录、配置文件信息和 LogRoute API 函数指针的数据结构。 本部分的下半部分提供用于在函数之间传递信息的四个数据结构的详细信息。 可以在源文件 lograpi.h 中找到这些结构。 这四个信息传递结构如下所示:‑
存储审核日志记录标头
存储审核日志记录数据
存储配置文件条目
包含 LogRoute API 实施函数
CA ControlMinder 允许您将通知信息作为与用户或资源记录关联的字符串存储在数据库中。 管理员可以指定每次尝试访问资源时要通知的邮件地址。 通知请求作为特殊审核日志记录存储在审核日志文件中。 selogrd 将通知请求路由到审核日志记录中指定的目标的邮件或屏幕地址。
给定事件的通知记录与该事件关联的标准审核日志记录相同,只是通知记录还将其目标存储在审核日志记录的开头。 通知记录的日志代码就是偏移的常规审核日志记录的日志代码,偏移量为 2048。 例如,正常的登录审核日志记录的日志类型代码为 1。 则通知日志类型代码为 2049。 请注意,审核日志记录可以显示在审核日志文件中,后接同一事件的通知记录。
通知记录结构名称以 SEOSNF_AUDIT 开头。 确切名称与匹配的审核日志记录名称相对应:
SEOS_AUDITADMIN
SEOS_AUDITDOWN
SEOS_AUDITGENR
SEOS_AUDITINWARN
SEOS_AUDITLOGIN
SEOS_AUDITSTART
SEOS_AUDITUSER
SEOS_AUDITWDWARN
在每个结构中,第一个字段都是 SEOS_NOTIFYSTR(最大 30 字节的缓冲区),用于保留从数据库调用的目标字符串。 第二个字段是对应于该通知记录的审核日志记录。
版权所有 © 2013 CA。
保留所有权利。
|
|