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