]> andersk Git - moira.git/blobdiff - update/client.c
remove references to dcm.h
[moira.git] / update / client.c
index 0ab206442a2a9361e0e7a158f16022a0733f6e7e..1d88e0c116fe485d1c72c7936462858d9f2c9ad2 100644 (file)
@@ -34,7 +34,6 @@ static char *rcsid_client2_c = "$Header$";
 #include <sys/socket.h>
 #include <update.h>
 #include <errno.h>
-#include <dcm.h>
 #include <moira.h>
 #include <moira_site.h>
 #include <krb.h>
@@ -74,125 +73,6 @@ initialize()
     }
 }
 
-
-/*
- * FUNCTION:
- *     mr_update_server(service, machine, target_path)
- * DESCRIPTION:
- *     Attempts to perform an update to the named machine
- *     of the named service.  The file DCM_DIR/service.out
- *     will be sent, then the file SMS_DIR/bin/service.sh,
- *     the the shell script will be executed.
- * INPUT:
- *     service
- *             Name of service to be updated; used to find
- *             the source data file in the MR data directory.
- *     machine
- *     target_path
- *             Location to install the file.
- * RETURN VALUE:
- *     int:
- *             Error code, or zero if no error was detected
- *             in the data supplied to this routine.
- * SIDE EFFECTS:
- *     May write information to logs.
- * PROBLEMS:
- *
- */
-
-int
-mr_update_server(service, machine, target_path, instructions)
-char *service;
-char *machine;
-char *target_path;
-char *instructions;
-{
-#define ASSERT(condition,stat,amsg) \
-    if (!(condition)) { com_err(whoami, stat, amsg); return(stat); }
-#define ASSERT2(condition,stat,amsg,arg1) \
-    if (!(condition)) { com_err(whoami, stat, amsg, arg1); return(stat); }
-#define NONNULL(str) \
-    (((str) != (char *)NULL) && (strlen(str) != 0))
-
-    char *service_address, *service_updated, *pathname;
-    int on;
-    
-    /* some sanity checking of arguments while we build data */
-    ASSERT(NONNULL(machine), MR_INTERNAL, " null host name");
-    ASSERT(NONNULL(service), MR_INTERNAL, " null service name");
-    ASSERT((strlen(machine) + strlen(service) + 2 < BUFSIZ), MR_ARG_TOO_LONG,
-          " machine and service names");
-    sprintf(buf, "%s:%s", machine, service);
-    service_updated = strsave(buf);
-    ASSERT(NONNULL(service_updated), MR_NO_MEM, " for service name");
-    ASSERT((strlen(machine)+strlen(SERVICE_NAME)+2 < BUFSIZ), MR_ARG_TOO_LONG,
-          " machine and update service name");
-    sprintf(buf, "%s:%s", machine, SERVICE_NAME);
-    service_address = strsave(buf);
-    ASSERT(NONNULL(service_address), MR_NO_MEM, " for service address");
-    ASSERT(NONNULL(target_path), MR_INTERNAL, " null target pathname");
-    ASSERT((strlen(target_path) < MAXPATHLEN), MR_ARG_TOO_LONG,
-          " target pathname");
-    ASSERT2(target_path[0] == '/', MR_NOT_UNIQUE,
-          " non-absolute pathname supplied \"%s\"", target_path);
-    sprintf(buf, "%s/%s.out", DCM_DIR, service);
-    pathname = strsave(buf);
-    ASSERT(NONNULL(pathname), MR_NO_MEM, " for pathname");
-    ASSERT(NONNULL(instructions), MR_NO_MEM, " for instructions");
-    ASSERT((strlen(instructions) < MAXPATHLEN), MR_ARG_TOO_LONG,
-          " instruction pathname");
-    
-    initialize();
-    com_err(whoami, 0, "starting update for %s", service_updated);
-    
-    /* open connection */
-    gdb_Options |= GDB_OPT_KEEPALIVE;
-    conn = start_server_connection(service_address, "");
-    if (!conn || (connection_status(conn) == CON_STOPPED)) {
-       com_err(whoami, connection_errno(conn),
-               " can't connect to update %s", service_address);
-       return(MR_CANT_CONNECT);
-    }
-    
-    /* send authenticators */
-    code = send_auth(machine);
-    if (code) {
-       com_err(whoami, code, " authorization attempt to %s failed",
-               service_updated);
-       goto update_failed;
-    }
-    
-    code = send_file(pathname, target_path, 1);
-    if (code)
-      goto update_failed;
-
-    /* send instructions for installation */
-    strcpy(buf, "/tmp/moira-update.XXXXXX");
-    mktemp(buf);
-    code = send_file(instructions, buf, 0);
-    if (code)
-      goto update_failed;
-
-    /* perform installation */
-    code = execute(buf);
-    if (code) {
-       com_err(whoami, code, " installation of %s failed, code = %d",
-               service_updated, code);
-       goto update_failed;
-    }
-    
-    /* finished updates */
-    code = MR_SUCCESS;
-
- update_failed:
-    send_quit();
-    conn = sever_connection(conn);
-    return(code);
-
-#undef NONNULL
-#undef ASSERT
-}
-
 send_auth(host_name)
 char *host_name;
 {
This page took 0.061186 seconds and 4 git commands to generate.