diff options
Diffstat (limited to 'framework/src/audit/bindings/golang')
-rw-r--r-- | framework/src/audit/bindings/golang/Makefile.am | 45 | ||||
-rw-r--r-- | framework/src/audit/bindings/golang/audit.go | 72 | ||||
-rw-r--r-- | framework/src/audit/bindings/golang/test.go | 18 |
3 files changed, 0 insertions, 135 deletions
diff --git a/framework/src/audit/bindings/golang/Makefile.am b/framework/src/audit/bindings/golang/Makefile.am deleted file mode 100644 index 4332b8cb..00000000 --- a/framework/src/audit/bindings/golang/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -# Makefile.am -- -# Copyright 2014 Red Hat Inc., Durham, North Carolina. -# All Rights Reserved. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Authors: -# Steve Grubb <sgrubb@redhat.com> -# - -CONFIG_CLEAN_FILES = *.loT *.rej *.orig -EXTRA_DIST = audit.go - -LIBDIR = lib -GODIR = $(LIBDIR)/golang/src/pkg/redhat.com/audit -dist_check_SCRIPTS = test.go - -install: - [ -d $(DESTDIR)${prefix}/$(GODIR) ] || mkdir -p $(DESTDIR)${prefix}/$(GODIR) - install -m 644 ${top_srcdir}/bindings/golang/audit.go $(DESTDIR)${prefix}/$(GODIR) - -uninstall: - @rm -f $(DESTDIR)${prefix}/$(GODIR)/* - -check: - @mkdir audit - @cp ${top_srcdir}/bindings/golang/audit.go audit - @cp ${top_srcdir}/lib/libaudit.h audit - ## Disable for now. Golang doesn't allow overriding search - ## paths from the command line. - ##[ -f test.go ] || cp ${top_srcdir}/bindings/golang/test.go . - ##PKG_CONFIG_PATH=${abs_top_builddir}/lib/:$(PKG_CONFIG_PATH) GOPATH=$(pwd) $(GOLANG) run test.go - @rm -rf audit diff --git a/framework/src/audit/bindings/golang/audit.go b/framework/src/audit/bindings/golang/audit.go deleted file mode 100644 index d060ddcb..00000000 --- a/framework/src/audit/bindings/golang/audit.go +++ /dev/null @@ -1,72 +0,0 @@ -package audit - -/* - The audit package is a go bindings to libaudit that only allows for - logging audit events. - - Author Steve Grubb <sgrubb@redhat.com> - -*/ - -// #cgo pkg-config: audit -// #include "libaudit.h" -// #include <unistd.h> -// #include <stdlib.h> -// #include <string.h> -// #include <stdio.h> -import "C" - -import ( - "unsafe" -) - -const ( - AUDIT_VIRT_CONTROL = 2500 - AUDIT_VIRT_RESOURCE = 2501 - AUDIT_VIRT_MACHINE_ID = 2502 -) - -// type=VIRT_CONTROL msg=audit(08/05/2014 17:01:05.891:6471) : pid=1265 uid=root auid=unset ses=unset subj=system_u:system_r:virtd_t:s0-s0:c0.c1023 msg='virt=kvm op=start reason=booted vm=vm1 uuid=462dcd6d-fb68-4a26-a96f-56eb024515b9 vm-pid=22527 exe=/usr/sbin/libvirtd hostname=? addr=? terminal=? res=success' - -func AuditValueNeedsEncoding(str string) bool { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - len := C.strlen(cstr) - - res, _ := C.audit_value_needs_encoding(cstr, C.uint(len)) - if res != 0 { - return true - } - return false -} - -func AuditEncodeNVString(name string, value string) string { - cname := C.CString(name) - cval := C.CString(value) - - cres := C.audit_encode_nv_string(cname, cval, 0) - - C.free(unsafe.Pointer(cname)) - C.free(unsafe.Pointer(cval)) - defer C.free(unsafe.Pointer(cres)) - - return C.GoString(cres) -} - -func AuditLogUserEvent(event_type int, message string, result bool) error { - var r int - fd := C.audit_open() - if result { - r = 1 - } else { - r = 0 - } - if fd > 0 { - cmsg := C.CString(message) - _, err := C.audit_log_user_message(fd, C.int(event_type), cmsg, nil, nil, nil, C.int(r)) - C.free(unsafe.Pointer(cmsg)) - C.close(fd) - return err - } - return nil -} diff --git a/framework/src/audit/bindings/golang/test.go b/framework/src/audit/bindings/golang/test.go deleted file mode 100644 index 7d9ab7ee..00000000 --- a/framework/src/audit/bindings/golang/test.go +++ /dev/null @@ -1,18 +0,0 @@ -package main - -import ( - "./audit" - "fmt" -) - -func main() { - if audit.AuditValueNeedsEncoding("test") { - fmt.Printf("Failed test 1\n") - return - } - if !audit.AuditValueNeedsEncoding("test test") { - fmt.Printf("Failed test 2\n") - return - } - fmt.Printf("Success\n") -} |