]> andersk Git - moira.git/blobdiff - reg_svr/reg_svr.c
dereference NULL bug
[moira.git] / reg_svr / reg_svr.c
index a0ea257ee482e5d099ae6d66abb40f5f8c5cbdff..72e410c3c28fc1ad56f74d0caabb93ffbd0bc42a 100644 (file)
@@ -64,6 +64,7 @@ main(argc,argv)
     init_ureg_err_tbl();
     init_krb_err_tbl();
     init_kadm_err_tbl();
+    initialize_gdss_error_table();
     
     /* Use com_err or output to stderr for all log messages. */    
 #ifdef DEBUG
@@ -852,6 +853,7 @@ char *retval;
        }
        q_argv[U_NAME+1] = login;
        q_argv[U_STATE+1] = "7";
+       q_argv[U_SIGNATURE+1] = "";
        status = mr_query("update_user_account", U_MODTIME+1, q_argv,
                           null_callproc, NULL);
        switch (status)
@@ -1018,9 +1020,15 @@ char *retval;
 #endif
 
     if (strcmp(id, argv[U_MITID + 1])) {
-       status = UREG_USER_NOT_FOUND;
-       com_err(whoami, status, "IDs mismatch: %s, %s", id, argv[U_MITID + 1]);
-       return status;
+       char buf[32];
+
+       EncryptID(buf, id, argv[U_FIRST+1], argv[U_LAST+1]);
+       if (strcmp(buf, argv[U_MITID + 1])) {
+           status = UREG_USER_NOT_FOUND;
+           com_err(whoami, status, "IDs mismatch: %s (%s), %s", id, buf,
+                   argv[U_MITID + 1]);
+           return status;
+       }
     }
 
     /* now do actual password setting stuff */
@@ -1038,7 +1046,7 @@ char *retval;
     kv.key_low = htonl(lkey[0]);
     kv.key_high = htonl(lkey[1]);
     strcpy(kv.name, message->first);
-    strcpy(kv.instance, "secure");
+    strcpy(kv.instance, "extra");
 
     if ((status = kadm_add(&kv)) != KADM_SUCCESS) {
        com_err(whoami, status, " while creating kerberos principal");
This page took 0.043382 seconds and 4 git commands to generate.