Domain: samba.org
Stories and comments across the archive that link to samba.org.
Comments · 721
-
Re:Who owns it?
When has Microsoft EVER leveraged a patent to stifle progress?
Actually, according to this site, they've done it at least once, and they've engaged in some other tactics to discourage competition using patents as bludgeons or bargaining chips.
Here's a direct quote from the site I linked above:In 2003/04 Microsoft published patent license terms for CIFS which disallow the use ore [sic] reimplementation of this communication architecture by GNU software. In late 2002, Microsoft began dissuade corproporate customers from introducing GNU/Linux by pointing out that if they use free software nobody would protect them from being sued for patent infringement.
The implication is that SAMBA is on legally dubious footing. This also explains why current SAMBA development is at a glacial pace -- its developers need to reverse engineer a good chunk of Microsoft's networking code. That would be needed anyway, since Microsoft's own implementation is idiosyncratic and does not exactly conform to their own published specification.
Calling something a myth doesn't make it so. -
rsync
rsync is a much overlooked utility that allows secure file transfers/backups over a network (no mention of it at Linux-Backup.net). You can use it to backup whole file sets or just changes in file sets. I've used it to backup 3T/night over 4 subnets (NY, Chicago, Atlanta, San Francisco).
I can't say enough about this utility. It's command line driven, very scriptable, has a slew of great options, and has made my job really easy. -
File servers
[..]Windows systems are good for being domain controllers and file servers for Windows clients [...]
Windows:
Client Access Licenses
Linux:
Samba
Additionally, software such as NIS exists to fill the role of a single-sign-on, although I've only had painful experiences with it, personally (using Solaris in a completely crazy setup). -
Re:Client for what server?
Why would you need an HTTP server on your intranet to stream media?
So that I don't have to use proprietary protocols supported only by Microsoft Windows Media Center Edition.
AVI Wrapper? Again, why?
So that I don't have to use proprietary, patented wrapper formats supported only by Microsoft Windows.
VSC is open source WMV format
Google vsc wmv fails me. I get links to a British film censorship board. Got the URL of where I could learn more about this?
just have your server convert the codec format of the file when it is requested.
How much CPU time does real-time transcoding take?
This is just simple file sharing
By "file sharing" do you mean CIFS? In that case users of Free server operating systems are covered.
-
Re:NT AD or Domain?There's an app called winbind that is used with Samba and it can tie you into a Domain using Kerberos tickets. Pretty neat.
More info:
http://www.samba.org/samba/docs/man/Samba-HOWTO-Co llection/winbind.html -
Re:Java ???
mix that with the fact that java doesn't run well for most things that people try and use it for..
Most people seem to be doing server side development with it. Works fine. :-)
i am sorry but without inter proccess comunication it is usless to me.
You mean like TCP/IP, CORBA, RMI, SOAP, XML-RPC, etc.? You need to be more specific if you're going to complain. BTW, there are libraries for SMB Remote IPC and POSIX IPC, but using either of them won't result in very portable code under ANY language.
Which raises the question, what exactly are you doing that you need native IPC? -
Re:compiler?
Actaully would need to install distcc and probably do somthing like:
make -j 65536 CXX=distcc -
Re:This hasn't been my experience
For distributed compiling use distcc.
Regards,
Steve -
Re:Because bandwidth is scarce.
I do all my compiling in a flash with a short script and "make -j 16 CXX=sshcxx".
How about distcc? No need for NFS. -
Not much about Samba 4...
...just about Samba 3. Samba 4 info can be found here
-
Mr Samba?
Surely if anyone deserves this title it's Andrew Tridgell.
-
Re:I'm not sure but....
Yes you are correct. NTLM uses DES encryption to generate a hash of the password. See http://www.samba.org/samba/docs/man/Samba-Develop
e rs-Guide/pwencrypt.html for more information. -
Ask an expert...Depending on the degree of migration work involved, you may want to engage someone who's managed large moves away from Microsoft solutions.
If this were my company's move, I'd try to get John Terpstra of the Samba team to consult with us. See http://us1.samba.org/samba/team/ for contact information.
--dave
-
Re:Is this just possibly Copyright doing its job?
It's not reasonable to suggest that bnetd being legal would in any way threaten Blizzard's copyright. It should be legal to write software to speak any over the wire protocol I want. If I want replace a proprietary server with my own that I wrote, that should be legal. If it's legal for SAMBA, why isn't it legal for bnetd?
-
Re:Opensource list
I just add a bit on that list from top of my head.
Although I think the listed app goes beyond what the so called 'average pc user' wants, but there goes...
1. Konqueror ( http://www.konqueror.org/ )
2. Email - Sylpheed ( http://sylpheed.good-day.net/ )
3. I think Evolution is more like in this place.
4. Lately "Sound Juicer" is taking more attention too
5. VideoLAN aka VLC ( http://www.videolan.org/ ) and Ogle ( http://www.dtek.chalmers.se/groups/dvd/ ) [and Goggles ( http://www.fifthplanet.net/goggles.html ) for Ogle GUI wrapper] for DVD watching.
6. There are plenty way to do this, but the typical ones could be 'Jinzora' ( http://www.jinzora.org/ ) and 'MusicPD' ( http://www.mpd.org/ ), even plain Apache does it fine too, in a way.
8. If you want easier to manage iptables wrapper, Shorewall ( http://www.shorewall.net/ ) and there are other wrappers too.
9. KOffice ( http://www.koffice.org/ ) and by individual components, Abiword ( http://www.abisource.com/ ), Gnumeric ( http://www.gnome.org/projects/gnumeric/ ), Gnucash ( http://www.gnucash.org/ )
10. Inkscape ( http://www.inkscape.org/ ) or Sodipodi ( http://www.sodipodi.com/ ) for vector graphics.
11. Miranda ( http://miranda-im.org/ ). Windows only.
13. Hmm , Samba? ( http://www.samba.org/ ), WedDAV (Look parent post), FTP (plenty ftp daemons, ex : http://www.proftpd.org/, http://vsftpd.beasts.org/ etc)
16. GPhoto ( http://www.gphoto.org/ ), EOG ( http://www.gnome.org/ ? ), GQView ( http://gqview.sourceforge.net/ ). The latters are for just viewing mainly.
20. FreeNX ( http://www.nomachine.com/ , http://freenx.berlios.de/ ) http://www.poptop.org/ ), L2TPd ( http://sourceforge.net/projects/l2tpd ), RP-L2TPd ( http://sourceforge.net/projects/rp-l2tp/ )
24. Postfix ( http://www.postfix.org/ ), Sendmail ( http://www.sendmail.org/ ), Exim ( http://www.exim.org/ ), Cyrus ( http://asg.web.cmu.edu/cyrus/imapd/ ), Xmail ( http://www.xmailserver.org/ ), qmail ( http://www.qmail.org/ )
25. Spamassassin ( http://spamassassin.apache.org/ )
26. Same as above.
27. XSane ( http://www.xsane.org/ ) for sane frontends.
30. Buzzmachines ( http://www.buzzmachines.com/ ) I could be wrong...
31. 'various GUI frontends' - X CD Roast ( http://www.xcdroast.org/ ), K3B ( http://k3b.sourceforge.net/ )
32. Don't know any opensource ones... -
Re:Easier? explain this...Probably because samba isn't running. I have no clue how to configure it in GNOME, unfortunately.
You can always visit the samba web site to learn how to configure it on the command line. GNOME may have a config dialog for it as well. It would be wise to investigate the GNOME support before tinkering around on the command line.
-
Re:OT: A stupid Linux question
-
why am I not surprised.
This story seems like it was about to happen for quite some time.
In an interview with Jeremy Allison (http://us1.samba.org/samba/news/articles/lu46-all ison.pdf):
- the HP lawyer completely understands the licences, and as he's put it to me, 'There's nothing you can't do with a combination of GPL, LGPL, MIT or BSD. Any business objective you can achieve with those.' You don't need the HP Public Licence 1.7 or whatever. -
Contains a chapter by Steve FrenchThis wasn't mentioned in the summary/review, but the book appeared in a news posting on samba.org in June. It contains a chapter on File and Print Server performance written by Samba team member Steve French, and the fine folks at samba.org appear to recommend the book too.
21 June 2005 Performance Tuning for Linux Servers The new book Performance Tuning for Linux Servers from IBM Press contains a chapter on File and Print Server performance written by Samba Team member Steve French. The chapter discusses Samba and NFS performance concepts. Other chapters, especially those on networking and filesystem performance tuning for Linux, also could be helpful for Samba administrators.
-
Re:That attitude is pretty stupid
Unless it's a Bluetooth hands free kit, then you'll still get the evil radiation
;-)
Can't say I believe in this stuff. The RF from a mobile phone is fairly low power, aimed away from your head, and the wrong frequency to be biologically active. Interestingly Bluetooth and WiFi are both the same frequency as a microwave oven, e.g.
http://lists.samba.org/archive/wireless/2002-Octob er/002023.html
Oh noes! Wifi and Bluetooth will cook you!
But unless there is a sudden increase in cataracts/cancer/something nasty with a decent statistical link to one of these technologies, I'm not going to worry to much. -
Re:Developed on one last year
-
DirectX == No no
My comment wasn't about any specific platform - it was about things taking 15+ minutes to compile. As far as I can tell, those days are far from gone! Some of the code I work with takes an hour or two to compile (luckily I usually only have to do that once a day or so, and do single component compiles the rest of the time).
Fix your build system. Except in very rare cases or first-time compiles, you should be able to keep your build times low. I use Qt all the time, and all its complex generated code means it compiles much more slowly. With distcc and ccache, I can usually get my development build times down under the 2 minute mark even for large programs.Compiling the whole software package that you work on may take longer, but no one cuts a new version more than once or twice a day, and people who use Continuous Integration have build servers.
So yes, they're largely gone if you set up your infrastructure right.
Apple refuses to open up some of their standards or use other people's standards, it remains isolated from the PC world in terms of software compatibility.
You're not getting DirectX, ever. Which is a good thing. DirectX is horrifyingly complex when compared to OpenGL, and it doesn't need to be. Quite frankly, it's MS that needs to change. Things like the .framework architecture, have been around for years, but people are still lagging on them even though they are better ideas.No one is going to justify a technology downgrade just so that you can play Yet Another WW2 FPS.
-
DirectX == No no
My comment wasn't about any specific platform - it was about things taking 15+ minutes to compile. As far as I can tell, those days are far from gone! Some of the code I work with takes an hour or two to compile (luckily I usually only have to do that once a day or so, and do single component compiles the rest of the time).
Fix your build system. Except in very rare cases or first-time compiles, you should be able to keep your build times low. I use Qt all the time, and all its complex generated code means it compiles much more slowly. With distcc and ccache, I can usually get my development build times down under the 2 minute mark even for large programs.Compiling the whole software package that you work on may take longer, but no one cuts a new version more than once or twice a day, and people who use Continuous Integration have build servers.
So yes, they're largely gone if you set up your infrastructure right.
Apple refuses to open up some of their standards or use other people's standards, it remains isolated from the PC world in terms of software compatibility.
You're not getting DirectX, ever. Which is a good thing. DirectX is horrifyingly complex when compared to OpenGL, and it doesn't need to be. Quite frankly, it's MS that needs to change. Things like the .framework architecture, have been around for years, but people are still lagging on them even though they are better ideas.No one is going to justify a technology downgrade just so that you can play Yet Another WW2 FPS.
-
Re:Answer is Compression?The problem with your glib answer, is that "1" being the Holy Bible as compressed, is completely legitimate. It's be incredibly useful assuming the entire contents of the bible occurs often in whatever it is you are compressing. It's essentially the concept behind huffman encoding (it's not exactly the same, but picking the most common letters from your symbol set and encoding them as very short binary strings is the basic princepal).
Depending on how specialized your data is, it might be a net win to do exactly that. However, compressing arbitrary sets of data that obviously won't work. For most general compression methods the amount of randomness (which I'm more used to being referred to as entropy), what you are saying is accurate (that's true of gzip and bzip2 for example).
Read up on history of the American Revolution (I'm from the US, I have no idea if you are). Sometimes, 1 means "They are attacking by land", and 2 means "They are attacking by sea". Seems like a fine compression algorithm given the dataset they had to compress.
The answer to the posters original question, is that assuming all combinations of the alphabet symbols are equally likely, or that all valid input possibilities are equally likely, you can't compress the data at all. Compression depends upon non-uniform nature of the input (which is really what entropy means). However, your concept that it depends upon a singular input is wrong headed (there are lots of compression methods for which that is true, however, he's speaking strictly in the theoretical, not in the practical). It depends on the nature of all inputs and arranging that the most common inputs get re-encoded as shorter outputs. For lots of generic compression methods, that has a lot to do with entropy. I know you can compress english text much more then either gzip or bzip2 can. It's the basis of Andrew Tridgell's Ph.d thesis, I believe you can download it off his site. I believe this is a link to it.
Kirby
-
Rsync and Dirvish for disk-to-disk backupI host dirvish ( http://www.dirvish.org/ ), a backup application for Linux/Unix, using Rsync and Perl. Like Chuck Messenger, I rotate the target drives. You can only trust an air-gap between your backed-up data and a hostile world.
Rsync ( http://rsync.samba.org/ is really great for backup of Unix-like systems. The ability to hardlink identical files allows me to store hundreds of daily full images of 100GB of sources to a single target 250GB hard disk. Rsync is very smart about moving only changed data over the network, resulting in speedups of 10x to 100x. This allows me to do full backup on my offsite colo without using a lot of bandwidth. Note that Rsync is great for Mac/Unix/Linux, but it does sometimes have problems with windoze clients. But then, so do I
...Dirvish (originally written by jw schultz) is a Perl wrapper around Rsync. It facilitates the scheduling and management of Rsync based backups. We have a fairly active mailing list and contributions from around the world (open source is so cool!).
Backups should be safe against:
- Failed hard drives
- Stupid mistakes
- Enemy action
- Fire, flood, and theft
- Host and power supply failure
- Unauthorized access
Backups should be automatic (or they will not get done) and cheap (hard disks are cheaper than tape, and much cheaper when you use hard linking). Rsync stores the data in a file system closely approximating the original, which facilitates restores.
If a cheap electrolytic filter capacitor dries out in your power supply, and the 5V output decides to start making a 15V squarewave instead, everything in your computer case will get fried. Including every one of the RAID disks. External USB enclosures (or airgaps!) protect against host and power supply failure.
If I was really paranoid about protecting my data, I would run a long ethernet cable to a nerdly neighbor a few houses away, and put a second dirvish server there. While I do rotate my drives into ziplok bags in a fire-resistant safe, the maximum credible accident (a furnace explosion) would tear open the firesafe. If I was paranoid and rich, I would use a high bandwidth VPN connection to a big disk in a colo machine in a different city.
The best backup is server-pull, frequent, automated backup onto multiple R/W media in multiple places, and frequent checking of that data. The closer you can approximate this, the more secure your data will be.
Keith
-
Wrong: Samba is not a "Competing" Product
Microsoft's latest attempt to reconcile with the European Commission's antitrust rulings against the company may result in another victim.
Nope.
It seems their offer, if accepted, will strike a considerable blow at a leading competitor in the realm of file and printer sharing.
You're repeating yourself, and it's still no.
The popular open source suite Samba stands to be the recipient of a backhanded slap from Redmond if the offer stands and the European branch of the Free Software Foundation is taking it personally.
Repeating yourself again, using imagery to reinforce it, and again...no.
How is Samba being specifically targeted? Greve argues this is because "Samba is the only remaining major competitor of Microsoft in this market."
Samba is not a competitor to Microsoft. Samba does not run on Microsoft Windows. Microsoft does not sell or market it's SMB protocols separately from Windows. Microsofts SMB protocols have not been ported to any other operating system on which Samba runs.
Microsoft refusing to open source their protocols and methods does not disadvantage the Samba project, principally because nothing has changed anyway. Samba arose from reverse engineering SMB messages sniffed out on a network. And Samba engineers will continue to improvise, adapt, and overcome like they always have. That adaptability is what makes OSS better than proprietary solutions.
Now go back to sleep, chicken little. -
Re:now all we need is automated....
Actually, that could be done, could it not?
Apparently it works for Samba. :) -
Arrogance?
Umm...
From the Samba home page:
Samba is an Open Source/Free Software suite that has, since 1992, provided file and print services to all manner of SMB/CIFS clients, including the numerous versions of Microsoft Windows operating systems. Samba is freely available under the GNU General Public License.
Am I missing something? Samba was developed by a bunch of (ignorant? arrogant?) free software developers.
-
Re:Comparison
It does indeed look like that they're building their own LDAP server. I'd have to search the mailing lists for reasons as to why, but if it's the same quality as their current products, it won't be a let down.
-
Make your own acceleratorYou need:
- sshd / ssh access on a machine "at work" (preferably, don't use port 22)
- Install rabbit
- Tunnel the port 9666 to your browsing machine
This could be quite useful if you connect via GPRS and pay data by the megabyte... or if you're travelling to an unfriendly country and don't want unfriendly people to snoop on your browsing habbit.
-
distcc?What are some good business-specific tasks you have used distributed or grid computing to work through?
The only time I've used distributed computing for legitimate purposes was using distcc for compiling across multiple machines.
This only works if you're a software shop though
.. -
Re:Sometimes C++ programmers miss the point
You may want to look into using a compiler cache, http://www.ccache.samba.org/ is a good one.
-
Re:Sometimes C++ programmers miss the point
We have a C++ library that is around 250,000 lines of code, that compiles in around 2 hours (and this is after a lot of work to try to make the compilation as fast as possible).
I'm sure there is plenty of room for improvement in reducing the build time for a project that size. 250,000 loc is not very big really.
Do you know where the bottleneck is?
Do you have a lot of template code in headers? In this case moving the template bodies out of the headers and using explicit template instantiation would help.
Or perhaps a god class that includes everything and is included by everything else? A good old fashioned piece of refactoring would be well worth the effort here.
Including a lot of 3rd party headers that never change? Stick them in a precompiled header so the dont need to be parsed everytime you build.
If you are using GCC you can use tools like distcc http://distcc.samba.org/ and ccache http://ccache.samba.org/.
If it is causing that much of a hit to your productivity. Then it is worth making the effort to improve the situation -
Re:Sometimes C++ programmers miss the point
We have a C++ library that is around 250,000 lines of code, that compiles in around 2 hours (and this is after a lot of work to try to make the compilation as fast as possible).
I'm sure there is plenty of room for improvement in reducing the build time for a project that size. 250,000 loc is not very big really.
Do you know where the bottleneck is?
Do you have a lot of template code in headers? In this case moving the template bodies out of the headers and using explicit template instantiation would help.
Or perhaps a god class that includes everything and is included by everything else? A good old fashioned piece of refactoring would be well worth the effort here.
Including a lot of 3rd party headers that never change? Stick them in a precompiled header so the dont need to be parsed everytime you build.
If you are using GCC you can use tools like distcc http://distcc.samba.org/ and ccache http://ccache.samba.org/.
If it is causing that much of a hit to your productivity. Then it is worth making the effort to improve the situation -
Re:Answer
Remember, CUPS has nothing to do with preparing a data stream for printing. It is merely a queue manager. All it does to prepare a data stream is to hand it off to the filter program.
This is completely incorrect. CUPS is a full featured RIP and postscript processor. It does support arbitrary binary printing, however, and this is exactly what happens when you print to cups from windows via samba. Please see the cups documentation.
If cups is just a "dumb spooler", explain lease how the heck it can print pdf, jpeg, hp-gl, tiff, and hundreds of other formats directly to your postscript printer?
If you don't have a postscript printer, yes, you must use a ppd that calls a intermediary driver (e.g., hpijs) that cups just passes the job to.
-
Re:This is about the *project*, not morality
The idea that Linus is on the side of a complete and utter asshole whiling publicly berating the author of both samba and rsync is offensive to me.
I agree. Also add ccache to the list of Tridge's amazing accomplishments.
You've got to wonder about why Linus made these completely irrational statements. He must have been painted into a corner by his poor decision to use BK in the first place. -
Re:Did you actually read Linus' reply?In all fairness, how many CIFS vendors are there for unix now? Sun has Cascade, and that seems to be about it.
Indeed so. I recently read a book called "Implimenting CIFS - The common internet file system" (Prentice-Hall, Christopher R Hertel) which I heartily recommend btw - its an entertaining and informative read - and a common thread though both his text and several contributions from other people is the almost complete of documentation about the protocol - which is pretty much a defacto MS standard, and subject to change at any point MS thinks is a good idea. MS have recently released an "official" spec for CIFS - and not surprisingly, the team that developed CIFS.NET had to go look at the samba source to figure out some of the areas where the documented protocol seemed to fall short of reality....Actually I rather wish Samba were ported to Windows as well -- there's features in it that are useful on any platform.
might want to look at these Java and Dot Net projects then - libraries that add either new or additional functionality, based on samba code. -
Back to the French WaiterTridge had a good explanation of how they did work on Samba that he likened to a French Cafe link
The thing is that in order for it to work you needed to know at least one side of the conversation and to observe the behavior of the other side.
You might decide to learn by flying to France and sitting in a French Cafe and just listening to the conversations around you. You take copious notes on what the customers say to the waiter and what food arrives. That way you eventually learn the words for "bread", "coffee" etc.
This is of course a good way to reverse engineer a protocol but you have to at least be able to compare what is requested with what is received. If the requests aren't documented and the received isn't documented either then how do you even start? In that case you'd probably have to know what is requested.
This is conjecture on my part but it certainly is on the telling side and so far Tridge's explanation is definitely light. -
Re:The headline is not false
Linux runs on a lot of different hardware. Not every hardware vendor is so enlightened as to contribute open source drivers, and some actively oppose it.
And yet Linux supports at least some of that hardware. How? By reverse engineering it. By poking at it, trying things out, seeing what works, seeing what doesn't. Basically the same techniques tridge would have used on Bitkeeper repositories.
Sun was no friend of Linux in the 90s. They could have made just the same argument: that Linux is stealing their valuable IP by discovering enough about Sun hardware to run there.
But, y'know, that argument is bullshit. Reverse engineering for interoperability is legally protected and morally right.
Remember the very first filesystem supported by Linux was the minix filesystem, which was based on the non-free design of Minix.
Now, perhaps you can say that Linus never wrote any of those drivers himself, but he certainly accepted them into his tree and encouraged people to write them. -
Re:Egh
-
Wrong wrong wrong
GCC had to (at least partially) reverse engineer several architectures due to incomplete/missing documentation. This is ironic since GCC ended up being a far better development platform than the vendor's own "native" tools. (some of these architectures have since been obsoleted, heh.)
Tridgell did in fact reverse engineer microsoft SMB. He did it before anyone knew there was any linux client available and before anyone knew that there was any documentation available. And the documentation that was there was incomplete, so there was still reverse engineering that needed to be done. Hell, there's STILL reverse engineering being done in order to meet all the little incompatibilities that MS keeps sticking in new releases of XP and W2K3.
Don't believe me? samba team's own account of samba history states:
So Andrew chose the obvious solution. He wrote a packet sniffer, reverse engineered the SMB protocol, and implemented it on the Unix box. -
Re:weak answer from Tridge
Its sad to see people put celebrity before principal, if this were Microsoft making these arguments against Samba, rather than Linus' friend making them against this Tridge guy, there would be no question as to which side most slashdotters would come down on.
You mean this Tridge guy? The guy who wrote Samba? -
How Samba was written by Andrew Tridgell
(prostituting anonymously)
Go, AT!
How Samba was written
---------------------
Andrew Tridgell
August 2003
Method 1:
---------
First off, there are a number of publicly available documents on the
CIFS/SMB protocol. The documents are incomplete and in places rather
inaccurate, but they are a very useful starting point. Perhaps the
most useful document is "draft-leach-cifs-v1-spec-02.txt" from 1997
which is a protocol specification released by SNIA and authored
primarily by Microsoft (with significant input from many other people,
including myself). This document has expired as an IETF draft, and
Microsoft has dropped their attempts to get CIFS accepted as an IETF
standard, but the document is still available if you look hard enough
with an internet search engine.
There are numerous other public specifications for various pieces of
the protocol available. I maintain a collection of the ones I know
about in http://samba.org/ftp/samba/specs/
Method 2:
---------
I call this method the "French Cafe technique". Imagine you wanted to
learn French, and there were no books, courses etc available to teach
you. You might decide to learn by flying to France and sitting in a
French Cafe and just listening to the conversations around you. You
take copious notes on what the customers say to the waiter and what
food arrives. That way you eventually learn the words for "bread",
"coffee" etc.
We use the same technique to learn about protocol additions that
Microsoft makes. We use a network sniffer to listen in on
conversations between Microsoft clients and servers and over time we
learn the "words" for "file size", "datestamp" as we observe what is
sent for each query.
Now one problem with the "French Cafe" technique is that you can only
learn words that the customers use. What if you want to learn other
words? Say for example you want to learn to swear in French? You would
try ordering something at the cafe, then stepping on the waiters toe
or poking him in the eye when he gives you your order. As you are
being kicked out you take copious notes on the words he uses.
The equivalent of "swear words" in a network protocol are "error
packets". When implementing Samba we need to know how to respond to
error conditions. To work this out we write a program that
deliberately accesses a file that doesn't exist, or uses a buffer that
is too small or accesses a file we don't own. Then we watch what error
code is returned for each condition, and take notes.
Method 3:
--------
Method 3 is a greatly expanded variant of the "swear words" technique
I have already mentioned. It involves writing something called a
"protocol scanner". A protocol scanner is a program that tries all
possible "words" in some section of a protocol and uses the response
to automatically deduce new information about the protocol. It is like
the French Cafe technique but with a very patient waiter.
For example, some section of the protocol might contain a 16 bit
"command word" that tells the server what operation to perform. There
are 64 thousand possible command words, so we try all of them and note
which ones give an error code other than "not implemented". Then we
need to work out how much supplementary data each command word needs,
so the program tries 1 byte of blank data, then 2 bytes then 3 bytes
etc until the server changes its response in some way. When the
response changes then you know (with a fairly high level of confidence
at least) that you are using the right quantity of data. You then try
using non-blank data, putting in a filename or a directory name or a
username until the server changes its response again. After a large
number of tries the program eventually finds a combination of data
that gives no error code at all - the server -
Re:What?Here
Given his success at SAMBA, it's a reasonable bet that
he can do it
he's ethical
The obvious question is, how much better will we all be when a good merging application is as free as the fundamental theorem of calculus? -
Re:I just want C++ programs to COMPILE faster
Maybe someone's already said this, but look into three projects to speed up your compile:
1) make (or some equiv). Yes, I said make.
GNU make accepts a -j parameter, to thread builds. Only really useful on hyperthreading or multiprocessor boxes, however. That said, if you use:
2) http://distcc.samba.org/: distcc. You can distributedly compile your apps across other machines with a similar setup. Only really helpful if you have more then one box.
3) http://ccache.samba.org/: ccache. This is a C/C++ compiler. Only really useful for iterative development, and if you're doing a lot of make clean/make, as it'll cache things that don't to be rebuilt.
Just some suggestions. Also, check out prelink, to prelink anything using shared libraries (trade space-savings into performance) and make startup code run faster in some cases.
Hope that helps!
++Informative? Pwetty pwease? -
Re:I just want C++ programs to COMPILE faster
Maybe someone's already said this, but look into three projects to speed up your compile:
1) make (or some equiv). Yes, I said make.
GNU make accepts a -j parameter, to thread builds. Only really useful on hyperthreading or multiprocessor boxes, however. That said, if you use:
2) http://distcc.samba.org/: distcc. You can distributedly compile your apps across other machines with a similar setup. Only really helpful if you have more then one box.
3) http://ccache.samba.org/: ccache. This is a C/C++ compiler. Only really useful for iterative development, and if you're doing a lot of make clean/make, as it'll cache things that don't to be rebuilt.
Just some suggestions. Also, check out prelink, to prelink anything using shared libraries (trade space-savings into performance) and make startup code run faster in some cases.
Hope that helps!
++Informative? Pwetty pwease? -
Re:I just want C++ programs to COMPILE fasterI don't mind pissing away RAM, I'm willing to spend 200MB if they can just do it faster, maybe through aggressive caching?
If you eat a lot of RAM, it will take some time to fill that RAM with interesting stuff, process it, and get even more interesting stuff out of it. And even now, gcc will happily eat 200MB for "modern C++" templatized source code.
Aggressive caching? How about ccache?
-
Re:Thanks for the Review. Any recomendations?Samba-3 By Example has some useful information on implementing LDAP. Available in dead tree and
.pdf format.Also, The Samba/LDAP How-To using Samba v. 3 by David Trask may be helpful to you as well.
Finally, while I have not reviewed this one it sounds like what you are searching for: LDAP System Administration from O'Reilly.
Happy authenticating!
-
Re:Yes, it is...
I wonder if it would help people understand the difference by giving an example of another program. Most of you know Samba. Some would claim Samba is an emulator of Windows File and Printer Sharing(TM). Actually, that program and Samba were(originally) both implementations of the CIFS/SMB protocol. If that were the extent of it, that would be two programs implementing an API.
In continuation of the story, MS has added other functionality beyond that which is actually in the spec for SMB, and through some experimentation, Samba has discovered and implemented the additions. That does move it closer to emulation. -
Novell eDirectory or Kerberos or Kerberos+LDAP
Ever heard of Active Directory? Or seen MS's educational pricing? Both of those are much more compelling than you might think.
Both are a compelling reason to go with something more scalable, interoperable, easy to use and cheaper.If you want off the shelf, then Novell's NDS or eDirectory is the way to go.
If you have some system administration background or really want Free Software, then Kerberos or Kerberos + LDAP is the way to go. It's not the bear people make it out to be.