diff options
Diffstat (limited to 'contrib/openbsm/test')
60 files changed, 131 insertions, 7 deletions
diff --git a/contrib/openbsm/test/Makefile.in b/contrib/openbsm/test/Makefile.in index 9eb97fa..737f3b1e 100644 --- a/contrib/openbsm/test/Makefile.in +++ b/contrib/openbsm/test/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/test/Makefile.in#7 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ diff --git a/contrib/openbsm/test/bsm/Makefile.in b/contrib/openbsm/test/bsm/Makefile.in index 128b03d..aa06a80 100644 --- a/contrib/openbsm/test/bsm/Makefile.in +++ b/contrib/openbsm/test/bsm/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#6 $ +# $P4: //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#7 $ # VPATH = @srcdir@ diff --git a/contrib/openbsm/test/bsm/generate.c b/contrib/openbsm/test/bsm/generate.c index d066246..249e885 100644 --- a/contrib/openbsm/test/bsm/generate.c +++ b/contrib/openbsm/test/bsm/generate.c @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006-2007 Robert N. M. Watson + * Copyright (c) 2008 Apple Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#9 $ + * $P4: //depot/projects/trustedbsd/openbsm/test/bsm/generate.c#12 $ */ /* @@ -553,7 +554,7 @@ generate_process64ex_record(const char *directory, const char *record_filename, free(buf); } -static char return32_status = 0xd7; +static char return32_status = EINVAL; static uint32_t return32_ret = 0x12345678; static void @@ -561,7 +562,8 @@ generate_return32_token(const char *directory, const char *token_filename) { token_t *return32_token; - return32_token = au_to_return32(return32_status, return32_ret); + return32_token = au_to_return32(au_errno_to_bsm(return32_status), + return32_ret); if (return32_token == NULL) err(EX_UNAVAILABLE, "au_to_return32"); write_token(directory, token_filename, return32_token); @@ -572,7 +574,8 @@ generate_return32_record(const char *directory, const char *record_filename) { token_t *return32_token; - return32_token = au_to_return32(return32_status, return32_ret); + return32_token = au_to_return32(au_errno_to_bsm(return32_status), + return32_ret); if (return32_token == NULL) err(EX_UNAVAILABLE, "au_to_return32"); write_record(directory, record_filename, return32_token, AUE_NULL); @@ -913,6 +916,124 @@ generate_zonename_record(const char *directory, const char *record_filename) write_record(directory, record_filename, zonename_token, AUE_NULL); } +static u_short socketex_domain = AF_INET; +static u_short socketex_type = SOCK_STREAM; +static struct sockaddr_in socketex_laddr, socketex_raddr; + +static void +generate_socketex_token(const char *directory, const char *token_filename) +{ + token_t *socketex_token; + + bzero(&socketex_laddr, sizeof(socketex_laddr)); + socketex_laddr.sin_family = AF_INET; + socketex_laddr.sin_len = sizeof(socketex_laddr); + socketex_laddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + + bzero(&socketex_raddr, sizeof(socketex_raddr)); + socketex_raddr.sin_family = AF_INET; + socketex_raddr.sin_len = sizeof(socketex_raddr); + socketex_raddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + + socketex_token = au_to_socket_ex(socketex_domain, socketex_type, + (struct sockaddr *)&socketex_laddr, + (struct sockaddr *)&socketex_raddr); + if (socketex_token == NULL) + err(EX_UNAVAILABLE, "au_to_socket_ex"); + write_token(directory, token_filename, socketex_token); +} + +static void +generate_socketex_record(const char *directory, const char *record_filename) +{ + token_t *socketex_token; + + bzero(&socketex_laddr, sizeof(socketex_laddr)); + socketex_laddr.sin_family = AF_INET; + socketex_laddr.sin_len = sizeof(socketex_laddr); + socketex_laddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + + bzero(&socketex_raddr, sizeof(socketex_raddr)); + socketex_raddr.sin_family = AF_INET; + socketex_raddr.sin_len = sizeof(socketex_raddr); + socketex_raddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + + socketex_token = au_to_socket_ex(socketex_domain, socketex_type, + (struct sockaddr *)&socketex_laddr, + (struct sockaddr *)&socketex_raddr); + if (socketex_token == NULL) + err(EX_UNAVAILABLE, "au_to_socket_ex"); + write_record(directory, record_filename, socketex_token, AUE_NULL); +} + +/* + * Generate a series of error-number specific return tokens in records. + */ +static void +generate_error_record(const char *directory, const char *filename, int error) +{ + char pathname[PATH_MAX]; + token_t *return32_token; + + return32_token = au_to_return32(au_errno_to_bsm(error), -1); + if (return32_token == NULL) + err(EX_UNAVAILABLE, "au_to_return32"); + (void)snprintf(pathname, PATH_MAX, "%s_record", filename); + write_record(directory, pathname, return32_token, AUE_NULL); +} + +/* + * Not all the error numbers, just a few present on all platforms for now. + */ +const struct { + int error_number; + const char *error_name; +} error_list[] = { + { EPERM, "EPERM" }, + { ENOENT, "ENOENT" }, + { ESRCH, "ESRCH" }, + { EINTR, "EINTR" }, + { EIO, "EIO" }, + { ENXIO, "ENXIO" }, + { E2BIG, "E2BIG" }, + { ENOEXEC, "ENOEXEC" }, + { EBADF, "EBADF" }, + { ECHILD, "ECHILD" }, + { EDEADLK, "EDEADLK" }, + { ENOMEM, "ENOMEM" }, + { EACCES, "EACCES" }, + { EFAULT, "EFAULT" }, + { ENOTBLK, "ENOTBLK" }, + { EBUSY, "EBUSY" }, + { EEXIST, "EEXIST" }, + { EXDEV, "EXDEV" }, + { ENODEV, "ENODEV" }, + { ENOTDIR, "ENOTDIR" }, + { EISDIR, "EISDIR" }, + { EINVAL, "EINVAL" }, + { ENFILE, "ENFILE" }, + { EMFILE, "EMFILE" }, + { ENOTTY, "ENOTTY" }, + { ETXTBSY, "ETXTBSY" }, + { EFBIG, "EFBIG" }, + { ENOSPC, "ENOSPC" }, + { ESPIPE, "ESPIPE" }, + { EROFS, "EROFS" }, + { EMLINK, "EMLINK" }, + { EPIPE, "EPIPE" } +}; +const int error_list_count = sizeof(error_list)/sizeof(error_list[0]); + +static void +do_error_records(const char *directory) +{ + int i; + + for (i = 0; i < error_list_count; i++) + generate_error_record(directory, error_list[i].error_name, + error_list[i].error_number); +} + int main(int argc, char *argv[]) { @@ -980,6 +1101,7 @@ main(int argc, char *argv[]) generate_groups_token(directory, "groups_token"); generate_attr32_token(directory, "attr32_token"); generate_zonename_token(directory, "zonename_token"); + generate_socketex_token(directory, "socketex_token"); } if (do_records) { @@ -1015,6 +1137,8 @@ main(int argc, char *argv[]) generate_groups_record(directory, "groups_record"); generate_attr32_record(directory, "attr32_record"); generate_zonename_record(directory, "zonename_record"); + generate_socketex_record(directory, "socketex_record"); + do_error_records(directory); } return (0); diff --git a/contrib/openbsm/test/reference/E2BIG_record b/contrib/openbsm/test/reference/E2BIG_record Binary files differnew file mode 100644 index 0000000..d95b855 --- /dev/null +++ b/contrib/openbsm/test/reference/E2BIG_record diff --git a/contrib/openbsm/test/reference/EACCES_record b/contrib/openbsm/test/reference/EACCES_record Binary files differnew file mode 100644 index 0000000..6eecd6e --- /dev/null +++ b/contrib/openbsm/test/reference/EACCES_record diff --git a/contrib/openbsm/test/reference/EBADF_record b/contrib/openbsm/test/reference/EBADF_record Binary files differnew file mode 100644 index 0000000..d169ad2 --- /dev/null +++ b/contrib/openbsm/test/reference/EBADF_record diff --git a/contrib/openbsm/test/reference/EBUSY_record b/contrib/openbsm/test/reference/EBUSY_record Binary files differnew file mode 100644 index 0000000..6d3e896 --- /dev/null +++ b/contrib/openbsm/test/reference/EBUSY_record diff --git a/contrib/openbsm/test/reference/ECHILD_record b/contrib/openbsm/test/reference/ECHILD_record Binary files differnew file mode 100644 index 0000000..3beca2a --- /dev/null +++ b/contrib/openbsm/test/reference/ECHILD_record diff --git a/contrib/openbsm/test/reference/EDEADLK_record b/contrib/openbsm/test/reference/EDEADLK_record Binary files differnew file mode 100644 index 0000000..9d6a25b --- /dev/null +++ b/contrib/openbsm/test/reference/EDEADLK_record diff --git a/contrib/openbsm/test/reference/EEXIST_record b/contrib/openbsm/test/reference/EEXIST_record Binary files differnew file mode 100644 index 0000000..04dbf35 --- /dev/null +++ b/contrib/openbsm/test/reference/EEXIST_record diff --git a/contrib/openbsm/test/reference/EFAULT_record b/contrib/openbsm/test/reference/EFAULT_record Binary files differnew file mode 100644 index 0000000..1ed5078 --- /dev/null +++ b/contrib/openbsm/test/reference/EFAULT_record diff --git a/contrib/openbsm/test/reference/EFBIG_record b/contrib/openbsm/test/reference/EFBIG_record Binary files differnew file mode 100644 index 0000000..d0716ff --- /dev/null +++ b/contrib/openbsm/test/reference/EFBIG_record diff --git a/contrib/openbsm/test/reference/EINTR_record b/contrib/openbsm/test/reference/EINTR_record Binary files differnew file mode 100644 index 0000000..ab9da8e --- /dev/null +++ b/contrib/openbsm/test/reference/EINTR_record diff --git a/contrib/openbsm/test/reference/EINVAL_record b/contrib/openbsm/test/reference/EINVAL_record Binary files differnew file mode 100644 index 0000000..a658c62 --- /dev/null +++ b/contrib/openbsm/test/reference/EINVAL_record diff --git a/contrib/openbsm/test/reference/EIO_record b/contrib/openbsm/test/reference/EIO_record Binary files differnew file mode 100644 index 0000000..6752b71 --- /dev/null +++ b/contrib/openbsm/test/reference/EIO_record diff --git a/contrib/openbsm/test/reference/EISDIR_record b/contrib/openbsm/test/reference/EISDIR_record Binary files differnew file mode 100644 index 0000000..8cec4e1 --- /dev/null +++ b/contrib/openbsm/test/reference/EISDIR_record diff --git a/contrib/openbsm/test/reference/EMFILE_record b/contrib/openbsm/test/reference/EMFILE_record Binary files differnew file mode 100644 index 0000000..8bc30d8 --- /dev/null +++ b/contrib/openbsm/test/reference/EMFILE_record diff --git a/contrib/openbsm/test/reference/EMLINK_record b/contrib/openbsm/test/reference/EMLINK_record Binary files differnew file mode 100644 index 0000000..a84cf48 --- /dev/null +++ b/contrib/openbsm/test/reference/EMLINK_record diff --git a/contrib/openbsm/test/reference/ENFILE_record b/contrib/openbsm/test/reference/ENFILE_record Binary files differnew file mode 100644 index 0000000..5dc5f59 --- /dev/null +++ b/contrib/openbsm/test/reference/ENFILE_record diff --git a/contrib/openbsm/test/reference/ENODEV_record b/contrib/openbsm/test/reference/ENODEV_record Binary files differnew file mode 100644 index 0000000..c2e642b --- /dev/null +++ b/contrib/openbsm/test/reference/ENODEV_record diff --git a/contrib/openbsm/test/reference/ENOENT_record b/contrib/openbsm/test/reference/ENOENT_record Binary files differnew file mode 100644 index 0000000..10d855a --- /dev/null +++ b/contrib/openbsm/test/reference/ENOENT_record diff --git a/contrib/openbsm/test/reference/ENOEXEC_record b/contrib/openbsm/test/reference/ENOEXEC_record Binary files differnew file mode 100644 index 0000000..180ee3a --- /dev/null +++ b/contrib/openbsm/test/reference/ENOEXEC_record diff --git a/contrib/openbsm/test/reference/ENOMEM_record b/contrib/openbsm/test/reference/ENOMEM_record Binary files differnew file mode 100644 index 0000000..cc7f1c1 --- /dev/null +++ b/contrib/openbsm/test/reference/ENOMEM_record diff --git a/contrib/openbsm/test/reference/ENOSPC_record b/contrib/openbsm/test/reference/ENOSPC_record Binary files differnew file mode 100644 index 0000000..a2795ce --- /dev/null +++ b/contrib/openbsm/test/reference/ENOSPC_record diff --git a/contrib/openbsm/test/reference/ENOTBLK_record b/contrib/openbsm/test/reference/ENOTBLK_record Binary files differnew file mode 100644 index 0000000..b202162 --- /dev/null +++ b/contrib/openbsm/test/reference/ENOTBLK_record diff --git a/contrib/openbsm/test/reference/ENOTDIR_record b/contrib/openbsm/test/reference/ENOTDIR_record Binary files differnew file mode 100644 index 0000000..33f7427 --- /dev/null +++ b/contrib/openbsm/test/reference/ENOTDIR_record diff --git a/contrib/openbsm/test/reference/ENOTTY_record b/contrib/openbsm/test/reference/ENOTTY_record Binary files differnew file mode 100644 index 0000000..c9c8f36 --- /dev/null +++ b/contrib/openbsm/test/reference/ENOTTY_record diff --git a/contrib/openbsm/test/reference/ENXIO_record b/contrib/openbsm/test/reference/ENXIO_record Binary files differnew file mode 100644 index 0000000..83894db --- /dev/null +++ b/contrib/openbsm/test/reference/ENXIO_record diff --git a/contrib/openbsm/test/reference/EPERM_record b/contrib/openbsm/test/reference/EPERM_record Binary files differnew file mode 100644 index 0000000..41f20ba --- /dev/null +++ b/contrib/openbsm/test/reference/EPERM_record diff --git a/contrib/openbsm/test/reference/EPIPE_record b/contrib/openbsm/test/reference/EPIPE_record Binary files differnew file mode 100644 index 0000000..795c9f7 --- /dev/null +++ b/contrib/openbsm/test/reference/EPIPE_record diff --git a/contrib/openbsm/test/reference/EROFS_record b/contrib/openbsm/test/reference/EROFS_record Binary files differnew file mode 100644 index 0000000..bd0a91b --- /dev/null +++ b/contrib/openbsm/test/reference/EROFS_record diff --git a/contrib/openbsm/test/reference/ESPIPE_record b/contrib/openbsm/test/reference/ESPIPE_record Binary files differnew file mode 100644 index 0000000..7c1bed3 --- /dev/null +++ b/contrib/openbsm/test/reference/ESPIPE_record diff --git a/contrib/openbsm/test/reference/ESRCH_record b/contrib/openbsm/test/reference/ESRCH_record Binary files differnew file mode 100644 index 0000000..43a04e1 --- /dev/null +++ b/contrib/openbsm/test/reference/ESRCH_record diff --git a/contrib/openbsm/test/reference/ETXTBSY_record b/contrib/openbsm/test/reference/ETXTBSY_record Binary files differnew file mode 100644 index 0000000..b69309f --- /dev/null +++ b/contrib/openbsm/test/reference/ETXTBSY_record diff --git a/contrib/openbsm/test/reference/EXDEV_record b/contrib/openbsm/test/reference/EXDEV_record Binary files differnew file mode 100644 index 0000000..c60cc26 --- /dev/null +++ b/contrib/openbsm/test/reference/EXDEV_record diff --git a/contrib/openbsm/test/reference/arg32_record b/contrib/openbsm/test/reference/arg32_record Binary files differindex 2222ed0..cb2379aa 100644 --- a/contrib/openbsm/test/reference/arg32_record +++ b/contrib/openbsm/test/reference/arg32_record diff --git a/contrib/openbsm/test/reference/data_record b/contrib/openbsm/test/reference/data_record Binary files differindex 8088f4e..7876b22 100644 --- a/contrib/openbsm/test/reference/data_record +++ b/contrib/openbsm/test/reference/data_record diff --git a/contrib/openbsm/test/reference/file_record b/contrib/openbsm/test/reference/file_record Binary files differindex b56d5cc..a80b8ed2 100644 --- a/contrib/openbsm/test/reference/file_record +++ b/contrib/openbsm/test/reference/file_record diff --git a/contrib/openbsm/test/reference/header32_token b/contrib/openbsm/test/reference/header32_token Binary files differindex dd72c1c..3386b86 100644 --- a/contrib/openbsm/test/reference/header32_token +++ b/contrib/openbsm/test/reference/header32_token diff --git a/contrib/openbsm/test/reference/in_addr_record b/contrib/openbsm/test/reference/in_addr_record Binary files differindex 4f308e0..2b12d80 100644 --- a/contrib/openbsm/test/reference/in_addr_record +++ b/contrib/openbsm/test/reference/in_addr_record diff --git a/contrib/openbsm/test/reference/ip_record b/contrib/openbsm/test/reference/ip_record Binary files differindex aee40a7..ebe66d9 100644 --- a/contrib/openbsm/test/reference/ip_record +++ b/contrib/openbsm/test/reference/ip_record diff --git a/contrib/openbsm/test/reference/ipc_record b/contrib/openbsm/test/reference/ipc_record Binary files differindex 4510f88..9e7defc 100644 --- a/contrib/openbsm/test/reference/ipc_record +++ b/contrib/openbsm/test/reference/ipc_record diff --git a/contrib/openbsm/test/reference/iport_record b/contrib/openbsm/test/reference/iport_record Binary files differindex 1375efb..1f1addd 100644 --- a/contrib/openbsm/test/reference/iport_record +++ b/contrib/openbsm/test/reference/iport_record diff --git a/contrib/openbsm/test/reference/opaque_record b/contrib/openbsm/test/reference/opaque_record Binary files differindex 247d6f2..c34ac50 100644 --- a/contrib/openbsm/test/reference/opaque_record +++ b/contrib/openbsm/test/reference/opaque_record diff --git a/contrib/openbsm/test/reference/path_record b/contrib/openbsm/test/reference/path_record Binary files differindex 0d32b86..b809d71 100644 --- a/contrib/openbsm/test/reference/path_record +++ b/contrib/openbsm/test/reference/path_record diff --git a/contrib/openbsm/test/reference/process32_record b/contrib/openbsm/test/reference/process32_record Binary files differindex 9a3f7d9..0fc103f 100644 --- a/contrib/openbsm/test/reference/process32_record +++ b/contrib/openbsm/test/reference/process32_record diff --git a/contrib/openbsm/test/reference/process32ex_record-IPv4 b/contrib/openbsm/test/reference/process32ex_record-IPv4 Binary files differindex 6250b9c..7a1514c 100644 --- a/contrib/openbsm/test/reference/process32ex_record-IPv4 +++ b/contrib/openbsm/test/reference/process32ex_record-IPv4 diff --git a/contrib/openbsm/test/reference/process32ex_record-IPv6 b/contrib/openbsm/test/reference/process32ex_record-IPv6 Binary files differindex 22a3249..44183fc 100644 --- a/contrib/openbsm/test/reference/process32ex_record-IPv6 +++ b/contrib/openbsm/test/reference/process32ex_record-IPv6 diff --git a/contrib/openbsm/test/reference/process64_record b/contrib/openbsm/test/reference/process64_record Binary files differindex d8fca8e..cf318bb 100644 --- a/contrib/openbsm/test/reference/process64_record +++ b/contrib/openbsm/test/reference/process64_record diff --git a/contrib/openbsm/test/reference/process64ex_record-IPv4 b/contrib/openbsm/test/reference/process64ex_record-IPv4 Binary files differindex 3b7a728..16969f8 100644 --- a/contrib/openbsm/test/reference/process64ex_record-IPv4 +++ b/contrib/openbsm/test/reference/process64ex_record-IPv4 diff --git a/contrib/openbsm/test/reference/process64ex_record-IPv6 b/contrib/openbsm/test/reference/process64ex_record-IPv6 Binary files differindex 6563e25..bf8fc14 100644 --- a/contrib/openbsm/test/reference/process64ex_record-IPv6 +++ b/contrib/openbsm/test/reference/process64ex_record-IPv6 diff --git a/contrib/openbsm/test/reference/return32_record b/contrib/openbsm/test/reference/return32_record Binary files differindex e57d26c..f0b8610 100644 --- a/contrib/openbsm/test/reference/return32_record +++ b/contrib/openbsm/test/reference/return32_record diff --git a/contrib/openbsm/test/reference/return32_token b/contrib/openbsm/test/reference/return32_token index e7a2098..4c6dc0c 100644 --- a/contrib/openbsm/test/reference/return32_token +++ b/contrib/openbsm/test/reference/return32_token @@ -1 +1 @@ -'×4Vx
\ No newline at end of file +'4Vx
\ No newline at end of file diff --git a/contrib/openbsm/test/reference/seq_record b/contrib/openbsm/test/reference/seq_record Binary files differindex 75cea17..34674b8 100644 --- a/contrib/openbsm/test/reference/seq_record +++ b/contrib/openbsm/test/reference/seq_record diff --git a/contrib/openbsm/test/reference/socketex_record b/contrib/openbsm/test/reference/socketex_record Binary files differnew file mode 100644 index 0000000..b41c5f9 --- /dev/null +++ b/contrib/openbsm/test/reference/socketex_record diff --git a/contrib/openbsm/test/reference/socketex_token b/contrib/openbsm/test/reference/socketex_token Binary files differnew file mode 100644 index 0000000..47a9e19 --- /dev/null +++ b/contrib/openbsm/test/reference/socketex_token diff --git a/contrib/openbsm/test/reference/subject32_record b/contrib/openbsm/test/reference/subject32_record Binary files differindex f96d84c..a806651 100644 --- a/contrib/openbsm/test/reference/subject32_record +++ b/contrib/openbsm/test/reference/subject32_record diff --git a/contrib/openbsm/test/reference/subject32ex_record b/contrib/openbsm/test/reference/subject32ex_record Binary files differindex 1d949a6..1debf62 100644 --- a/contrib/openbsm/test/reference/subject32ex_record +++ b/contrib/openbsm/test/reference/subject32ex_record diff --git a/contrib/openbsm/test/reference/text_record b/contrib/openbsm/test/reference/text_record Binary files differindex 2f3fce2..b7d25db 100644 --- a/contrib/openbsm/test/reference/text_record +++ b/contrib/openbsm/test/reference/text_record diff --git a/contrib/openbsm/test/reference/zonename_record b/contrib/openbsm/test/reference/zonename_record Binary files differindex cfb9e26..6182859 100644 --- a/contrib/openbsm/test/reference/zonename_record +++ b/contrib/openbsm/test/reference/zonename_record |