aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-01-09 12:37:26 -0500
committerFranklin Wei <git@fwei.tk>2016-01-09 12:37:26 -0500
commit06880048df2202b1828e5367b1697aee305a2358 (patch)
tree78bf00f71ee90cb43e84896a81e01180aa15c213 /src/client.c
parent50134c46dc337c35b8ecf78b3c5b4308cf8fb791 (diff)
downloadnetcosm-06880048df2202b1828e5367b1697aee305a2358.zip
netcosm-06880048df2202b1828e5367b1697aee305a2358.tar.gz
netcosm-06880048df2202b1828e5367b1697aee305a2358.tar.bz2
netcosm-06880048df2202b1828e5367b1697aee305a2358.tar.xz
finish refactor into userdb
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/client.c b/src/client.c
index 3eb77d4..330187d 100644
--- a/src/client.c
+++ b/src/client.c
@@ -233,10 +233,22 @@ void sig_rt_0_handler(int s, siginfo_t *info, void *v)
}
struct userdata_t *user = &returned_reqdata.userdata;
- read_string_max(from_parent, user->username, sizeof(user->username));
- read_string_max(from_parent, user->salt, sizeof(user->salt));
- read_string_max(from_parent, user->passhash, sizeof(user->passhash));
- read(from_parent, &user->priv, sizeof(user->priv));
+ if(read(from_parent, user, sizeof(*user)) != sizeof(*user))
+ error("user data too short");
+ break;
+ }
+ case REQ_DELUSERDATA:
+ {
+ reqdata_type = TYPE_BOOLEAN;
+ if(read(from_parent, &returned_reqdata.boolean, sizeof(bool)) != sizeof(bool))
+ error("error reading bool");
+ break;
+ }
+ case REQ_ADDUSERDATA:
+ {
+ reqdata_type = TYPE_BOOLEAN;
+ if(read(from_parent, &returned_reqdata.boolean, sizeof(bool)) != sizeof(bool))
+ error("error reading bool");
break;
}
case REQ_NOP: