Luke Kenneth Casson Leighton
1997-Oct-29 23:22 UTC
Release of 1.9.18alpha8 - NT Domain Authentication testing needed
Implementation of NT Domain Authentication is progressing. i am producing regular alpha releases as required, to fix bugs that are being found by the people helping out on this project. we are currently up to alpha8. one of the people assisting is using SPARC, so there are some byte ordering issues to be resolved (in the unicode strings area). i will let you know once we have a successful domain login on this processor. we've also had a report of a successful domain logon using an NT 3.51 workstation, which is good news: that means we can support NT 3.51 as well as NT 4.0 workstations. so, please: if you have any spare time or capacity, help us out with the testing process. if you're considering replacing all your unix servers with NT servers just because NT workstations can't currently do domain logons to samba, your efforts, with assistance at this end, will be of immediate benefit to you. in the last couple of hours, a bug-fix patch (included here, to be applied to 1.9.18alpha8), which will go out in the next alpha release. a particularly good one is the LSA_SAMLOGOFF #define, which i got wrong somehow :-) :-) regards, luke <a href="mailto:lkcl@switchboard.net" > Luke Kenneth Casson Leighton </a> <a href="http://mailhost.cb1.com/~lkcl"> Lynx2.7-friendly Home Page </a> <br><b> "Apply the Laws of Nature to your environment because your environment applies the Laws of Nature to you" </b> ? dom ? f ? smb.tgz ==================================================================RCS file: /data/cvs/samba/source/ipc.c,v retrieving revision 1.63 Index: ipc.c diff -u -w -r1.63 ipc.c --- ipc.c 1997/10/29 20:08:09 1.63 +++ ipc.c 1997/10/29 22:23:01 @@ -2946,7 +2946,7 @@ rparam = (char *)malloc(1024); if (rparam) bzero(rparam,1024); #ifdef NTDOMAIN - if (data != NULL && api_fd_commands[i].subcommand != -1) + if (data != NULL && api_fd_commands[i].subcommand == 0x26) { RPC_HDR hdr; Index: lsaparse.c ==================================================================RCS file: /data/cvs/samba/source/lsaparse.c,v retrieving revision 1.24 diff -u -w -r1.24 lsaparse.c --- lsaparse.c 1997/10/29 00:04:12 1.24 +++ lsaparse.c 1997/10/29 22:23:03 @@ -35,6 +35,8 @@ DEBUG(5,("make_open_pol\n")); + r_q->ptr = 1; /* undocumented pointer */ + make_unistr2 (&(r_q->uni_server_name), server_name, strlen(server_name)); make_obj_attr(&(r_q->attr ), attributes, sec_qos); @@ -51,6 +53,8 @@ DEBUG(5,("%s%04x lsa_io_q_open_pol\n", tab_depth(depth), PTR_DIFF(q, base))); depth++; + DBG_RW_IVAL("ptr ", depth, base, io, q, r_q->ptr ); q += 4; + q = smb_io_unistr2 (io, &(r_q->uni_server_name), q, base, align, depth); q = smb_io_obj_attr(io, &(r_q->attr ), q, base, align, depth); @@ -68,6 +72,7 @@ DEBUG(5,("%s%04x lsa_io_r_open_pol\n", tab_depth(depth), PTR_DIFF(q, base))); depth++; + q = smb_io_pol_hnd(io, &(r_p->pol), q, base, align, depth); Index: smb.h ==================================================================RCS file: /data/cvs/samba/source/smb.h,v retrieving revision 1.99 diff -u -w -r1.99 smb.h --- smb.h 1997/10/29 19:05:33 1.99 +++ smb.h 1997/10/29 22:23:09 @@ -297,6 +297,7 @@ #define LSA_REQCHAL 0x04 #define LSA_SRVPWSET 0x06 #define LSA_SAMLOGON 0x02 +#define LSA_SAMLOGOFF 0x03 #define LSA_AUTH2 0x0f #define LSA_CLOSE 0x00 @@ -304,7 +305,6 @@ #define LSA_OPENSECRET 0xFF #define LSA_LOOKUPSIDS 0xFE #define LSA_LOOKUPNAMES 0xFD -#define LSA_SAMLOGOFF 0xFC /* srvsvc pipe */ #define NETSERVERGETINFO 0x15 @@ -678,6 +678,7 @@ /* LSA_Q_OPEN_POL - LSA Query Open Policy */ typedef struct lsa_q_open_pol_info { + uint32 ptr; /* undocumented buffer pointer */ UNISTR2 uni_server_name; /* server name, starting with two '\'s */ LSA_OBJ_ATTR attr ; /* object attributes */