Usage Convenctions The infrastructure described in this chapter uses the client/server model to provide a public mail service through the telephone line. In this configuration, we (the poeple building the infrastructure) provide the information you (the person using the infrastructure) need to know in order to establish a point-to-point connection from the client computer to the server computer through the telephone line. The infrastructure described in this chapter is made available to you free of charge, however, you should know that maintaining it costs both money and time. For example, for each hour the server computer is on production there is an electrical consume that need to be paid every month. Likewise, each call that you establish from the client computer to the server computer will cost you money, based on the location you made the call from and the time you spend connected. In this section we discuss usage convenctions we all must be agree with, in order to achieve a practical and secure interchange system. Administering Dial-Up Connections The lifetime of dial-up connections must be limitted based on the number of users you expect to establish connection and the kind of services you plan to provide. The mail service provided by the server computer is conceived as a public service so anyone with a modem attached to a computer would be able to have access to it. However, due to hardware limitations, only 100 users will be allowed to be registered in the public mail service. Based on this information, the lifetime of established connections will be of 15 minutes from the established moment on. Once the connection has been established, if the link is idle for 1 minute, the server computer will close the established connection to free the telephone line. This control can be implemented through the and options inside the pppd's configuration file. Only registered user profiles will be able to establish connections to the server computer. This control can be implemented using the option in the pppd's configuration file to define a list of all telephone numbers that are allowed to establish connection with the server computer, based on the list of registered user profiles. By default, all telephone numbers are denied from establishing access with the server computer, except those ones explicitly set by option. If the option is not present in pppd's configuration file, all telephone numbers are allowed to establish connection with the server computer, so be sure to include the option in pppd's configuration file if you want to control who can/cannot establish connection with the server computer. ##### centos-pppd-config will overwrite this part!!! (begin) ##### allow-number 12345 allow-number 21345 allow-number 34567 ##### centos-pppd-config will overwrite this part!!! (end) ##### The centos-pppd-admin application must be considered part of user profile registration process inside the server computer. The centos-pppd-admin application would be used to control the list of allowed telephone numbers inside the pppd's configuration file, based on the list of user profiles. The centos-pppd-admin application should be executed after any registration/deletion action against the list of user profiles with root privilages in order to be able of writing the settings on pppd's configuration file. Redialing consecutive connections from the same telephone number without any dealy between call retries must be avoided from client computers. This would reduce the possibilities for other client computers to establish connection with the server computer. To prevent this issue from happening, it would be necessary to provide more telephone lines than users authorized to establish connection with the server computer. Nevertheless, there is only one telephone line available for the server computer to use. Administering User Profiles In order for you to use any service provided by the server computer it is required that you register yourself inside the server computer creating a user profile. The user profile provides the user information required by services inside the server computer (e.g., username, password, e-mail address, telephone number, etc.). To register new user profiles, you need to use the web application provided by the server computer. For example, assuming the domain name of the server computer is example.com, the web application would be accessable through the following URL: . To reach the web interface, the first thing you need to do is establishing a dial-up connection to the server computer as described in . Once the dial-up connection has been established, you need to open a web browser (e.g., Firefox) and put the URL mentioned above in the address space, and press Enter to go. This will present you a web page with the instructions you need to follow in order to register your user profile. Other actions like updating or deleting your own user profile should be also possible from this web interface. The web interface used to manage user profiles inside the server computer must be presented over an encrypted session in order to protect all the information passing through. Inside the server computer, all related subsystems in need of user information (e.g., Postix, Cyrus-Imapd and Saslauthd) retrive user information from one single (LDAP) source. The web application provided by the server computer manages all these subsystems' configuration files in order to provide a pleasant experience for end users. The web interface must be as simple as possible in order to achieve all administration tasks in the range of time permitted by the server computer before it closes the connection established from the client computer. More information about the web interface you need to use to manage your user profile inside the server computer can be found in . Administering Services The information generated inside the server computer is isolated from Internet. This way, any information generated inside the server computer will be available only to people registered inside the server computer. For example, don't ever expect to send/receive e-mails to/from Internet e-mail accounts like Gmail or Yahoo, nor visiting web sites like Google or Wikipedia either. For this to happen, it is required an established connection between the server computer you are establishing connection through and the Internet network those services are available in. Without that link, it is not possible to direct your requests to those sites. The implementation of services that required persistent connections (e.g., chats) will not be considered as a practical offer inside the server computer. Instead, only asynchronous services (e.g., e-mail) will be supported. This restriction is required to reduce the amount of time demanded by services. For example, consider an environment where you connect to the server computer for sending/receiving e-mails messages and then quickly disconnect from it to free the telephone line for others to use. In this environment, there is no need for you and other person to be both connected at the same time to send/receive e-mail messages to/from each other. The e-mails sent from other person to you will be available in your mailbox the next time you get connected to the server computer and use your e-mail client to send/receive e-mail messages. Likewise, you don't need to be connected to the server computer in order to write your e-mail messages. You can write down your messages off-line and then establish connection once you've finished writing, just to send them out and receive new messages that could have been probably sent to you. Another issue related to e-mail exchange is the protocol used to receive messages. Presently, there are two popular ways to do this, one is through IMAP and another through POP3. When you use IMAP protocol, e-mail messages are retained in the server computer and aren't downloaded to client computer. Otherwise, when you use POP3 protocol, e-mail messages are downloaded to the client computer and removed from server computer. Based on the resources we have and the kind of link used by the client computer to connect the server computer, using POP3 is rather prefered than IMAP. However both are made available. Assuming you use IMAP protocol to read your mailbox, be aware that you need to be connected to the server computer. Once the connection is lost you won't be able to read your messages (unless your e-mail client possesses a feature that let you reading messages off-line). Morover, you run the risk of getting your mailbox out of space. If your mailbox gets out of space, new messages sent to you will not be deliver to your mailbox. Instead, they will be deferred for a period of time (e.g., about 5 days when using Postfix defaults) hoping you to free the space in your mailbox to deliver them. If you don't free space within this period of time, the deferred e-mails will be bounced back to their senders and you will never see them. On the other hand, assuming you are using POP3 protocol to read your mailbox, you always keep your mailbox free to receive new e-mails messages and keep them for you until the next time you establish connection with the server computer and download them to your client computer using your e-mail client. Administering Disk Space The maximum number of registered user profiles is limited inside the server computer, based on the maximum disk space the server computer confines to such purpose. For example, consider an environment where users can get registered themselves using a web interface. In this case the web interface must know how much disk space is available before proceeding to register new mail accounts inside the server computer and this way preventing any disk writing when there isn't enough free space on disk to perform a new user registration. Considering the server computer has confined 1GB of disk space to handle the mail service (e.g., mail queues, mailboxes, etc.) and each user mailbox is 10MB, it will be possible to provide self-registration through the web interface for 100 users in total. Another measure related to save disk space might be to remove unused user accounts and their related files (e.g., mailboxes) from the server computer. For example, consider an environment where user accounts are automatically removed from the server computer when they don't establish a connection with the server computer in a period greater than 7 days since the last valid connection established to the server computer. Once the user account is removed, it is no longer functional of course, and the person whom lost the account will need to create a new one, assuming it want to have access to the mail service again.