Author: jra Date: 2006-02-11 00:04:39 +0000 (Sat, 11 Feb 2006) New Revision: 13449
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13449 Log: Ensure we don't crash if no dc struct on pipe. Jeremy. Modified: branches/SAMBA_3_0/source/include/rpc_lsa.h branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c branches/SAMBA_3_0/source/rpc_server/srv_netlog_nt.c Changeset: Modified: branches/SAMBA_3_0/source/include/rpc_lsa.h =================================================================== --- branches/SAMBA_3_0/source/include/rpc_lsa.h 2006-02-10 23:54:45 UTC (rev 13448) +++ branches/SAMBA_3_0/source/include/rpc_lsa.h 2006-02-11 00:04:39 UTC (rev 13449) @@ -78,7 +78,10 @@ #define LSA_OPENTRUSTDOMBYNAME 0x37 #define LSA_LOOKUPSIDS2 0x39 +#define LSA_LOOKUPNAMES2 0x3a +#define LSA_LOOKUPNAMES3 0x44 #define LSA_LOOKUPSIDS3 0x4c +#define LSA_LOOKUPNAMES4 0x4d /* XXXX these are here to get a compile! */ #define LSA_LOOKUPRIDS 0xFD Modified: branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c =================================================================== --- branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c 2006-02-10 23:54:45 UTC (rev 13448) +++ branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c 2006-02-11 00:04:39 UTC (rev 13449) @@ -858,6 +858,11 @@ } /* No policy handle on this call. Restrict to crypto connections. */ + if (p->auth.auth_type != PIPE_AUTH_TYPE_SCHANNEL) { + DEBUG(0,("_lsa_lookup_sids3: client %s not using schannel for netlogon\n", + get_remote_machine_name() )); + return NT_STATUS_INVALID_PARAMETER; + } if (num_sids > MAX_LOOKUP_SIDS) { DEBUG(5,("_lsa_lookup_sids3: limit of %d exceeded, requested %d\n", Modified: branches/SAMBA_3_0/source/rpc_server/srv_netlog_nt.c =================================================================== --- branches/SAMBA_3_0/source/rpc_server/srv_netlog_nt.c 2006-02-10 23:54:45 UTC (rev 13448) +++ branches/SAMBA_3_0/source/rpc_server/srv_netlog_nt.c 2006-02-11 00:04:39 UTC (rev 13449) @@ -937,7 +937,7 @@ /* Only allow this if the pipe is protected. */ if (p->auth.auth_type != PIPE_AUTH_TYPE_SCHANNEL) { DEBUG(0,("_net_sam_logon_ex: client %s not using schannel for netlogon\n", - p->dc->remote_machine )); + get_remote_machine_name() )); return NT_STATUS_INVALID_PARAMETER; }