Samba CVS Log: Samba-2 Branch


Modified Files: nameannounce.c nameelect.c namework.c Log Message: workgroup announcements appearing as servers (use of DFLT_SERVER_TYPE in too many places) lkcl
Modified Files: Makefile loadparm.c proto.h Log Message: added nameconf.c to Makefile. added mission lp_local_master() parameter. lkcl
Added Files: winsd.c winsproxy.c winsresp.c winsserv.c winsservreply.c winsservresp.c Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: nmbd.c nmblib.c nmblookup.c nmbsync.c Added Files: nmbpacket.c Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: namedbname.c namedbresp.c namedbserver.c namedbsubnet.c namedbwork.c Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: nameserv.c nameservreply.c nameservresp.c Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: namework.c nameannounce.c namelogon.c Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: namebrowse.c nameelect.c namepacket.c namequery.c nameresp.c Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: Makefile local.h nameserv.h proto.h smb.h trans2.h Log Message: some _serious_ messing about. - splitting nmbd down into winsd/nmbd - adding port 137 proxying to sort out a) nmblookup (FINALLY working with name status replies to port 137! must have winsd running for it to work, though...) b) communication between winsd and nmbd - unicast replies to broadcast requests by nmbd go to winsd, and need to be forwarded back to nmbd. - wierd configuration options for multi workgroup code. this is not satisfactorary, and needs further work. lots of horrible design issues to resolve. - samba looking like several domain logon servers / domain master browsers. good stuff. - lots of bugs sorted in name registration. most of them were spotted by the introduction of winsd, as a nmb packet with recursion_desired must be dealt with by winsd, and !recursion_desired goes to nmbd. then there's the reply side of packets generated by nmbd to sort out, too. - introduction of netbios scopes as a per-domain/workgroup configuration option. this issue is not completely resolved, but the idea will be that samba could be a multiple domain master browser (etc...) for _different_ scopes. same workgroup name. i know: it's wierd. there are issues to be resolved on the client side, too: i don't think windows clients bother to pass over the scope in the compressed 'called' name of a SMB session setup. which is a _total_ pain in the neck. there's probably lots more that i can't even _begin_ to remember about! lkcl
Modified Files: loadparm.c Log Message: i got fed up with adding such a long log message. lkcl
Modified Files: server.c Log Message: fed up with long boring log message lkcl
Modified Files: reply.c Log Message: fed up with the boring long log message. lkcl
Modified Files: util.c Log Message: fed up with the boring long log message. lkcl
Modified Files: message.c pipes.c password.c interface.c Log Message: fed up with the boring long log message. lkcl
Modified Files: ipc.c Log Message: fed up with the boring long log message. lkcl
Modified Files: access.c checkos.sh client.c clientutil.c installbin.sh installman.sh installscripts.sh Log Message: fed up with the boring long log message. lkcl
Modified Files: mkproto.awk system.c Log Message: fed up with the boring long log message. lkcl
Modified Files: nameservresp.c Log Message: uninitialised variable in use lkcl
Modified Files: client.c Log Message: line 846 - unsigned int tested for < 0. lkcl
Modified Files: winsd.c winsresp.c Log Message: msg
Modified Files: winsservreply.c winsservresp.c Log Message: msg
Modified Files: namedbname.c namedbresp.c Log Message: msg
Modified Files: nameannounce.c nameelect.c Log Message: msg
Modified Files: nmbd.c nmbpacket.c Log Message: msg
Modified Files: .cvsignore Log Message: added winsd to ignore files lkcl
Modified Files: nameservreply.c nameservresp.c Log Message: msg
Modified Files: util.c Log Message: msg
Modified Files: namedbsubnet.c namedbwork.c Log Message: msg
Modified Files: nameserv.h Log Message: lkcl
Modified Files: nameserv.c Log Message: lkcl
Modified Files: proto.h Removed Files: nameconf.c Log Message: the usual overkill changes involved in debugging nmbd / winsd when it's going through the wringer. this version passes nmb_names around (instead of char *name, int type) particularly in send_mailslot_reply() and other such functions, in the hope that one day, it will be possible to support multiple scopes properly. note: this is not fully integrated. fixed a (possible?) bug in util.c where the comparison of two null-length (not the same as null pointers) strings returned FALSE. i copied StrnCaseCmp, took out the 'n' and made a new version of StrCaseCmp. lkcl. i hope to hell that this goes into cvs samba2 not the old tree :-) p.s all the previous commits that had 'msg' as a log message, well, they should have had this one.
Modified Files: nameannounce.c namebrowse.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: nameelect.c nameresp.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: namedbresp.c namedbwork.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: winsserv.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: nameserv.h nameserv.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: nmbpacket.c proto.h Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: winsresp.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: winsservreply.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: winsservresp.c Log Message: created netbios_name_query(), netbios_name_status(), netbios_name_register() and netbios_name_release() functions, to keep marty happy. these functions call queue_netbios_packet() which is now a static function. these four netbios_name_xxx() functions are now only called with _necessary_ parameters instead of the old queue_netbios_packet() function being called with an onion of all parameters. next stage: add a call-back function, and remove the states stuff. then update the documentation :-) lkcl
Modified Files: Makefile client.c nameannounce.c namebrowse.c namedbname.c namedbresp.c namedbsubnet.c namedbwork.c nameelect.c namepacket.c nameserv.c nameserv.h nameservresp.c namework.c nmbd.c nmblib.c nmbpacket.c proto.h winsd.c winsserv.c winsservreply.c winsservresp.c Removed Files: nameresp.c winsresp.c Log Message: created netbios_name_query/status/register/release(). got rid of enum state_type - using higher order functions instead. as a result, winsservresp.c, nameservresp.c, nameresp.c and winsresp.c are somewhat redundant: the new higher order functions are static and have been moved to the appropriate module which called the netbios_name_xxxx() function. these functions (e.g response_name_announce()) deal with positive _and_ negative responses (including implicit negative responses when broadcasting). it should now be more obvious how to add extra functionality based on the new netbios_name_xxxx() functions. lkcl
Modified Files: Makefile namedbname.c namedbresp.c namedbserver.c namedbsubnet.c nameelect.c namequery.c nameserv.c nameserv.h nameservreply.c nmbd.c nmblib.c nmbpacket.c proto.h winsd.c winsserv.c winsservreply.c winsservresp.c Log Message: general messy debugging. added a new netbios name state: EXPIRED. he he. winsd now doesn't delete names (except when someone registers a unique name under a new ip address and the old owner doesn't respond) - it marks them as expired. then, when someone queries a name that has EXPIRED, winsd will send the querier a WAIT FOR ACKNOWLEDGE packet, do a name query on the EXPIRED name, and replies depending on the answer to that query. if this is considered nasty practice, maybe a better thing to do would be to simply reply negative to EXPIRED names, but still maintain them in the database until someone re-registers that EXPIRED name. fixed the winsd name checking code - winsd will now cycle through all of its names sending out queries to make sure they are all valid. lkcl
Modified Files: Makefile loadparm.c nameelect.c nameserv.c nameserv.h nameservreply.c proto.h Added Files: winslib.c winsquery.c winsreg.c winsrel.c winsstat.c Removed Files: winsservreply.c winsservresp.c Log Message: split winsservreply.c and winsservresp.c into winsreg,rel,stat,query. bug in Makefile - log.wins was going into the new nmb directory not var directory. added capability to do a 'hierarchical' recursive WINS server arrangement. a top-level WINS server gets registrations from down-level WINS servers on _behalf_ of the clients. this _doesn't_ reduce the amount of name registrations / refreshes going on, but it should localise name queries. this is going to be important for sites with a PPP link or dialup in between. i wonder what effect it would have on the WINS databases if you _didn't_ always pass name registrations across, but only did name queries, instead? hm. in the recursive arrangement so far, registration and release are passed to the top-level WINS server for approval (which could _also_ recurse). for name queries, if the name is not in the local WINS database, it is recursed to the top-level WINS server. name releases are NOT passed back to down-level WINS servers from the top-level WINS server. the down-level WINS servers must either rely on name refreshing (which i will update to deal with this, later) or on name expiry. names that expire now remain in the wins.dat database, with EXPIRED against their status. names that have expired will not get refreshed, but the WINS server _will_ attempt to query such names itself, _before_ issuing a reply. it's all very complicated, and going to be interesting to watch on a packet sniffer! lkcl

This page was produced by a Perl script written by Paul Blackman,  ictinus@lake.canberra.edu.au