libadmin: Don't try to release garbage connection
[openafs.git] / src / libadmin / bos / afs_bosAdmin.c
index 13f5721..0d7cb38 100644 (file)
@@ -9,32 +9,21 @@
 
 #include <afsconfig.h>
 #include <afs/param.h>
+#include <afs/stds.h>
 
-RCSID
-    ("$Header$");
+#include <roken.h>
 
-#include <stdio.h>
-#include <afs/stds.h>
 #include <rx/rx.h>
 #include <rx/rxstat.h>
-#include "afs_bosAdmin.h"
-#include "../adminutil/afs_AdminInternal.h"
 #include <afs/afs_AdminErrors.h>
 #include <afs/afs_utilAdmin.h>
 #include <afs/bosint.h>
 #include <afs/bnode.h>
 #include <afs/ktime.h>
 #include <afs/dirpath.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-#ifdef AFS_NT40_ENV
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-#include <string.h>
+
+#include "afs_bosAdmin.h"
+#include "../adminutil/afs_AdminInternal.h"
 
 typedef struct bos_server {
     int begin_magic;
@@ -172,7 +161,7 @@ bos_ServerOpen(const void *cellHandle, const char *serverName,
     int rc = 0;
     afs_status_t tst = 0;
     afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
-    bos_server_p bos_server = (bos_server_p) malloc(sizeof(bos_server_t));
+    bos_server_p bos_server = calloc(1, sizeof(bos_server_t));
     int serverAddress;
 
     /*
@@ -324,9 +313,9 @@ bos_ServerClose(const void *serverHandle, afs_status_p st)
 static char *processTypes[] = { "simple", "fs", "cron", 0 };
 
 int ADMINAPI
-bos_ProcessCreate(const void *serverHandle, const char *processName,
-                 bos_ProcessType_t processType, const char *process,
-                 const char *cronTime, const char *notifier, afs_status_p st)
+bos_ProcessCreate(const void *serverHandle, char *processName,
+                 bos_ProcessType_t processType, char *process,
+                 char *cronTime, char *notifier, afs_status_p st)
 {
     int rc = 0;
     afs_status_t tst = 0;
@@ -404,9 +393,9 @@ bos_ProcessCreate(const void *serverHandle, const char *processName,
  */
 
 int ADMINAPI
-bos_FSProcessCreate(const void *serverHandle, const char *processName,
-                   const char *fileserverPath, const char *volserverPath,
-                   const char *salvagerPath, const char *notifier,
+bos_FSProcessCreate(const void *serverHandle, char *processName,
+                   char *fileserverPath, char *volserverPath,
+                   char *salvagerPath, char *notifier,
                    afs_status_p st)
 {
     int rc = 0;
@@ -473,7 +462,7 @@ bos_FSProcessCreate(const void *serverHandle, const char *processName,
  */
 
 int ADMINAPI
-bos_ProcessDelete(const void *serverHandle, const char *processName,
+bos_ProcessDelete(const void *serverHandle, char *processName,
                  afs_status_p st)
 {
     int rc = 0;
@@ -529,7 +518,7 @@ bos_ProcessDelete(const void *serverHandle, const char *processName,
 
 int ADMINAPI
 bos_ProcessExecutionStateGet(const void *serverHandle,
-                            const char *processName,
+                            char *processName,
                             bos_ProcessExecutionState_p processStatusP,
                             char *auxiliaryProcessStatus, afs_status_p st)
 {
@@ -626,7 +615,7 @@ SetExecutionState(const void *serverHandle, const char *processName,
 
     state = (afs_int32) processStatus;
 
-    tst = func(b_handle->server, processName, state);
+    tst = func(b_handle->server, (char *)processName, state);
 
     if (tst == 0) {
        rc = 1;
@@ -663,7 +652,7 @@ SetExecutionState(const void *serverHandle, const char *processName,
 int ADMINAPI
 bos_ProcessExecutionStateSet(const void *serverHandle,
                             const char *processName,
-                            bos_ProcessExecutionState_t processStatus,
+                            const bos_ProcessExecutionState_t processStatus,
                             afs_status_p st)
 {
     return SetExecutionState(serverHandle, processName, processStatus,
@@ -693,7 +682,7 @@ bos_ProcessExecutionStateSet(const void *serverHandle,
 
 int ADMINAPI
 bos_ProcessExecutionStateSetTemporary(const void *serverHandle,
-                                     const char *processName,
+                                     char *processName,
                                      bos_ProcessExecutionState_t
                                      processStatus, afs_status_p st)
 {
@@ -782,10 +771,8 @@ bos_ProcessNameGetBegin(const void *serverHandle, void **iterationIdP,
     int rc = 0;
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
-    afs_admin_iterator_p iter =
-       (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
-    process_name_get_p proc =
-       (process_name_get_p) malloc(sizeof(process_name_get_t));
+    afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+    process_name_get_p proc = malloc(sizeof(process_name_get_t));
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_ProcessNameGetBegin;
@@ -941,7 +928,7 @@ bos_ProcessNameGetDone(const void *iterationId, afs_status_p st)
  */
 
 int ADMINAPI
-bos_ProcessInfoGet(const void *serverHandle, const char *processName,
+bos_ProcessInfoGet(const void *serverHandle, char *processName,
                   bos_ProcessType_p processTypeP,
                   bos_ProcessInfo_p processInfoP, afs_status_p st)
 {
@@ -1106,9 +1093,8 @@ bos_ProcessParameterGetBegin(const void *serverHandle,
     int rc = 0;
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
-    afs_admin_iterator_p iter =
-       (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
-    param_get_p param = (param_get_p) malloc(sizeof(param_get_t));
+    afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+    param_get_p param = malloc(sizeof(param_get_t));
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_ProcessParameterGetBegin;
@@ -1293,7 +1279,8 @@ bos_ProcessNotifierGet(const void *serverHandle, const char *processName,
        goto fail_bos_ProcessNotifierGet;
     }
 
-    tst = BOZO_GetInstanceParm(b_handle->server, processName, 999, &notifier);
+    tst = BOZO_GetInstanceParm(b_handle->server, (char *)processName,
+                              999, &notifier);
 
     if (tst == 0) {
        rc = 1;
@@ -1343,7 +1330,7 @@ bos_ProcessRestart(const void *serverHandle, const char *processName,
        goto fail_bos_ProcessRestart;
     }
 
-    tst = BOZO_Restart(b_handle->server, processName);
+    tst = BOZO_Restart(b_handle->server, (char *)processName);
 
     if (tst == 0) {
        rc = 1;
@@ -1623,7 +1610,7 @@ bos_AdminCreate(const void *serverHandle, const char *adminName,
        goto fail_bos_AdminCreate;
     }
 
-    tst = BOZO_AddSUser(b_handle->server, adminName);
+    tst = BOZO_AddSUser(b_handle->server, (char *)adminName);
 
     if (tst == 0) {
        rc = 1;
@@ -1673,7 +1660,7 @@ bos_AdminDelete(const void *serverHandle, const char *adminName,
        goto fail_bos_AdminDelete;
     }
 
-    tst = BOZO_DeleteSUser(b_handle->server, adminName);
+    tst = BOZO_DeleteSUser(b_handle->server, (char *)adminName);
 
     if (tst == 0) {
        rc = 1;
@@ -1770,9 +1757,8 @@ bos_AdminGetBegin(const void *serverHandle, void **iterationIdP,
     int rc = 0;
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
-    afs_admin_iterator_p iter =
-       (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
-    admin_get_p admin = (admin_get_p) malloc(sizeof(admin_get_t));
+    afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+    admin_get_p admin = malloc(sizeof(admin_get_t));
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_AdminGetBegin;
@@ -1942,7 +1928,7 @@ bos_KeyCreate(const void *serverHandle, int keyVersionNumber,
        goto fail_bos_KeyCreate;
     }
 
-    tst = BOZO_AddKey(b_handle->server_encrypt, keyVersionNumber, key);
+    tst = BOZO_AddKey(b_handle->server_encrypt, keyVersionNumber, kas_to_bozoptr(key));
 
     if (tst == 0) {
        rc = 1;
@@ -2021,7 +2007,7 @@ GetKeyRPC(void *rpc_specific, int slot, int *last_item,
 
     tst =
        BOZO_ListKeys(key->server, key->next++,
-                     &key->key[slot].keyVersionNumber, &key->key[slot].key,
+                     &key->key[slot].keyVersionNumber, kas_to_bozoptr(&key->key[slot].key),
                      &keyInfo);
 
 
@@ -2087,9 +2073,8 @@ bos_KeyGetBegin(const void *serverHandle, void **iterationIdP,
     int rc = 0;
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
-    afs_admin_iterator_p iter =
-       (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
-    key_get_p key = (key_get_p) malloc(sizeof(key_get_t));
+    afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+    key_get_p key = malloc(sizeof(key_get_t));
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_KeyGetBegin;
@@ -2254,7 +2239,7 @@ bos_CellSet(const void *serverHandle, const char *cellName, afs_status_p st)
        goto fail_bos_CellSet;
     }
 
-    tst = BOZO_SetCellName(b_handle->server, cellName);
+    tst = BOZO_SetCellName(b_handle->server, (char *)cellName);
 
     if (tst == 0) {
        rc = 1;
@@ -2351,7 +2336,7 @@ bos_HostCreate(const void *serverHandle, const char *hostName,
        goto fail_bos_HostCreate;
     }
 
-    tst = BOZO_AddCellHost(b_handle->server, hostName);
+    tst = BOZO_AddCellHost(b_handle->server, (char *)hostName);
 
     if (tst == 0) {
        rc = 1;
@@ -2400,7 +2385,7 @@ bos_HostDelete(const void *serverHandle, const char *hostName,
        goto fail_bos_HostDelete;
     }
 
-    tst = BOZO_DeleteCellHost(b_handle->server, hostName);
+    tst = BOZO_DeleteCellHost(b_handle->server, (char *)hostName);
 
     if (tst == 0) {
        rc = 1;
@@ -2494,9 +2479,8 @@ bos_HostGetBegin(const void *serverHandle, void **iterationIdP,
     int rc = 0;
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
-    afs_admin_iterator_p iter =
-       (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
-    host_get_p host = (host_get_p) malloc(sizeof(host_get_t));
+    afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+    host_get_p host = malloc(sizeof(host_get_t));
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_HostGetBegin;
@@ -2701,7 +2685,7 @@ bos_ExecutableCreate(const void *serverHandle, const char *sourceFile,
     tcall = rx_NewCall(b_handle->server);
 
     tst =
-       StartBOZO_Install(tcall, destFile, estat.st_size,
+       StartBOZO_Install(tcall, (char *)destFile, estat.st_size,
                          (afs_int32) estat.st_mode, estat.st_mtime);
 
     if (tst) {
@@ -2715,7 +2699,7 @@ bos_ExecutableCreate(const void *serverHandle, const char *sourceFile,
 
     while (1) {
        char tbuffer[512];
-       size_t len;
+       ssize_t len;
        len = read(fd, tbuffer, sizeof(tbuffer));
        if (len < 0) {
            tst = ADMBOSCANTREADSOURCEFILE;
@@ -2788,7 +2772,7 @@ bos_ExecutableRevert(const void *serverHandle, const char *execFile,
        goto fail_bos_ExecutableRevert;
     }
 
-    tst = BOZO_UnInstall(b_handle->server, execFile);
+    tst = BOZO_UnInstall(b_handle->server, (char *)execFile);
 
     if (tst == 0) {
        rc = 1;
@@ -2825,8 +2809,8 @@ bos_ExecutableRevert(const void *serverHandle, const char *execFile,
 
 int ADMINAPI
 bos_ExecutableTimestampGet(const void *serverHandle, const char *execFile,
-                          unsigned long *newTime, unsigned long *oldTime,
-                          unsigned long *bakTime, afs_status_p st)
+                          afs_int32 *newTime, afs_int32 *oldTime,
+                          afs_int32 *bakTime, afs_status_p st)
 {
     int rc = 0;
     afs_status_t tst = 0;
@@ -2857,7 +2841,7 @@ bos_ExecutableTimestampGet(const void *serverHandle, const char *execFile,
     }
 
     tst =
-       BOZO_GetDates(b_handle->server, execFile, newTime, bakTime, oldTime);
+       BOZO_GetDates(b_handle->server, (char *)execFile, newTime, bakTime, oldTime);
 
     if (tst == 0) {
        rc = 1;
@@ -2965,7 +2949,7 @@ bos_ExecutableRestartTimeSet(const void *serverHandle, bos_Restart_t type,
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
     afs_int32 restartType = 0;
-    struct ktime restartTime;
+    struct bozo_netKTime restartTime;
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_ExecutableRestartTimeSet;
@@ -3051,7 +3035,7 @@ bos_ExecutableRestartTimeGet(const void *serverHandle, bos_Restart_t type,
     afs_status_t tst = 0;
     bos_server_p b_handle = (bos_server_p) serverHandle;
     afs_int32 restartType = 0;
-    struct ktime restartTime;
+    struct bozo_netKTime restartTime;
 
     if (!isValidServerHandle(b_handle, &tst)) {
        goto fail_bos_ExecutableRestartTimeGet;
@@ -3155,7 +3139,7 @@ bos_LogGet(const void *serverHandle, const char *log,
 
     tcall = rx_NewCall(b_handle->server);
     have_call = 1;
-    tst = StartBOZO_GetLog(tcall, log);
+    tst = StartBOZO_GetLog(tcall, (char *) log);
 
     if (tst != 0) {
        goto fail_bos_LogGet;
@@ -3296,7 +3280,7 @@ bos_CommandExecute(const void *serverHandle, const char *command,
        goto fail_bos_CommandExecute;
     }
 
-    tst = BOZO_Exec(b_handle->server, command);
+    tst = BOZO_Exec(b_handle->server, (char *) command);
 
     if (tst == 0) {
        rc = 1;
@@ -3533,7 +3517,7 @@ bos_Salvage(const void *cellHandle, const void *serverHandle,
 
     if (log != NULL) {
 
-       logData = (char *)malloc(INITIAL_LOG_LEN);
+       logData = malloc(INITIAL_LOG_LEN);
        if (!logData) {
            tst = ADMNOMEM;
            goto fail_bos_Salvage;
@@ -3543,7 +3527,7 @@ bos_Salvage(const void *cellHandle, const void *serverHandle,
               (serverHandle, AFSDIR_CANONICAL_SERVER_SLVGLOG_FILEPATH,
                &logLen, logData, &tst)) {
            if (logLen > INITIAL_LOG_LEN) {
-               logData = (char *)realloc(logData, (logLen + (logLen / 10)));
+               logData = realloc(logData, (logLen + (logLen / 10)));
                if (logData == NULL) {
                    tst = ADMNOMEM;
                    goto fail_bos_Salvage;