[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Updated 'check account' API



Because windows clients won't give a reasonable error message to clients
without sending back a custom e_data, Andrew Kroeger updated the API
hook we use. 

We then fill in the 32 bit NTSTATUS error code windows clients demand. 

Thoughts?

Andrew Bartlett
-- 
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org
Samba Developer, Red Hat Inc.
Binary files /data/samba/lorikeet/heimdal/kdc/524.gcda and kdc/524.gcda differ
Binary files /data/samba/lorikeet/heimdal/kdc/524.gcno and kdc/524.gcno differ
Only in /data/samba/lorikeet/heimdal/kdc: 524.lo
Binary files /data/samba/lorikeet/heimdal/kdc/524.o and kdc/524.o differ
Only in /data/samba/lorikeet/heimdal/kdc: config.c
Only in /data/samba/lorikeet/heimdal/kdc: config.gcda
Only in /data/samba/lorikeet/heimdal/kdc: config.gcno
Only in /data/samba/lorikeet/heimdal/kdc: config.o
Only in /data/samba/lorikeet/heimdal/kdc: connect.c
Only in /data/samba/lorikeet/heimdal/kdc: connect.gcda
Only in /data/samba/lorikeet/heimdal/kdc: connect.gcno
Only in /data/samba/lorikeet/heimdal/kdc: connect.o
Binary files /data/samba/lorikeet/heimdal/kdc/default_config.gcda and kdc/default_config.gcda differ
Binary files /data/samba/lorikeet/heimdal/kdc/default_config.gcno and kdc/default_config.gcno differ
Only in /data/samba/lorikeet/heimdal/kdc: default_config.lo
Binary files /data/samba/lorikeet/heimdal/kdc/default_config.o and kdc/default_config.o differ
Binary files /data/samba/lorikeet/heimdal/kdc/digest.gcda and kdc/digest.gcda differ
Binary files /data/samba/lorikeet/heimdal/kdc/digest.gcno and kdc/digest.gcno differ
Only in /data/samba/lorikeet/heimdal/kdc: digest.lo
Binary files /data/samba/lorikeet/heimdal/kdc/digest.o and kdc/digest.o differ
Only in /data/samba/lorikeet/heimdal/kdc: hprop
Only in /data/samba/lorikeet/heimdal/kdc: hprop.8
Only in /data/samba/lorikeet/heimdal/kdc: hprop.c
Only in /data/samba/lorikeet/heimdal/kdc: hpropd
Only in /data/samba/lorikeet/heimdal/kdc: hpropd.8
Only in /data/samba/lorikeet/heimdal/kdc: hpropd.c
Only in /data/samba/lorikeet/heimdal/kdc: hpropd.gcda
Only in /data/samba/lorikeet/heimdal/kdc: hpropd.gcno
Only in /data/samba/lorikeet/heimdal/kdc: hpropd.o
Only in /data/samba/lorikeet/heimdal/kdc: hprop.gcda
Only in /data/samba/lorikeet/heimdal/kdc: hprop.gcno
Only in /data/samba/lorikeet/heimdal/kdc: hprop.h
Only in /data/samba/lorikeet/heimdal/kdc: hprop.o
Only in /data/samba/lorikeet/heimdal/kdc: kadb.h
Binary files /data/samba/lorikeet/heimdal/kdc/kaserver.gcda and kdc/kaserver.gcda differ
Binary files /data/samba/lorikeet/heimdal/kdc/kaserver.gcno and kdc/kaserver.gcno differ
Only in /data/samba/lorikeet/heimdal/kdc: kaserver.lo
Binary files /data/samba/lorikeet/heimdal/kdc/kaserver.o and kdc/kaserver.o differ
Only in /data/samba/lorikeet/heimdal/kdc: kdc
Only in /data/samba/lorikeet/heimdal/kdc: kdc.8
diff -ur /data/samba/lorikeet/heimdal/kdc/kdc-private.h kdc/kdc-private.h
--- /data/samba/lorikeet/heimdal/kdc/kdc-private.h	2008-03-17 18:12:47.000000000 +1100
+++ kdc/kdc-private.h	2008-03-19 11:04:42.000000000 +1100
@@ -281,6 +281,7 @@
 _kdc_windc_client_access (
 	krb5_context /*context*/,
 	struct hdb_entry_ex */*client*/,
-	KDC_REQ */*req*/);
+	KDC_REQ */*req*/,
+	krb5_data */*e_data*/);
 
 #endif /* __kdc_private_h__ */
Only in /data/samba/lorikeet/heimdal/kdc: kdc-replay
Only in /data/samba/lorikeet/heimdal/kdc: kdc-replay.c
Only in /data/samba/lorikeet/heimdal/kdc: kdc-replay.gcda
Only in /data/samba/lorikeet/heimdal/kdc: kdc-replay.gcno
Only in /data/samba/lorikeet/heimdal/kdc: kdc-replay.o
Binary files /data/samba/lorikeet/heimdal/kdc/kerberos4.gcda and kdc/kerberos4.gcda differ
Binary files /data/samba/lorikeet/heimdal/kdc/kerberos4.gcno and kdc/kerberos4.gcno differ
Only in /data/samba/lorikeet/heimdal/kdc: kerberos4.lo
Binary files /data/samba/lorikeet/heimdal/kdc/kerberos4.o and kdc/kerberos4.o differ
diff -ur /data/samba/lorikeet/heimdal/kdc/kerberos5.c kdc/kerberos5.c
--- /data/samba/lorikeet/heimdal/kdc/kerberos5.c	2008-03-04 10:20:46.000000000 +1100
+++ kdc/kerberos5.c	2008-03-19 11:04:42.000000000 +1100
@@ -1050,7 +1050,7 @@
 	goto out;
     }
 
-    ret = _kdc_windc_client_access(context, client, req);
+    ret = _kdc_windc_client_access(context, client, req, &e_data);
     if(ret)
 	goto out;
 
diff -ur /data/samba/lorikeet/heimdal/kdc/windc.c kdc/windc.c
--- /data/samba/lorikeet/heimdal/kdc/windc.c	2007-06-09 20:24:24.000000000 +1000
+++ kdc/windc.c	2008-03-19 11:04:42.000000000 +1100
@@ -101,9 +101,10 @@
 krb5_error_code
 _kdc_windc_client_access(krb5_context context,
 			 struct hdb_entry_ex *client,
-			 KDC_REQ *req)
+			 KDC_REQ *req,
+			 krb5_data *e_data)
 {
     if (windcft == NULL)
 	return 0;
-    return (windcft->client_access)(windcctx, context, client, req);
+    return (windcft->client_access)(windcctx, context, client, req, e_data);
 }
diff -ur /data/samba/lorikeet/heimdal/kdc/windc_plugin.h kdc/windc_plugin.h
--- /data/samba/lorikeet/heimdal/kdc/windc_plugin.h	2007-06-09 20:24:24.000000000 +1000
+++ kdc/windc_plugin.h	2008-03-19 11:04:42.000000000 +1100
@@ -64,7 +64,7 @@
 
 typedef krb5_error_code 
 (*krb5plugin_windc_client_access)(
-    void *, krb5_context, struct hdb_entry_ex *, KDC_REQ *);
+    void *, krb5_context, struct hdb_entry_ex *, KDC_REQ *, krb5_data *);
 
 
 #define KRB5_WINDC_PLUGING_MINOR		2

This is a digitally signed message part