# HG changeset patch # User Binki # Date 2009-07-27 19:52:04 # Node ID a46f1313e1031fe43c6a92331f2204fdc18ad1f1 # Parent c72bb4bd0892b6532653d93efb652fca3961ad15 renamed/reindented registeruser() diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -29,34 +29,35 @@ void ssh_keygen(){ // Give me some args! } -void registeruser(char *username, char *email){ +void register_user(char *username, char *email) +{ /* * Logs into sandboxed user on zserver2 and registers a user. Should eventually generate a key on the server and return it to the user. * All created user accounts should be sandboxed accordingly, requiring a different skel, and the default shell to be rbash. Also, * a custom path defined in the .bash_profile of the skel is needed. - */ + */ char *keyname; // Url to the key char buf[10]; struct execio *testrem; char *execargv[] = { - "ssh", - "distren_setup@protofusion.org", - "-i", - "setup.rsa", // default distributed key, account can only create users. - "-p", - "23", - "sudo /usr/sbin/useradd", - "-M", - "-c", - email, - "-d", - "/home/distren", - "--gid", - "541", // Add in shellscript to generate ssh key and set keyname - username, - (char *)NULL - }; + "ssh", + "distren_setup@protofusion.org", + "-i", + "setup.rsa", // default distributed key, account can only create users. + "-p", + "23", + "sudo /usr/sbin/useradd", + "-M", + "-c", + email, + "-d", + "/home/distren", + "--gid", + "541", // Add in shellscript to generate ssh key and set keyname + username, + (char *)NULL + }; size_t readlen; fprintf(stderr, "Opening stream:\n", execio_open(&testrem, "ssh", execargv)); buf[9] = '\0'; // null-terminating the array... @@ -65,15 +66,15 @@ void registeruser(char *username, char * if(readlen > 9) { fprintf(stderr, "!!!! Something is terribly wrong!\n"); } - buf[readlen] = '\0'; // Null-terminating the end of it again based on how large the data is? - fprintf(stderr, "read \"%s\"\n", buf); + buf[readlen] = '\0'; // Null-terminating the end of it again based on how large the data is? + fprintf(stderr, "read \"%s\"\n", buf); } execio_close(testrem); - + ssh_keygen(); // Should return relative path to keyfile, or jus the keyname - + /* TODO: Scan distrenslave.conf for !username and !key and replace them with "keyname" and the "username" */ - + } diff --git a/src/server/slavefuncs.h b/src/server/slavefuncs.h --- a/src/server/slavefuncs.h +++ b/src/server/slavefuncs.h @@ -22,7 +22,7 @@ #include "blendjob.h" void ssh_keygen(); -void registeruser(char *username, char *email); +void register_user(char *username, char *email); void loginuser(char *username); void conf_replace(char *username, char *key); void exec_blender(struct blendjob* blendjob, char *input, char *output, int frame);