Guide to Better Smalltalk
Depending on how compulsive you are, you may want to save the conversations that you have with certain people over IM. This can be important if you're using IM to get detailed information that you will want to refer to later, or simply if you want to remember what you said to someone the last time that you exchanged messages with them. You can keep a log of a specific conversation by selecting the Options C Log Messages menu option before initiating a conversation with someone else. Selecting this menu option logs all subsequent messages in a conversation, so this is only convenient if you know beforehand that you want to keep a record of your conversation. Selecting this command displays a message in your conversation window, confirming that logging has been enabled the remote user doesn't see this message. If you always want to keep a log of your conversations, you can configure Pidgin to do this by selecting the Tools C Preferences menu option, and selecting the Logging tab in the...
Using the PAM library in an application is a little different than some libraries, as not only will we make calls into the library, but also the library will call a function in our code. This function is called a conversation junction. PAM uses this function as a method of communicating with our program. This facilitates the ability to provide information in the form of usernames, passwords, and so forth, without PAM having to know how to interact with the user directly. Figure 11-1 shows how our application interacts with PAM. Figure 11-1. An application interacts with PAM through a callback conversation function. Figure 11-1. An application interacts with PAM through a callback conversation function. We can then move on to examining the conversation function definition The first argument functions as a counter, indicating the number of entries in the pam_message array that is given as the second parameter.1 The pam_response array will contain our 1 1 reply to each message in the...
Recall that IP is a connectionless protocol whereas TCP is a connection-oriented protocol. TCP uses a three-way handshake to begin a conversation. HTTP takes advantage of the connection-oriented nature of TCP and in fact knows nothing of lower-layered (remember the OSI model) protocols. As far as HTTP is concerned, it hands its data down to the next lower layer and is done. To that end, when an HTTP conversation is initiated, the first thing you should see through TCPDump is the three-way handshake of TCP followed by protocol-specific data.
Although it's not possible to actually capture an SSH conversation, you can look at some of the connection setup portions of the protocol. Because SSH is encrypted, though, none of the credentials or other data during the actual session is available for you to view. It should be noted, however, that if you can gain access to the private key of the server, you could theoretically decrypt the contents of the SSH connection. Doing this is well beyond the scope of this text.
Capturing an SMTP conversation is not unlike capturing an HTTP session. Begin with the basic TCPDump options that you'd like to use and then build an expression to grab the appropriate type of data, including protocol, port, and source or destination hosts. For example, here's a simple capture of port 25 traffic along with my normal TCPDump choice of options As with HTTP, after the initial TCP handshake is done, the SMTP conversation gets underway
Second, Ubuntu is a project on which you can have a real impact. It has the benefit of deep and reliable financial backing and a corporate team to give it muscle, but it is in every regard an open project, with participation at the highest levels by true volunteers. We work in a fishbowlour meetings take place online, in a public forum. That can be tricky. Building an operating system is a fast-paced business full of compromise and tough decisions in the face of little information. There are disagreements and dirty laundry, and mistakes are made (I should know, some of them are mine. You should hear the one about the Warty Warthog desktop artwork). The transparency of our environment, however, means that we can count on having robust conversations about our optionsall of them, even the ones the core team would never have dreamed up. It also means that mistakes are identified, discussed, and ultimately addressed faster than they would be if we lived and worked behind closed doors. You...
Layered on top of this network access is a wide range of application programs that extend the computer's resources around the globe. You can carry on conversations with people throughout the world, gather information on a wide variety of subjects, and download new software over the Internet quickly and reliably. Chapter 10 discusses networks, the Internet, and the Linux network facilities.
If you consider interaction with the shell as a kind of conversation, it's a natural extension to refer back to things mentioned previously. You may type a long and complex command that you want to repeat, or perhaps you need to execute a command multiple times with slight variation. If you work interactively with the original Bourne shell, maintaining such a conversation can be a bit difficult. Each repetitive command must be entered explicitly, each mistake must be retyped, and if your commands scroll off the top of your screen, you have to recall them from memory. Modern shells such as bash and tcsh include a significant feature set called command history, expansion, and editing. Using these capabilities, referring back to previous commands is painless, and your interactive shell session becomes much simpler and more effective.
This process is performed by yet another protocol, Transmission Control Protocol (TCP), which builds a reliable service on top of IP. The essential property of TCP is that it uses IP to give you the illusion of a simple connection between the two processes on your host and the remote machine, so you don't have to care about how and along which route your data actually travels. A TCP connection works essentially like a two-way pipe that both processes may write to and read from. Think of it as a telephone conversation.
Some of the names have interesting histories to them. Warty Warthog was named as such due to a conversation between Mark Shuttleworth and developer Richard Collins. When told that Ubuntu would be released in a maximum of six months, Collins thought that such a short time wouldn't allow for much time to polish the product. Shuttleworth responded, So we'll have to nickname it the warty warthog release. The name meaning that the release would be full of warts. Hoary Hedgehog came from a change in the name of the third release. Originally, it was going to be called Grumpy Groundhog, but Shuttleworth states on the Ubuntu Wiki that he did not like the connotation that the word grumpy had and opted for Breezy Badger instead. The names then followed alphabetical order to help organize the naming scheme. There are no promises from Shuttleworth and team that they will follow the letters of the alphabet, but you can be assured that concept will be around for some time.
A shell is any Linux program that allows the user to give instructions in some way and that then carries out those instructions using the underlying facilities of the Linux operating system. The instructions in question can be anything a user might want to do, such as printing a file, starting a program, or opening a network connection. When veteran Linux users talk about using the shell in everyday conversation, however, they are usually referring to a command interpreter, which is a special kind of shell program that accepts words and alphanumeric characters as its instructions.
If vim has everything an editor should have in one pretty, if sometimes impenetrable, package, emacs is a modular monster. Emacs reads email and Usenet newsgroups, browses the web and composes web pages in HTML, XHTML, XML, and sundry other formats as well. It offers a development environment for practically every extant programming language. You can even see a sublimely odd conversation between Zippy the Pinhead and a psychoanalyst. But to do all this, you must have the proper mode installed. Emacs is a big program (taking up to 30MB), but it does not include every mode that has been written. Sometimes you have to go hunting for the thing you need.
To establish two-way communication with another user, you and the other user must each execute write, specifying the other's username as the username. The write utility then copies text, line by line, from one keyboard display to the other (Figure 5-15). Sometimes it helps to establish a convention, such as typing o (for over ) when you are ready for the other person to type and typing oo (for over and out ) when you are ready to end the conversation. When you want to stop communicating with the other user, press CONTROL-D at the beginning of a line. Pressing CONTROL-D tells write to quit, displays EOF (end of file) on the other user's terminal, and returns you to the shell. The other user must do the same.
The first line shows one way to invoke sendmail directly rather than let your favorite Mail User Agent (MUA) such as Elm, Pine, or Mutt do it for you. The -v option tells sendmail to be verbose and shows you the SMTP dialogue. The other lines show an SMTP client and server carrying on a conversation. Lines prefaced with indicate the client (or sender) on gonzo.gov, and the lines that immediately follow are the replies of the server (or receiver) on whizzer.com. The first line beginning with 220 is the SMTP server announcing itself after the initial connection, giving its hostname and the date and time, and the second line informs the client that this server understands the Extended SMTP protocol (ESMTP) in case the client wants to use it. Numbers such as 220 are reply codes that the SMTP client uses to communicate with the SMTP server. The text following the reply codes is only for human consumption.
A secure shell server lets you connect to a system from another system, via TCP IP, and obtain a shell prompt, from which you can issue commands and view output. You may not be familiar with secure shell servers, but familiar with Telnet, which works similarly. A secure shell server differs from a Telnet server in that the conversation between a secure shell server and its clients is sent in encrypted form so that hackers cannot easily discover private information, including userids and passwords.
.LO RN Our telephone conversation .LO SA Dear Mr. Doe . LT In reference to our telephone conversation on the 4th, I am calling to confirm our upcoming appointment on the 18th. I look forward to discussing the merger. I believe we have a win-win situation here. .FC Yours Truly,
Instant messaging is a way of chatting with other people in real time. It's as if you were having a phone conversation, but you're typing instead of speaking. You can talk to one other person or a whole group of people and sometimes share files with them. After this, you should find the program works just like any other instant messaging program. You can double-click each contact in your list to start a conversation. To sign off, right-click the icon in the notification area, and then select the Change Status option from
IM has been popularized by America Online (AOL) as a way for AOL users to chat directly with each other rather than speak in chat rooms. As long as the IM clients for everyone involved in the conversation are running, they alert you to any incoming messages. The clients also announce to the server that you are active and listening for messages, so your friends can be made aware via buddy lists that you are available to chat with them.
KDE provides more than one application for finding data on your computer or in the file system. With Kerry, you can very easily search your personal information space (usually your home folder) to find documents, e-mails, Web history, IM ITC conversations, source code, images, music files, applications, and much more. For more information, refer to Chapter 6, Searching with Kerry (page 73).
I'm sorry, sir I understand, sir. I know that your bookmarks in Netscape are important. It's just that they were stored on your PC's local hard disk and when it crashed well sir, there's just nothing I can do about it. I hear a loud click as the other participant in this conversation slams down the phone in disgust.
With the introduction of VoIP, the need for security is compounded because two invaluable assets must be protected your data and your voice. Protecting the security of conversations is now needed. In a conventional office telephone system, security is usually assumed because intercepting conversations requires physical access to telephone lines or compromise of the office PBX. For this reason, only particularly security-sensitive organizations bother to encrypt voice traffic over traditional phone lines. The same cannot be said for Internet-based connections. The risk of sending unencrypted data across the Internet is much more significant. Since the current Internet architecture does not provide the same physical wire security as the traditional PSTN phone lines, the key to securing VoIP is to use security mechanisms similar to those deployed in data networks (firewalls, encryption, etc.) to emulate the security level currently enjoyed by PSTN network users.
Deploy appropriate physical controls. This is especially important in a VoIP environment. Unless the voice traffic is encrypted, anyone with physical access to the LAN could potentially tap into telephone conversations. Even when encryption is used, physical access to VoIP servers and gateways may allow an attacker to perform traffic analysis to some extent, depending on configuration. Organizations should, therefore, ensure that adequate physical security is in place to restrict access to VoIP network components. Furthermore, additional security measures such as authentication, address filtering, and alarms for notifying the administrator when devices are disconnected can mitigate the risks involved in physical security.
If we used a sessionless protocol, then the nickname would need to be transmitted with each message sent. In this case, it would be impossible to prevent two clients from using the same nickname in the same virtual room. This would make conversations very confusing indeed
Most processes have a controlling terminal, particularly if they were started interactively by a user. The controlling terminal, which I'll refer to as simply dev tty, is used for initiating a conversation directly with the user (for example, to ask them something). An example is the crypt command
Real-time communication tools have moved from the realm of teenage time wasters into serious collaboration tools for business. Chat and instant messaging technologies are now used to provide technical support for computer problems, confirm whether marketing and development are in agreement about a product, and even engage in complex business conversations and planning. In this chapter, you'll learn about the variety of Linux tools you can use to engage in this activity.
Instant messaging (IM) is kind of like a phone call in that you can communicate with others in real-time. The difference is that instead of talking, you type your messages in an IM client application. Both you and the person you are communicating with see each line of text right after you type it and press Enter. The IM client also enables you to post an Away message that lets others know that you are online but not available for conversation. Behind the scenes, instant messaging needs a central server that keeps track of all the online users and that facilitates sending the typed text between the parties engaged in messaging. That central server comes from an IM service. Some popular IM services include IRC, AIM, Yahoo Messenger, MSN Messenger, and ICQ. You have to get an account with one of these IM services and sign in before you can exchange instant messages with others on that service. After you sign in, you can find out if your friends are online and send messages via the IM...
To send a message to the contact, type your message in the text field below the conversation history. When you have typed your message press the Enter key to send the message to your contact. If you are communicating with more than one person then all of the conversations will be shown in tabs within the same window. is window shows your picture on the right and your contact's picture on the left. Ensure that your microphone and speakers are connected, and proceed with the audio conversation. You can finish the conversation by clicking on the Hang up button.
GnomeMeeting allows Linux users to participate in phone conversations and video conferences from any sufficiently equipped PC with an Internet connection. It uses the H.323 voice-over-IP (VoIP) protocol to transmit voice and (if available) webcam video to and from your location. GnomeMeeting will run on dial-up and broadband connections, although the video will be more troublesome on a slow connection.
As mentioned in the introduction to this chapter, digital audio and video is an area in which the computer industry's tendency towards using jargon and three-letter acronyms makes many conversations and reference information almost incomprehensible to the novice. Though I've been a record collector, CD
To configure your setup, choose Tools Preferences. The Conversations tab lets you set the font, images, and smiley icons for your messages. The Network tab lets you configure your network connection, and the Logging tab lets you turn message logging on or off. The Sounds tab allows you to choose sounds for different events. You can find out more about Pidgin at http pidgin.im. Pidgin is a GNOME front end that used the libpurple library for actual IM tasks (formerly libgaim). The libpurple library is used by many different IM applications such as Finch.
The Linux implementation of desktop search is called Beagle. Beagle is still very much in development and, as such, is not included by default in Ubuntu. To install Beagle select the Beagle package from Applications Add Remove Applications. Beagle not only indexes the name and contents of your files, it also indexes e-mails in Evolution, instant messaging conversations in Gaim, blogs, Web pages, and more.
Beagle Desktop Search relies on a stored database of information, so it doesn't manually search the disk each time a query is entered. However, it's radically different from most search tools because, as its name suggests, it's limited to your desktop data (in fact, its database is limited to items within your home folder). In addition, along with files, chat conversations, e-mail, web history, and many other items are cataloged. Alongside the filenames in the list of results will be all the data about the files. For example, if you search for an image file, Beagle Desktop Search lists the resolution, file size, and much more.
You're almost ready to start chatting. Before joining the Fedora conversation, you should read the etiquette directives at tinyurl.com anel. It's also a good idea to lurk for a while to check out the flavor of the conversation before jumping in with your questions and or answers.
If SuSE Linux is more your style, you'll find lots of help on the Freenode IRC server. Join the SuSE chat-room by entering the command join suse in the unlabeled field at the bottom of the KSirc window. The SuSE channel opens, displaying the current conversation in the large window on the left, with the active participants in the panel on the right. After lurking for a while, you may want to join the conversation. Just enter your comments or inquiries in the field at the bottom of the screen and press Enter. In a flash, you're participating in the chat.
You should check out the rules of conversation for the Mandrake chat room at http mandrake.brain.org before joining the conversation in the Mandrake chat room on the Freenode IRC server. When you are comfortable with the rules of conduct, just enter join mandrake in the KSirc chat field and press Enter. The screen promptly presents the current conversation in the Mandrake chat room and the list of users currently in attendance.
In the simple network shown in Figure 17-1, four computers are connected to a single hub. Assuming the hub is passive, when computers 1 and 2 are communicating at the same time as computers 3 and 4, each conversation is limited to a maximum of half the network bandwidth. If the hub were a switch, each conversation could use the full network bandwidth.
Preprocessing performs lots of useful tasks for a well-oiled Snort IDS. It provides a clearer picture of a stream of communications between the computers, instead of just relying on a single packet without any context. When two computers are exchanging information, the conversation that they're engaged in is usually called a session. Sessions have a well-defined beginning and end, as well as rules for who can speak and at what time. The most useful preprocessor plug-ins are the ones that involve stream reassembly and state-ful inspection. Because the normal method of communication using TCP IP can be likened to a bucket brigade (little pails of info with to and from addresses being carried back and forth) they're considered a conversation only when viewed all together, in a stream. Stateful inspection allows Snort to understand that this stream of packets is a conversation, rather than just random, individual packets.
Real time has some specific terminology and concepts that you find throughout the chapter and in other real-time articles and books. Taking time to understand these concepts can help you understand not only the real-time technologies that Linux offers but also what a real-time system is and how you can use it. These terms are probably familiar, but not in the context of real-time systems. They're frequently misused because real time is thought of as a high-throughput or quick-responsiveness technology, rather than one focusing on predictability. In addition, many of the projects conversations you'll encounter in Linux focusing on real time use these terms without explicit definition.
Pj JUSOTlSSiaS know what kind of improvement you've made unless you have an accurate record of before and after boot times. Before reducing startup scripts or adjusting readahead on your system, you may want to install Bootchart (described in the previous section) and boot your system with its original configuration in order to have Bootchart keep a record of what a system boot looked like and how long it took before you made your improvements. These Bootchart before and after records are also great conversation starters when trying to pick up a date at the local Internet caf .
You can also prohibit the transfer of jobs below a given grade at certain times. To do this we set the maximum spool grade that will be prohibited during a conversation. The maximum spool grade defaults to z, meaning all grades will be transferred every time. Note the semantic ambiguity here a file is transferred only if it has a grade equal to or above the maximum spool grade threshold.
Next follows the handshake phase the master sends its hostname plus several flags. The slave checks this hostname for permission to log in, send, and receive files, etc. The flags describe (among other things) the maximum grade of spool files to transfer. If enabled, a conversation count or call sequence number check takes place here. With this feature, both sites maintain a count of successful connections, which are compared. If they do not match, the handshake fails. This is useful to protect yourself against impostors. The master then sends all files queued for the remote system whose spool grade is high enough. When it has finished, it informs the slave that it is done and that the slave may now hang up. The slave now can either agree to hang up or take over the conversation. This is a change of roles now the remote system becomes master, and the local one becomes slave. The new master now sends its files. When done, both uucicos exchange termination messages and close the...
Things get a bit more complicated when either the local or the destination machine is running some version of Microsoft Windows. Windows printers use a protocol called the Server Message Block (SMB), renamed the Common Internet File System (CIFS), to provide shared printing. Trying to get Windows and Linux computers to share printers using their native tools is like trying to get two people who don't understand the same language to have a conversation. Fortunately, Linux includes a package that teaches Linux to speak the Windows file and printer sharing language of SMB CIFS Samba.
Switches have another advantage over hubs Switches enable NICs to operate in full-duplex mode, in which both computers involved in a transaction can send data simultaneously, much like a telephone conversation. Hubs use half-duplex mode, in which only one computer can send data at a time, much like using a walkie-talkie. Depending on the nature of your network traffic, full-duplex operation can improve
This Objective could be considered a brief getting started with shells overview because it details many of the basic concepts necessary to utilize the shell environment on Linux. These concepts are fundamental and very important for system administrators working on Linux and Unix systems. If you're new to shells and shell scripting, take heart. You can think of it as a combination of computer interaction (conversation) and computer programming (automation). It is nothing more than that, but the result is far more than this simplicity implies. If you're an old hand with shell programming, you may want to skip ahead to brush up on some of the particulars necessary for Exam 102.
Using the previous section's conversation function, our application has what we need for PAM to communicate with us, but we have not yet done anything to tell PAM that, or to perform the actions we want. Thus we begin our main function by calling The call to pam_start initializes the PAM library, having it read etc pam.conf and set things up. The first argument is the name of the service we want to use (this is any valid service from pam.conf), the second should be NULL, the third is a pointer to the pam_conv structure that holds our conversation function, and the last is a pam_handle_t structure, which we will need for future calls into the library. As long as this call returns PAM_SUCCESS, we can continue. We then call pam_authenticate, which does exactly what its name implies. PAM first calls our conversation function to retrieve the username and password of the user to authenticate, and then issues calls in each of the modules in the stack according to the rules in etc pam.conf....
3 Select the scope of the search in the Show section of the right panel. To search all the indexed content, choose Everything. However, you can limit the search only to indexed Applications, Contacts, Office documents, instant messenger Conversations, Images, Media files, Web pages, or File Path names by clicking the appropriate item in the panel. You can change the scope before or after the search is performed.
This constraint led to something that resembles the loopback interface. snull is not a loopback interface, however it simulates conversations with real remote hosts in order to better demonstrate the task of writing a network driver. The Linux loopback driver is actually quite simple it can be found in drivers net loopback.c.
The socket type indicates the protocol being used to communicate through the socket. A connection-oriented protocol works like a normal phone conversation. When you want to talk to your friend, you have to dial your friend's phone number and establish a connection before you can have a conversation. In the same way, connection-oriented data exchange requires both the sending and receiving processes to establish a connection before data exchange can begin.
This conversation shows nntpd's proper reaction the message Got it tells you that it already has this article. If you get a message of 335 Ok instead, the lookup in the history file failed for some reason. Terminate the conversation by typing Ctrl-D. You can check what has gone wrong by checking the system log nntpd logs all kinds of messages to the daemon facility of syslog. An incompatible dbm library usually manifests itself in a message complaining that dbminit failed.
The disadvantage of symmetric key encryption is that it depends heavily on the availability of a secure channel through which to send the key to your friend. For example, you would not use email to send your key if your email is intercepted, a third party is in possession of your secret key, and your encryption is useless. You could relay the key over the phone, but your call could be intercepted if your phone were tapped or someone overheard your conversation.
These settings are additional checks performed by the postfix SMTP connector, that are performed at different stages throughout the e-mail conversation it has with the outside world. The set of restrictions listed here will follow a typical SMTP conversation, the first of which is the sender identifying itself. To test this change, save the file, in a terminal run SuSEconfig then postfix reload and try to start an SMTP conversation by running On a computer in an 'untrusted' network, start an SMTP conversation by running To test this change, save the file, in a terminal run SuSEconfig then postfix reload and try to start an SMTP conversation by running To test this change, save the file, in a terminal run SuSEconfig then postfix reload and try to start an SMTP conversation by running To test this change, save the file, in a terminal run SuSEconfig then postfix reload and try to start an SMTP conversation by running To test this change, save the file, in a terminal run SuSEconfig then...
A HELO is the first part in a handshake (so called because that is how we civilly start a conversation). When an SMTP server receives a HELO from the client, it then responds with the capabilities of the SMTP server itself. As the SMTP grew, more features were added. For backward compatibility, the HELO command responded with the very standard response of what the SMTP server can do. If an SMTP client can understand extended SMTP commands, it can start the conversation with an EHLO (Extended HELO). In response to this, the SMTP server tells the client what extra functionality it has. One of the main uses for EHLO is to initiate a Secure Sockets Layer (SSL) SMTP connection.
Think of connection-oriented protocols in terms of a telephone call. Generally there is an acceptable protocol for making a phone call and having a conversation. The person making the call, the initiator of the communication, opens the communication by dialing a telephone number. The person (or machine, as is the ever-increasing case) at the other end receives the request to begin a telephone conversation. The request to initiate a telephone conversation is frequently indicated by the ringing of the telephone on the receiver's end. The receiver picks up the telephone and says Hello or some other form of greeting. The initiator then acknowledges this greeting by responding in kind. At this point, it's safe to say that the conversation or call setup has been initiated. From this point forward, the conversation ensues. During the conversation if something goes wrong such as noise on the line, one of the parties may ask the other to repeat their last statement. Most of the time when a...
So far in this chapter, you've seen a number of examples for using TCPDump to capture various types of traffic. These examples were given to show the usage of TCPDump in relation to expressions and other options. Now it's time to give you real-life examples of using TCPDump to capture specific types of traffic. The situations in which you might use these examples will vary, but I'll try to give some clue as to why you might use a given example, where I can. It might be helpful to see how a filter expression is built when trying to capture in the real world. I briefly touched on this topic earlier. However, before giving recipe-type solutions, I'll show you how to build a filter with the specific goal of capturing an HTTP conversation.
You may, at times, want to communicate directly with other users on your network. You can do so with VoIP, Talk, ICQ, instant messenger, and IRC utilities, provided the other user is also logged in to a connected system at the same time (see Table 15-2). With Voice over the Internet Protocol applications, you can speak over Internet connections, talking as if on a telephone. The Talk utility operates like a two-way text messaging tool, enabling you to have a direct two-way conversation with another user. Talk is designed for users on the same system or connected on a local network. ICQ (I Seek You) is an Internet tool that notifies you when other users are online and enables you to communicate with them. ICQ works much like an instant messenger. With an Internet Relay Chat utility (IRC), you can connect to a remote server where other users are also connected and talk with them. Instant messenger (IM) clients operate much the same way, allowing users on the same IM system to...
Ethernet uses a technique called Carrier Sense Multiple Access with Collision Detection (CSMACD) to share the cable among many hosts. The best model for understanding how CSMACD works is a human conversation. To speak during a lively conversation, you wait for a lull in the discussion that lull is the human equivalent to a carrier signal. When you sense the lull, you begin to speak that's the transmission. If someone begins speaking just before you do, you hear him speaking and you stop that's the collision detection. After giving the person his say, you speak again.
A trend over the past few years has been protocols that use nonstandard ports to circumvent firewalls and packet capturing and filtering. Such programs, including much of the peer-to-peer software, can be somewhat difficult to find during packet captures because most of the data during the conversation is binary and is thus not human-readable.
Article on Usenet, instead of waiting for a journal publication. Usenet files themselves were organized as journal publications. Because journals are designed to address specific groups, Usenet files were organized according to groups called newsgroups. When a user posts an article, it is assigned to a specific newsgroup. If another user wants to read that article, he or she looks at the articles in that newsgroup. You can think of each newsgroup as a constantly updated magazine. For example, to read articles on computer science, you would access the Usenet newsgroup on computer science. More recently, Usenet files have also been used as bulletin boards on which people carry on debates. Again, such files are classified into newsgroups, though their articles read more like conversations than journal articles. You can also create articles of your own, which you can then add to a newsgroup for others to read. Adding an article to a newsgroup is called posting the article. Many of the...
As Bill Lubanovic and I were putting the final touches on this book, I overheard a conversation between two coworkers in our Cisco lab discussing Linux. The senior networking guru of the two made an interesting remark. He said that despite all his knowledge, he felt incomplete as a professional because he had never learned Linux. A moment later he and the other gentleman turned to me and looked me square in the eyes. I smiled and went on working. In both of those cases and many others, I wished I had this book ready to hand over to highly trained and skilled people who wanted to learn Linux administration. Perhaps you have had similar experiences and wished you had a book like this one at hand. I venture to guess that conversations like the ones I've just described occur many times in many places daily.
You're at a party when an attractive member of the opposite sex approaches and asks you what you do. You could be flip and say something like as little as possible, but eventually the conversation will get around to the fact that you write software for embedded systems. Before your new acquaintance starts scanning the room for a lawyer or doctor to talk to, you'd better come up with a captivating explanation of embedded systems.
You can read USENET newsgroups through newsreader software that accesses either the Internet or a local site that offers USENET service (called a newsfeed). Many on-line services, such as CompuServe and Delphi, provide access to the newsgroups (sometimes at an additional cost), and some have their own forums for Linux users. BBSs dedicated to Linux in whole or in part are also appearing, and many excerpt the USENET conversations for the BBS users who do not have access to USENET.
TCP, an abbreviation for Transmission Control Protocol, is a connection-oriented protocol that is frequently used with IP. Referring to TCP as connection-oriented means that it provides reliable service to the layers above it. Recall the telephone conversation analogy given earlier in this chapter. As in that analogy, two applications wanting to communicate using TCP must also establish a connection (sometimes referred to as a session). The TCP header is shown in Figure 1.5.
In order to pay developers to work on Ubuntu full time, Shuttleworth needed a company to employ them. He wanted to pick some of the best people for the jobs from within the global free and Open Source communities. These communities, inconveniently for Shuttleworth, know no national and geographic boundaries. Rather than move everyone to a single locale and office, Shuttleworth made the decision to employ these developers through a virtual company. While this had obvious drawbacks in the form of high-latency and low-bandwidth connections, different time zones, and much more, it also introduced some major benefits in the particular context of the project. On one hand, the distributed nature of employees meant that the new company could hire individuals without requiring them to pack up their lives and move to a new country. More important, it meant that everyone in the company was dependent on IRC, mailing lists, and online communication mechanisms to do their work. This unintentionally...
Subsequently, when the client attempts to access a shared resource within the domain, the client system enters into a secure challenge and response exchange with the server of the resource. The server then enters into another secure challenge and response conversation with a domain controller to check that the client is valid. (What actually happens is that the server uses information it gets from the client to pretend to be the client and authenticate itself with the domain controller. If the domain controller validates the credentials, it sends an SID back to the server, which uses the SID to create its own SAT for the client to enable access to its local resources on the client's behalf.) At this point, the client is authenticated for resources on the server and is allowed to access them. The server then uses the SID in the access token to determine what permissions the client has to use and modify the requested resource by comparing them to entries in the ACL of the resource.
Releases also have nicknames, decided upon by Mark Shuttleworth, and humorously derived from types of animals. 8.04 has the nickname Hardy Heron. 8.10 is called Intrepid Ibex. Sometimes the animal component is dropped in formal conversation 8.04 might be referred to simply as Ubuntu Hardy , or just Hardy .
The shell, on the other hand, is an advanced way of communicating with the system, because it allows for conversation and taking initiative. Both partners in the communication are equal, so new ideas can be tested. The shell allows the user to handle a system in a flexible way, and is also a means of stress reduction. Who does not appreciate being treated like an adult
The goal of any phone system is to establish and manage communication sessions for transmitting voice data, or sound, in general. Additionally, transmitting other data formats, such as video, text, or images, may also be supported. In any case, a stable and reliable transmission has to be maintained throughout the entire conversation, and the communication session needs to be closed when either party decides to end the call. To achieve that, two classes of protocols are used by VoIP technology in a similar manner to traditional telephony signaling protocols and media transport protocols.
Ekiga is an open source softphone application for Ubuntu. It is a free Voice over IP (VoIP) and video conferencing application. VoIP routes voice conversations over the Internet or through any other IP-based network. You can use Ekiga to call, send instant messages and be contacted by other Ekiga users.
Now, compare this to Figure 6-2, which shows the HTTP protocol steps. In this case, the client is requesting a file instead of a hamburger, but the idea is the same. Most protocols consist of a conversation between the client and the server, with the client making requests that the server fulfills.
Additional processing, such as compression and encryption, may increase VoIP network delay. If a stream cipher is used for encryption, very little delay is introduced if the key stream can be produced at least as fast as the voice data arrives. Block ciphers may generate more delay, which will vary with the algorithm used, but still introduce relatively little overhead. More significant delays are caused by computing HMAC hash values for authentication. In most applications, authentication and integrity are equally or more important than encryption, but with voice processing for human speakers some form of authentication is already built-in because parties recognize the person on the other end of the conversation. Even if the conversation is with a stranger, concern with source authentication applies primarily to call setup, rather than to the conversation. As a result of these considerations, some designers may limit HMAC use if performance is a problem.
At the group level, the title contains the name of the group, the number of conversation threads, and total number of articles, for example, alt.sources (7 23). If the group has been set up not to thread articles (for example, alt.sources is in (HOME) .tin unthread), the title will be alt. sources (U 23). There are two possible display formats
Allows you to have a conversation with another user on the same or a remote machine. The talkd daemon handles the connections between the machines. The talk utility on each system contacts the talkd daemon on the other system for a bidirectional conversation. Launched by xinetd.
It is a felony in many states to record a phone conversation without the other party's knowledge or permission. If you're dialing out to a phone network, or your guests are dialing in from the phone network, always be sure you get your guests on record acknowledging that they know they're being recorded, and keep those records. It's a good idea to get these records for straight VoIP calls too, as the law will doubtlessly be extended to VoIP networks at some point in the future.
News is a bit of a misnomer in the technology world, having really nothing to do with journalism. Newsgroups are public electronic discussion groups, called forums. A newsgroup may reside on a single computer with no network access or on any kind of network. Usenet is a TCP IP service for the world's largest collection of newsgroups. Each newsgroup is an electronic conversation group about a particular topic. When computer users talk about news, they usually mean Usenet news. At last count, there were nearly 50,000 newsgroups dedicated to pursuits as varied as culinary arts and skydiving. To get news on any of these topics, you first need access to a News server. Usually, your ISP provides this access, but if you want to run your own news server, you need to set up your news transport software, the NNTP server.
A window is created for each individual user in the conversation. If the input focus is in the main window (the one with ytalk in the title bar) then anything typed will be sent to all connected users. If the input focus is in one of the user's windows, then anything typed will be sent as an aside to only that user. If the aside option is turned off, then ytalk will beep and not accept anything typed when the input focus is not in the main window.
It can easily show you the conversation between the client and server. If you are using a custom protocol like the one we use in Chapter 9, Ethereal can still help, because our protocol is text based. Figure 8-1 shows the contents of a JOIN command that the chat client sent to the chat server.
After such a conversation, it's smart to try to get your thoughts down on paper as soon as possible. Some of what gets said will fade with time, so work quickly to capture what you can of the requirements that were spoken. Even if you have to leave lots of blanks, keep moving and get as much of the major requirements written down as you can, even if they don't sound very formal or polished. Then go back, revise and edit your statements, filling in the blanks where you can. Sometimes you will need to ask others to get the answers to fill in the blanks. Other times you can use your own judgment and initiative to provide an answer. Out of this process with its subsequent rewrites will come the requirements document. Here's an informal list of the requirements for the budget application, based on the conversation between Bob and Ellen.
Once you've built a prototype, shop it around. Hold informal meetings where you demonstrate the basic functions to stakeholders. We recommend, as much as possible, meeting with one group of stakeholders at a time. That way you can keep your conversations focused. If you have two different stakeholder groups represented and their expertise and interests are wildly different, you'll be boring the participants all the time. Even if their expertise is similar, you may have groups with competing or conflicting requirements. While you need to understand such conflicting requirements and eventually come to some detente, this meeting is not the best venue for settling those issues it would more likely simply scuttle your meeting and void any value from it.
POSIX access control lists (ACLs) are an extension specified in a POSIX standard to make the DAC model of Linux finer grained. As usual, I assume that you have some familiarity with the concept, but a very good overview is provided in the manual page acl(5) .3 ACLs are implemented on top of extended attributes and modified with the same methods as other extended attributes are. In comparison to other xattrs whose contents are of no interest to the kernel, ACL xattrs are integrated into the inode permission checks. Although filesystems are free to choose a physical format to represent extended attributes, the kernel nevertheless defines a conversation structure to represent an access control list. The following namespaces must be used for extended attributes that carry access control lists
Discuss the requirements for your application with someone who has no experience with a similar product. How difficult is it to get useful feedback Now show them (the simple features of) a working spreadsheet or word processor, as if it were your prototype. Does the conversation change In what ways Is the feedback now more or less useful than before they saw the prototype
Speex Originally designed purely for Voice over IP (VoIP), Speex was created for speech encoding. As such, it concentrates on audio frequencies generated during ordinary conversation. Aside from the fact that Speex is an open-source codec that claims to not employ any patented software methods, there really isn't any reason to use it, even if you're ripping speech tracks from a CD. It is built for transmission across low-bandwidth connections (or small file sizes). If hard disk capacity is an issue, then you might consider it, but Ogg and MP3 are better suited in virtually all situations. The Speex file extension is .spx.
Perhaps it is easier to continue this conversation if you look at some sample output together. To produce the first packet trace, I ran net view bilbo from my Windows 95 client, queso. bilbo, a Slackware Linux box, is running Samba 2.0. I captured the packets on bilbo by running
Once known as Gaim, but forced to change its name due to a trademark dispute, Pidgin is a multiprotocol instant-messenger client with tabbed message windows and an impressive array of plugins, including support for two very powerful encryption schemes to keep conversations private. The interface is simple, the program is easy to use, and it doesn't get in the way all must-haves in an IM program. Pidgin doesn't support audio or video chat (few clients for Linux do), but all the other great peer-to-peer conference features to which users are accustomed are readily available.
Once you have added an account to Pidgin, you can log in and start communicating. If you are new to instant messaging, you need to first add some buddies to your list. To add a buddy, you will need his or her screen name. Once you have that, go to Buddies Add Buddy. If you look over the Buddies menu, you can see that from here you can also add a group to better organize your buddy lists, show different information about your buddies, sort your buddies, and get information about other users. To send a new message, simply go to Buddies New Instant Message. You will need to enter the name of the person you wish to IM, and then you can send your message if they are online. Since instant messaging oftentimes takes the place of a phone conversation, emphasis and tone can be communicated as well. When sending a message, you can use the Smile button to bring up various emoticons that can set the tone for your message. Emoticons are extremely popular when sending IMs. If a user sends a message...
PBXB invites PhoneB to the conversation specifying PhoneA's IP address as the other end. Asterisk calls the handing off of the phone call in steps 2 and 4 above a re-invite or a native bridge. The steps above show that the phone talks to its local PBX, which in turn talks to the remote PBX. The local PBX then re-points the two sides of the call to each other, so that the local phone is talking to the remote end. Ideally, both sides will do this, and the phones are free to talk directly, leaving the SIP server out of the conversation.
Similar to the other projects mentioned in this book so far, the BusyBox project offers support through a mailing list and keeps a history of the conversations. Searching the mailing list archives is an excellent way to get an answer to your question quickly, but don't be shy about asking a question or responding to a query you can answer. As is the case in any other open source project, the people on the list tend to help those who do their best helping themselves, so if you have question or don't understand something, put some effort into finding the resolution yourself. You may find the answer and if you don't, your questions will be much more focused and easer for those monitoring the list to respond to.
Kerry is a KDE front-end for the Beagle search tool, which indexes your personal information space to help you find whatever you need. You can use Kerry to find documents, e-mails, Web history, IM ITC conversations, source code, images, music files, applications, and much more. Because Kerry is a front-end to Beagle, it needs the beagle daemon to be functional. Kerry and Beagle can now index many KDE-specific sources of information, such as Kopete conversations, Konqueror history, or KMail messages. The result is a smooth integration into the KDE environment through the Kerry interface. Find more about Beagle in Chapter 6, Searching with Beagle (tGNOME User Guide).
The tcpdump program, as extended by Andrew Tridgell, allows you to monitor SMB network traffic in real time. A variety of output formats are available, and you can filter the output to look at only a particular type of traffic. You can examine all conversations between client and server, including SMB and NMB broadcast messages. While its troubleshooting capabilities lie mainly at the OSI network layer, you can still use its output to get a general idea of
This string controls the chat conversation that takes places between smbd and the local password changing program to change the users password. The string describes a sequence of response-receive pairs that smbd uses to determine what to send to the passwd program and what to expect back. If the expected output is not received then the password is not changed.
ISDN (Integrated Services Digital Networks, called RNIS in France) is a special type of fully digital telephone service it's mostly used to connect to your Internet service provider (with SLIP or PPP). The main advantage of ISDN is that the speed is higher than ordinary modem telephone connections and that you can have voice conversations while downloading stuff. It works only if your computer is equipped with an ISDN card and both you and your service provider purchased an ISDN line from the phone company. For details, read Select this option if you want your kernel to support ISDN.
When transferring a mail message a client (such as Eudora) will connect to the SMTP server (on port 25). The client will then carry out a conversation with the server using the commands from Table 16.5. Since these commands are just straight text you can use telnet to simulate the actions of an email client.
Talk to another user currently logged on your machine (or use talkusername1 machinename to talk to a user on a different computer) . To accept the invitation to the conversation. type the command talk username2 . If somebody is trying to talk to you and it disrupts your work. your may use the command mesg n to refuse accepting messages. You may want to use who or rwho to determine the users who are currently logged-in. talk is one of the old-fashioned standard UNIX tools. yet it still can be cool and useful in some situations.
A buffer overflow occurs when a program written to read data is not properly restricted to the intended area of memory. This is similar to when your cellular phone picks up someone else's conversation. You don't really know whose conversation you are hearing, but you might hear something that the speaker didn't intend to reveal to anyone outside the target audience. A buffer overflow causes a program to read data that was not intended for it. It is quite difficult for even skilled programmers to take advantage of this, but there are programs available on the Internet that were written explicitly for this purpose. Typically, programs prone to overflow buffers are reported on the main security lists for your distribution.
This means that immediately after connecting to the server port (in this example, 5559), the client is actually immediately redirected to another free port (for instance, 55237). This process happens automatically through the accept call. The redirection is needed because if the communication with the client took place on the original port, no other clients could connect. This means that the server port is exclusively for handling incoming connections ongoing conversations with clients take place after connection on a separate socket, created and returned by the accept call. The section of the server that carries on a conversation with the client is similar to the corresponding section in the client. We simply use the send and recv functions to send and receive data to and from the client. Whatever the server sends with send is received by the client with recv whatever the client sends with send is received by the server with recv.
In addition to our conversation function (declared as auth_conv() previously), we define the auth_struct structure as a means by which we can pass our conversation function the username and password for the user we are trying to authenticate. As a result of the conversation function being a callback, we do not have access to any data not defined in the local scope of the callback itself. PAM resolves this by allowing us to pass a void *, which is then provided unchanged as an argument to the callback, giving us a chance to access something in our own heap from the callback function.
The function auth_conv() is the callback function, or conversation function, which PAM will call when we call pam_authenticate() in our pam_authenticate_user() function. We walk the array of responses that we must provide, and copy the username and password that were provided as the optional appdata_ptr argument into the responses where appropriate.
Whenever discussions of popular PHP tools spring up, the conversations usually center around text editors or coding IDEs. Which has the best language support, syntax highlighting, code parsing, and so on Unfortunately, with all the focus on text editors, excellent non-coding tools can sometimes get neglected. Instead of rehashing the usual arguments for one editor versus the other, this appendix shows you some of the tools you can use in your development cycle those that don't immediately churn out code, but those that you might find hold a key position in the overall development process.
The idea behind the CSMA CD protocol is similar to the way in which you have a conversation at a party. You listen for a pause (carrier sense) and talk when no one else is speaking. If you and another person begin talking at the same time, both of you realize the problem (collision detection) and pause for a moment then one of you starts speaking again. As you know from experience, everything works out.
These inefficiencies could be addressed through improvements in the IMAP server and proxy algorithms, but another problem is intractable a proxy cannot improve the protocol. The fact that the Web mail client is using IMAP forces it to behave as a complete standalone client. If the developers want to add a complex feature, such as conversation views (a la Google mail), which requires complex message cross-referencing across several folders, the protocol itself becomes a major impediment. Still, there are plans for significant improvements and additions, such as an internationalized interface, optional Ajax components that would improve client interaction and conversation views.
Get All The Support And Guidance You Need To Be A Success With Conversation And Communication. This Book Is One Of The Most Valuable Resources In The World When It Comes To The Art Of Conversation And Communication.