Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
openais
suse.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File suse.diff of Package openais
Index: openais/conf/openais.conf =================================================================== --- openais.orig/conf/openais.conf +++ openais/conf/openais.conf @@ -1,22 +1,70 @@ # Please read the openais.conf.5 manual page +aisexec { + # Run as root - this is necessary to be able to manage resources with Pacemaker + user: root + group: root +} + +service { + # Load the Pacemaker Cluster Resource Manager + ver: 0 + name: pacemaker + use_mgmtd: yes +} + totem { version: 2 - secauth: off - threads: 0 + + # How long before declaring a token lost (ms) + token: 5000 + + # How many token retransmits before forming a new configuration + token_retransmits_before_loss_const: 10 + + # How long to wait for join messages in the membership protocol (ms) + join: 2000 + + # How long to wait for consensus to be achieved before starting a new round of membership configuration (ms) + consensus: 2500 + + # Turn off the virtual synchrony filter + vsftype: none + + # Number of messages that may be sent by one processor on receipt of the token + max_messages: 20 + + # Stagger sending the node join messages by 1..send_join ms + send_join: 45 + + # Limit generated nodeids to 31-bits (positive signed integers) + clear_node_high_bit: yes + + # Disable encryption + secauth: off + + # How many threads to use for encryption/decryption + threads: 0 + + # Optionally assign a fixed node id (integer) + # nodeid: 1234 + interface { ringnumber: 0 - bindnetaddr: 192.168.2.0 - mcastaddr: 226.94.1.1 - mcastport: 5405 + + # The following values need to be set based on your environment + #bindnetaddr: 192.168.2.0 + #mcastaddr: 226.94.1.1 + #mcastport: 5405 } } logging { - to_stderr: yes - to_file: yes - logfile: /tmp/ais debug: off + fileline: off + to_syslog: yes + to_stderr: off + syslog_facility: daemon timestamp: on } Index: openais/exec/clm.c =================================================================== --- openais.orig/exec/clm.c +++ openais/exec/clm.c @@ -277,8 +277,14 @@ static void my_cluster_node_load (void) iface_string = totemip_print (&interfaces[0]); - sprintf ((char *)my_cluster_node.node_address.value, "%s", - iface_string); + if (strlen(iface_string)+1 > sizeof(my_cluster_node.node_address.value)) { + log_printf (LOG_LEVEL_ERROR, + "iface_string <%s>%d larger than available storage (%d)", + iface_string, strlen(iface_string), sizeof(my_cluster_node.node_address.value)); + } + snprintf ((char *)my_cluster_node.node_address.value, sizeof(my_cluster_node.node_address.value), + "%s", iface_string); + my_cluster_node.node_address.length = strlen ((char *)my_cluster_node.node_address.value); if (totempg_my_family_get () == AF_INET) { Index: openais/exec/ipc.c =================================================================== --- openais.orig/exec/ipc.c +++ openais/exec/ipc.c @@ -391,9 +391,11 @@ req_setup_send ( int error) { mar_res_setup_t res_setup; - res_setup.error = error; unsigned int res; + memset(&res_setup, 0, sizeof(mar_res_setup_t)); + res_setup.error = error; + retry_send: res = send (conn_info->fd, &res_setup, sizeof (mar_res_setup_t), MSG_WAITALL); if (res == -1 && errno == EINTR) { Index: openais/exec/main.c =================================================================== --- openais.orig/exec/main.c +++ openais/exec/main.c @@ -113,14 +113,6 @@ static void sigsegv_handler (int num) raise (SIGSEGV); } -static void sigabrt_handler (int num) -{ - signal (SIGABRT, SIG_DFL); - log_flush (); - raise (SIGABRT); -} - - #define LOCALHOST_IP inet_addr("127.0.0.1") totempg_groups_handle openais_group_handle; @@ -469,7 +461,6 @@ int main (int argc, char **argv) signal (SIGINT, sigintr_handler); signal (SIGUSR2, sigusr2_handler); signal (SIGSEGV, sigsegv_handler); - signal (SIGABRT, sigabrt_handler); signal (SIGQUIT, sigquit_handler); openais_timer_init ( Index: openais/exec/service.c =================================================================== --- openais.orig/exec/service.c +++ openais/exec/service.c @@ -298,34 +298,41 @@ extern unsigned int openais_service_unli struct objdb_iface_ver0 *objdb) { char *service_name = NULL; + unsigned short *service_id; unsigned int *service_ver = 0; unsigned int object_service_handle = 0; log_printf(LOG_LEVEL_NOTICE, "Unloading all openais components\n"); - - objdb->object_find_reset (OBJECT_PARENT_HANDLE); - while (objdb->object_find (OBJECT_PARENT_HANDLE, - "service", - strlen ("service"), - &object_service_handle) == 0) { - - objdb->object_key_get (object_service_handle, - "name", - strlen ("name"), - (void *)&service_name, - NULL); - - objdb->object_key_get (object_service_handle, - "ver", - strlen ("ver"), - (void *)&service_ver, - NULL); - - openais_service_unlink_common( - objdb, object_service_handle, service_name, *service_ver); - objdb->object_destroy (object_service_handle); + int lpc = SERVICE_HANDLER_MAXIMUM_COUNT - 1; + for( ; lpc >= 0; lpc--) { + if(ais_service[lpc] != NULL) { + /* unload */ + log_printf(LOG_LEVEL_NOTICE, "Unloading slot %d: %s\n", ais_service[lpc]->id, ais_service[lpc]->name); + objdb->object_find_reset (OBJECT_PARENT_HANDLE); + while (objdb->object_find (OBJECT_PARENT_HANDLE, + "service", strlen ("service"), &object_service_handle) == 0) { + + int res = objdb->object_key_get (object_service_handle, + "service_id", strlen ("service_id"), (void *)&service_id, NULL); + + service_name = NULL; + if(res == 0 && *service_id == ais_service[lpc]->id) { + objdb->object_key_get (object_service_handle, + "name", strlen ("name"), (void *)&service_name, NULL); + + objdb->object_key_get (object_service_handle, + "ver", strlen ("ver"), (void *)&service_ver, NULL); + + openais_service_unlink_common( + objdb, object_service_handle, service_name, *service_ver); + + objdb->object_destroy (object_service_handle); + break; + } + } + } } return (0); Index: openais/exec/totemip.c =================================================================== --- openais.orig/exec/totemip.c +++ openais/exec/totemip.c @@ -445,6 +445,8 @@ int totemip_iface_check(struct totem_ip_ struct totem_ip_address ipaddr; static char rcvbuf[NETLINK_BUFSIZE]; + memset(&req, 0, sizeof(req)); + *interface_up = 0; *interface_num = 0; memset(&ipaddr, 0, sizeof(ipaddr)); Index: openais/exec/totemsrp.c =================================================================== --- openais.orig/exec/totemsrp.c +++ openais/exec/totemsrp.c @@ -2569,9 +2569,12 @@ static int token_hold_cancel_send (struc token_hold_cancel.header.nodeid = instance->my_id.addr[0].nodeid; assert (token_hold_cancel.header.nodeid); + memset(iovec, 0, 2 * sizeof(struct iovec)); + iovec[0].iov_base = &token_hold_cancel; iovec[0].iov_len = sizeof (struct token_hold_cancel) - sizeof (struct memb_ring_id); + iovec[1].iov_base = &instance->my_ring_id; iovec[1].iov_len = sizeof (struct memb_ring_id); Index: openais/lib/util.c =================================================================== --- openais.orig/lib/util.c +++ openais/lib/util.c @@ -114,6 +114,9 @@ openais_send ( char *rbuf = (char *)msg; int processed = 0; + memset(&msg_send, 0, sizeof(struct msghdr)); + memset(&iov_send, 0, sizeof(struct iovec)); + msg_send.msg_iov = &iov_send; msg_send.msg_iovlen = 1; msg_send.msg_name = 0;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor