diff src/auth/userdb-nss.c @ 5872:93bd157917ca HEAD

Changed userdb callback API. Don't require uid/gid to be returned by userdb.
author Timo Sirainen <tss@iki.fi>
date Tue, 03 Jul 2007 03:20:06 +0300
parents c9b49ed99d28
children 65c69a53a7be
line wrap: on
line diff
--- a/src/auth/userdb-nss.c	Tue Jul 03 01:59:06 2007 +0300
+++ b/src/auth/userdb-nss.c	Tue Jul 03 03:20:06 2007 +0300
@@ -33,7 +33,6 @@
 {
 	struct userdb_module *_module = auth_request->userdb->userdb;
 	struct nss_userdb_module *module = (struct nss_userdb_module *)_module;
-	struct auth_stream_reply *reply;
 	struct passwd pw;
 	enum nss_status status;
 	enum userdb_result result = USERDB_RESULT_INTERNAL_FAILURE;
@@ -66,18 +65,19 @@
 	}
 
 	if (result != USERDB_RESULT_OK) {
-		callback(result, NULL, auth_request);
+		callback(result, auth_request);
 		return;
 	}
 
-	reply = auth_stream_reply_init(auth_request);
-	auth_stream_reply_add(reply, NULL, pw.pw_name);
-	auth_stream_reply_add(reply, "system_user", pw.pw_name);
-	auth_stream_reply_add(reply, "uid", dec2str(pw.pw_uid));
-	auth_stream_reply_add(reply, "gid", dec2str(pw.pw_gid));
-	auth_stream_reply_add(reply, "home", pw.pw_dir);
+	auth_request_set_field(auth_request, "user", pw.pw_name, NULL);
 
-	callback(USERDB_RESULT_OK, reply, auth_request);
+	auth_request_init_userdb_reply(auth_request);
+	auth_request_set_userdb_field(auth_request, "system_user", pw.pw_name);
+	auth_request_set_userdb_field(auth_request, "uid", dec2str(pw.pw_uid));
+	auth_request_set_userdb_field(auth_request, "gid", dec2str(pw.pw_gid));
+	auth_request_set_userdb_field(auth_request, "home", pw.pw_dir);
+
+	callback(USERDB_RESULT_OK, auth_request);
 }
 
 static void