Table of Contents:
E-Mail services on the Internet exchange messages through a clients/servers mechanism where the client sends and retrieves mail from servers who store these messages for future forwarding (store and forward.) Three components of e-mail (as noted above) is the service for (a) clients to recieve their mail (b) servers to recieve mail from clients 'store', and (c) servers to 'forward' stored mail.
OpenBSD 2.6 && 2.7's default configuration for Sendmail is to process the mail queue 'forward stored mail' every 30 minutes "–q30m"
The above does not service client requests for mail, nor provide services for clients to send mail. The two internet services for client mail services are pop and smtp.
In this brief we will configure sendmail to process smtp requests. We will also install a daemon to process pop requests.
1. Setup services to process the SMTP as well as forwarding Mail
Queues
2. Setup services for Processing POP
| File: /etc/rc.conf | enable/disable sendmail in this configuration file |
| File: /etc/rc | launches sendmail using the switches specified in /etc/rc.conf |
sendmail is installed as part of the base installation of OpenBSD 2.6 and 2.7. To have sendmail service smtp queries, we make changes to the /etc/rc.conf file.
File: /etc/rc.conf
change the line that reads
| sendmail="-q30m" # for normal use: "-bd -q30m" |
to be
| sendmail="-bd –q30m" # for normal use: "-bd -q30m" |
The line specifies switches (command line options) that /etc/rc will pass sto sendmail during system startup. –bd tells sendmail to run as a daemon, running in the background, listening for and handling incoming SMTP connections. As a daemon, sendmail does a listen(2) on TCP port 25 for incoming SMTP messages. When another site connects to the listening daemon, the daemon performs a fork(2) and the child handles receipt of the incoming mail message. This is the preferred method for high use (smtp) servers.
The /etc/rc file checks for the value of the above 'options' and if options exist the /etc/rc will execute sendmail with the given options.
Further Documentation ? The Sendmail Operations Manual has a number of suggested recommendations, scripts clearly described for starting sendmail as an smtp service.
In a LAN only mail setup the queuing may not be necessary. The Sendmail bat book suggests 1h is a good setting for most sites, and for sites with few users –q15m may be appropriate to ensure immediate delivery of mail.
An alternative method for starting sendmail to process smtp requests is to use the inetd super server to launch sendmail on an as need basis.
Add a line (or modify an existing line) so that smtp requests causes an action by inetd
File: /etc/inetd.conf
| smtp stream tcp nowait root /usr/sbin/sendmail sendmail –bs |
The line tells inetd to launch sendmail on smtp requests. Verify that sendmail exists in the /usr/sbin folder. The “-bs” command tells sendmail to (a) be launched in “SMTP on standard input” (b) collect SMTP message over its standard input/output (c) deliver the message, and exit
Note that the above command does not specify when to process queued messages.
Force inetd to reload and read the new configuration by using the below command.
# kill –HUP `cat /var/run/inetd.pid`
Note (alternative SMTP processor): OpenBSD 2.7 (2.6?) ships with the Obtuse Systems SMTPD message storing daemon (/usr/libexec/smtpd) and the Obtuse Systems SMTPFWDD message forwarding daemon (/usr/libexec/smtpfwdd). I haven't used it but it is documented in the man pages and http://www.obtuse.com/smtpd.html
Package:
popa3d-0.3.tgz
(OpenBSD 2.6 or popa3d-0.4.tgz in OpenBSD 2.7)
source-file: cucipop-1.31.tar.gz (available from the distfiles directory)
The simplest, fastest way to install the pop daemon is to install the popa3d-0.4.tgz package using pkg_add
# pkg_add /[path-to-package]/popa3d-0.4.tgz
pkg_add extracts the files and documentation from the popa3d package and specifically places the binary popa3d into the /usr/local/libexec directory. Verify the location of popa3d file.
Now we need to configure the super server inetd to route pop requests to be handled by our installed pop daemon. To do this we make the following changes.
File: /etc/services - Make sure there exists a line specifying port address 110 as a pop3 service
| pop3
110/tcp
# Post Office Protocol 3 pop3 110/udp |
File: /etc/inetd.conf - Make sure you have a line specifying the pop services (pop3) and the responsibility for handling it is popa3d as shown in this example.
| pop3 stream tcp nowait root /usr/local/libexec/popa3d popa3d |
After making the changes, force inetd to re-read its configuration file by sending it the hang up signal.
# kill –HUP `cat /var/run/inetd.pid`
We now have a functioning smtp server (sendmail) and a functioning pop server (popa3d) Mail should be recieved and delivered on your mail-server.
source-file: imap-4.7c2.tar.Z (available from the distfiles directory)
| Security Notice. There are a number of concerns from a number of people, check the list archives, but we use UW IMAP because the environments I've built it on have largely been for localhost use of IMAP. Recommendation These instructions work for using the source, not the ports tree or packages. The additional security features in ports breaks these instructions (which is probably another reason not to use these instructions beyond introduction, orientation.) |
The UW IMAP Toolkit provides an IMAP server, necessary for advanced mailing options required by Web Based Mail services such as IMP and TWIG. The following is the process for installing and configuring an IMAP server:
(1) extract the source code,
(2) compile/make the binaries and
(3) copy the binaries to where other OpenBSD system tools expect
the files.
(4) edit configuration files
(5) restart the inetd super-server
(1) Extract the source code, untar the distribution
# cd /usr/src
# tar -zxf /[path-to-tar-source]/imap-4.7c2.tar.Z
# cd imap-4.7c2
(2) Make/Compile the binaries.
We use "bso" to specify building for OpenBSD and the make process
creates sub-directories c-client, ipopd and imapd where it makes the
binaries to be used.
(3) After building we need to move the daemon files where we want
to set up processing, I have chosen /usr/local/libexec because that's
where the package system put the popa3d daemon so I hope I'm following
some sort of standard with the file placement.
# make bso
# mv ipopd/ipop2d /usr/local/libexec
# mv ipopd/ipop3d /usr/local/libexec
# mv imapd/imapd /usr/local/libexec
[ref: IMP FAQ]
Optional: The next part is not necessary for mail delivery, but for compiling programs that need c-client (IMAP) support. The same results should be achievable by installing the c-client packages and copying only the *.h files described below.
Compiling IMAP support into programs will require the c-client header files in a 'standard' location and c-client library files. An example when these files are needed is if you compile php with IMAP support.
| # cp c-client/c-client.a
/usr/local/lib # cp src/c-client/rfc822.h /usr/local/include # cp src/c-client/mail.h /usr/local/include # cp c-client/linkage.h /usr/local/include # ln -s /usr/local/lib/c-client.a /usr/local/lib/libc-client.a |
Optional: Documentation for IMAP is included with the source distribution and since I regularly clean out my /usr/src directories it would be good to manually copy the documentation to another location:
| # mkdir
/usr/share/doc/imap-4.7c2 # mv README* /usr/share/doc/imap-4.7c2 # cd docs # mv * /usr/share/doc/imap-4.7c2 |
(4) Update the files /etc/services and /etc/inetd.conf where necessary (the files should be something similar to the following files.)
Review the file: /etc/services which should already have lines like the following:
|
pop2
109/tcp #
Post Office Protocol 2 pop2 109/udp pop3 110/tcp # Post Office Protocol 3 pop3 110/udp imap 143/tcp # interactive mail access protocol 2 imap 143/udp imap3 220/udp # interactive mail access protocol 3 imap3 220/tcp |
Edit the file: /etc/inetd.conf and include lines like the following
|
pop2
stream tcp
nowait
root /usr/local/libexec/ipop2d ipop2d pop3 stream tcp nowait root /usr/local/libexec/ipop3d ipop3d imap stream tcp nowait root /usr/local/libexec/imapd imapd imap3 stream tcp nowait root /usr/local/libexec/imapd imapd |
(5) restart the inetd daemon
| # kill -HUP `cat /var/run/inetd.pid` |
It is very important to restart inetd, otherwise inetd will not recognise the changes you placed into the /etc/inetd.conf file. There have been more than a few cases of people going through the hardwork configuring machines and then spending hours/days because trying to figure out why their system doesn't work, only to find out they left out this final stage.
Restart the inetd daemon.
The imap revision I use in this example was pulled down from the imap web-site (http://www.washington.edu/imap/) An earlier revision of the same release was available on the OpenBSD distfile mirrors, and the current release may be there now.
For some reason the php compilation fails without the 'ln -s /usr/local/lib/c-client.a usr/local/lib/libc-client.a' The actual file was not found on my hard disk and the closest file /usr/local/lib/libc-client4.a seems to be the same file ? If the above link is not performed than the php3-3.0.16 fails during compilation complaining about problems with the non-existent libc-client.a library.
If someone can give me simplified instructions on how to get IMAP working with a better IMAP server, I'll replace these instructions. After 3 years of these notes I still haven't had a cause to change my IMAP server, and thus have not ventured further. (Maybe this year.)
[ref: How I
test an imap server ]
The "abc1" etc at the begining of each command is just a tag you make up. Supposedly it should be unique for each line; I've found you can actually use the same tag over and over again.
telnet <IP_ADDRESS> 143
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>).
Escape character is '^]'.
* OK e-smith.pcunixx.com IMAP4rev1 v12.264 server ready
abc1 login linda AFr54Tui8
abc1 OK LOGIN completed
abc2 select inbox
* 1 EXISTS
* 2 EXISTS
* 1 RECENT
* OK [UIDVALIDITY<PHONE_NUMBER>] UID validity status
* OK [UIDNEXT<PHONE_NUMBER>] Predicted next UID
* FLAGS (\Answered \Flagged \Deleted \Draft \Seen)
* OK [PERMANENTFLAGS ()] Permanent flags
* OK [UNSEEN 2] first unseen message in inbox
abc2 OK [READ-WRITE] SELECT completed
abc3 fetch 2 body[text]
* 2 FETCH (BODY[TEXT] {25}
This is just a test
)
* 2 FETCH (FLAGS (\Recent \Seen))
abc3 OK FETCH completed
abc4 close
abc4 OK CLOSE completed
abc5 logout
* BYE e-smith.pcunixx.com IMAP4rev1 server terminating connection
abc5 OK LOGOUT completed
The following are tweaks to the configuration files to get the system working smoothly on my configuration and may be helpful.
| File: /etc/mail/sendmail.cf | |
| File: /etc/mail/relay-domains | List of domains for which you allow relaying through your server |
| File: /etc/hosts | known hostnames |
| File: /usr/share/sendmail/cf/ | Sample Configuration Files for Sendmail |
Sometimes things may not be happening because you just can't tell who you are (as the mail server.) To find out who sendmail things it is serving as, use the following commands.
| # sendmail -d0 < /dev/null |
| [ . . . stuff cut-out
. . . ] ============ SYSTEM IDENTITY (after readcf) ============ (short domain name) $w = myhostname (canonical domain name) $j = myhostname.mydomain.com (subdomain name) $m = mydomain.com (node name) $k = myhostname ======================================================== [ . . . stuff cut-out . . . ] |
The screen displays a number of useful information that may assist you in reviewing your assumptions about what settings have been given to sendmail.
When Sendmail starts it will try to determine the name of the server by using the gethostname and getbyhostname system call. You may also need to edit the /etc/hosts file for the reason specified below from the IMAP Toolkit FAQ
From the IMAP Toolkit FAQ
| Q: Why isn't it
showing the local host name as a fully-qualified domain name? Q: Why is the local host name in the From/Sender/Message-ID headers of outgoing mail not coming out as a fully-qualified domain name? A: Your UNIX system is misconfigured. The entry for your system in /etc/hosts must have the fully-qualified domain name first, e.g. <IP_ADDRESS> bombastic.blurdybloop.com bombastic A common mistake of novice system administrators is to have the short name first, e.g. <IP_ADDRESS> bombastic bombastic.blurdybloop.com or to omit the fully qualified domain name entirely, e.g. <IP_ADDRESS> bombastic |
If your system pauses for a length of time when sendmail is started, the above situation may be the solution for your problem.
Make sure we have a fully qualified domain associated with each ip address used by the server. With two network cards, OpenBSD install will only specify the domain name for one of the network ip addresses. [Discovered the same problem with Linux Mandrake 7.1 install]
File: /etc/hosts
| # The NIC for the external
connection is: aaa.bbb.ccc.ddd (a legitimate ip address from my ISP) # The NIC for the internal connection is: eee.fff.ggg.hhh (using private ip address on local lan) aaa.bbb.ccc.ddd myhost.mydomain.com myhost eee.fff.ggg.hhh myhost.mydomain.com myhost |
[Ref OpenBSD FAQ - 10.0 System Management -> 10.4 ... Relay Access Denied ...]
I want the server to service all smtp messages sent from users in my private-ip network, regardless of where on the network they are sending it from. To do this, we create the file /etc/mail/relay-domains and include a list of the host domains we will service. For example, if the server domain is mydomain.com then including mydomain.com in the /etc/mail/relay-hosts file lets me smtp messages from a remote client, so long as I specify my user information is @mydomain.com
Create or Edit: /etc/mail/relay-domains
mydomain.com
This, of course, is a serious security hole. Another approach is to allow by IP address (ie. local lan only) and use your firewall rules to block access by people saying their using your IP addresses coming in on your external network cards. But that's another story.
What we are doing above assumes the standard /etc/mail/sendmail.cf supplied with the OpenBSD 2.7 install. To verify the name of the file where we can place relay-domains use:
# cat /etc/mail/sendmail.cf | grep relay-domains
and the output would be something like this (if the the sendmail.cf supports relaying.)
FR-o /etc/mail/relay-domains
If you do not get something similar to the above, then you will have to create another sendmail.cf (cf. /usr/share/sendmail) Sendmail 8.9 changes the previous behaviour of Sendmail, where it now defaults to not forwarding e-mail to combat bulk-mailers/spammers. So, the sendmail.cf needs to include some support for relaying mail from other domains. Look at using
define(confCR_FILE,`/etc/mail/relay-domains')
General format for the /etc/mail/relay-domains file is:
| .mydomain.com | #Allow relaying for/to any host in mydomain.com |
| sub.mydomain.com | #Allow relaying for/to sub.mydomain.com and any host in that domain |
| 10.2 | #Allow relaying from all hosts in the IP net 10.2.*.* |
Although sendmail is hard to grasp, there is an abundance of documentation on how to use, configure, and validate your sendmail configuration. This abundant information is available online and in print. The following tidbits are some of the commands I've used to check my sendmail configurations, they are in no special order and in many cases not cleverly written. For a list of reference resoureces visit the Sendmail site http//www.sendmail.org
To get a listing of mail stuck in the queue (not yet delivered and for what reason) then you can use the "-bp" option of sendmail. For example:
|
# sendmail -bp |
| /var/spool/mqueue
(1 request) ----Q-ID---- --Size-- -----Q-Time----- ------------Sender/Recipient------------ e6UBU7B02385 24 Mon Jul 31 00:30<EMAIL_ADDRESS>(host map: lookup (externalserver.com): deferred<EMAIL_ADDRESS>|
-v (verbose) -d (debug) are two modes which print extra diagnostic information on the screen while processing.
sendmail -v user-id < info-to-send
The -v (verbose) option will display sendmail's activities in trying to send mail to user-id. I find this especially useful when trying to understand why sendmail fails trying to send to an external host. You can use a user-id on another machine to watch what sendmail's doing in trying to send your mail to that external host. For example:
sendmail -v<EMAIL_ADDRESS>< info-to-send
The above will display the sendmail session trying to connect to the SMTP port at remotehost.com. With the details of the connection you can see any rejection messages from the external host.
sendmail -d## user-id < info-to-send
The -d (debug) option (as it should) can generate a lot of information and it is up to you to select the level of information that is useful for isolating the cause of your problem. Further documentation should be available at http://www.sendmail.org otherwise I have seen the use of -d40 (limit output to information about the queue) -d0 (produce general debugging information, as shown in earlier example above.)
To get a comprehensive listing from sendmail of the current settings, use the -d option without qualifiers.
# sendmail -d < /dev/null
The screen output will display the compiled in options and some of the settings configured for sendmail. This is not a comprehensive list of settings.
[ref: dig(1)]
sendmail prioritises mail using the MX records given by your DNS server. It may be useful sometimes to verify your assumptions of what the MX records are saying by interrogating the MX records with dig, and to follow a mail message using sendmail -v.
| # dig mydomain.com mx |
| ; <<>> DiG
2.2 <<>> samnet.com mx ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40547 ;; flags: qr aa rd ra; Ques: 1, Ans: 2, Auth: 2, Addit: 2 ;; QUESTIONS: ;; mydomain.com, type = MX, class = IN ;; ANSWERS: mydomain.com. 86000 MX 50 mail2.mydomain.com. mydomain.com. 86000 MX 20 mail.mydomain.com. ;; AUTHORITY RECORDS: mydomain.com. 86000 NS dns.mydomain.com. mydomain.com. 86000 NS dns2.mydomain.com. ;; ADDITIONAL RECORDS: mail2.mydomain.com. 86000 A <IP_ADDRESS> mail.mydomain.com. 86000 A <IP_ADDRESS> ;; Total query time: 3 msec ;; FROM: iwill to SERVER: default -- <IP_ADDRESS> ;; WHEN: Tue Aug 1 09:06:47 2000 ;; MSG SIZE sent: 28 rcvd: 140 |
A few of the places we're working in do not have a live Internet connection, or prefers to process the world mail queue on a scheduled basis. On a dial-up class machine, we do not want the mail server attempting to send mail on every message and the below is one configuration that may be useful.
Essentially, we want the mail server to deliver local mail immediately, but hold all external mail until we process the queue. The concept is to define mail as expensive. For more details on implementation, consult the HOWTO Sendmail and dial-up modem internet by Wouter Hanegraaff
define(SMTP_MAILER_FLAGS, e)
define(`confTO_QUEUEWARN', `16h')
define(`SMART_HOST', `myISP')
MAILER(local)dnl
MAILER(smtp)dnl
I think from the above, smtp of local mail will get sent straight
away. The
queue will only need to be processed when external mail needs to be
delivered (ie. when online)
From the docs:
Mailer Flag
e This mailer is expensive to connect to, so try to avoid
connecting normally; any necessary connection will occur during a queue
run.
Options:
There are a number of global options that can be set from a
configuration file. Options are represented by full words; some are
also representable as single characters for back compatibility.
The syntax of this line is:
O option=value
This sets option option to be value. Note that
there must be a space between
the letter 'O' and the name of the option. An older version is:
Oo value
where the option o is a single character. Depending on the option, value may be a string, an integer, a boolean (with legal values "t", "T", "f", or "F"; the default is TRUE), or a time interval.
The options supported (with the old, one character names in brackets) are:
HoldExpensive [c] If an outgoing mailer is marked as being expensive, don't connect immediately. This requires that queueing be compiled in, since it will depend on a queue run process to actually send the mail.
ESMTP
Authenticated Mail Relay.
Copyright (c) 2000/1/2 Samiuela LV Taufa. All Rights Reserved.
I reserve the right to be totally incorrect even at the best advice of betters.
You are permitted and encouraged to use this guide for fun or for profit as you see fit. If you republish this work in what-ever form, it would be nice (though not enforceable) to be credited.
|
Serving Up Mail - sendmail, pop, imap OpenBSD |
Copyright © 2000/1/2 NoMoa.COM All rights reserved.


TITLE: PRIMARY CARE H&P DATE OF NOTE: FEB 25,2009@21:16 ENTRY DATE: AUG 7,2009@19:16:29 AUTHOR: KETCHERSIDE,JOE EXP COSIGNER: URGENCY: STATUS: COMPLETED TITLE: HISTORY & PHYSICAL DATE OF NOTE: FEB 25,2009@21:44 ENTRY DATE: FEB 25,2009@21:44:08 AUTHOR: KETCHERSIDE,JOE EXP COSIGNER: URGENCY: STATUS: COMPLETED Nurse's note reviewed. CHIEF COMPLAINT:New patient for evaluation and management HISTORY OF PRESENT ILLNESS: The patient is a 56 year old MALE with a history/evaluation of who presents with. All conditions are stable. MEDS:Active and Recently Expired Inpatient Medications (including Supplies): No Medications Found ALLERGIES:PENICILLIN, STRAWBERRIES, LACTOSE, CONTRAST MEDIA, OTHER RADIOLOGICAL/CONTRAST MEDIA PMH: PSH: Fam Hx: Father , Mother SocHx: Habits: Tob: PPD for years ETOH: Recreational Drugs:none Occupation: REVIEW OF SYSTEMS: CONSTITUTIONAL:no fevers, chills, or sweats.EYES:Denies Blurry Vision, double vision, red eyes.EARS,NOSE,MOUTH and THROAT:Denies difficulty in swallowing,tinnitus CARDIAC:Denies chest pain or chest pressure with exertion. RESP:No shortness of breath.Denies cough or sputum production. GI:No abd. pain, nausea, vomiting, diarrhea,constipation. GU:No urinary symptoms. HEMATOLOGIC/LYMPHATIC: denies enlarged Lymph nodes. ENDOCRINE: denies heat/cold intolerance.PSYCHIATRIC: No complaints of depression. PHYSICAL EXAM: VITALS: BP = 140/90 (05/03/2007 08:19), P = 88 (05/03/2007 08:19), Weight =244 lb [110.9 kg] (12/18/2006 21:15), Pain Scale = 5 (02/28/2007 12:25) HEENT: NCAT, PERLLA, EOMI, Anicteric Sclera, Normal Fundus, Ear canals clear bilaterally, TM's visualized, Throat clear with no erythema or exudates. Neck: No JVP, no lymphadenopathy, no thyromegaly, no carotid bruits. Lungs/Chest: Clear to auscultation bilaterally. No wheezes or rhonchi. Cor: S1,S2 audible. RRR No murmurs, rubs, heaves or gallops. Abdomen: Audible bowel sounds, soft, non-tender, non-distended, no hepatosplenomegaly, no palpable masses. Rectal: Fecal Occult Blood negative with controls. Prostate not enlarged. No palpable masses. Extrem: No cyanosis, clubbing, or edema bilaterally LABS: Primary Prevention: a) Rectal/Prostate Exam - // b) Fecal Occult Blood Testing - Give stool Cards Yes Refused c) Flexible Sigmoidoscopy - // Refused. d) Cholesterol - Patient counseled on Diet and Exercise e) PSA on //. Not done. Patient >75 years of age. Patient had PSA Counseling today. Patient given sheet to read and was able to ask questions. ASSESSMENT AND PLAN: 1) 2) 3) 4) RTC 6 months. Please give STOOL cards. Active Inpatient Medications (including Supplies): Active Inpatient Medications Status ========================================================================= 1) ACETAMINOPHEN TAB 325MG [GEQ: TYLENOL] 650MG ORAL ACTIVE Q6H PRN 2) CEFAZOLIN/DEXTROSE INJ,SOLN in CEFAZOLIN 1GM/DEXTROSE ACTIVE 4% 50 ML INFUSE OVER 60 MIN. 3) DEXTROSE/POTASSIUM CHLORIDE INJ,SOLN in DEXTROSE ACTIVE 5%/KCL 20MEQ 1000ML 1000 ML 125 ml/hr 4) DIGOXIN TAB 0.25MG [GEQ: LANOXIN] 0.25MG ORAL BID ACTIVE CHECK PATIENT PULSE 5) LISINOPRIL TAB 10MG [GEQ: ZESTRIL] 10MG ORAL QAM ACTIVE 6) METFORMIN TAB,SA 500MG [GEQ: GLUCOPHAGE 500MG ORAL ACTIVE DAILY 7) POTASSIUM CHLORIDE TAB,SA 10MEQ [GEQ: K- 20MEQ ORAL ACTIVE QAM Active Inpatient Medications (including Supplies): Active Inpatient Medications Status ========================================================================= 1) ACETAMINOPHEN TAB 325MG [GEQ: TYLENOL] 650MG ORAL ACTIVE Q6H PRN 2) CEFAZOLIN/DEXTROSE INJ,SOLN in CEFAZOLIN 1GM/DEXTROSE ACTIVE 4% 50 ML INFUSE OVER 60 MIN.  Tobacco in the Environment Patient had smoke free home recorded. Smoking Cessation Patient was instructed about the dangers of tobacco use. Patient was instructed about smoking cessation. /es/ JOE KETCHERSIDE Attending Signed: 2/21/2009 22:32 /es/ JOE KETCHERSIDE Signed: 08/07/2009 19:17


ELECTRO CONVERTER
WEIGHT
Kilograms =
Grams =
TEMPERATURE
Celcius =
Kelvin =
SPEED
Miles =
Mach =
ENERGY
Joule =
Calorie =
POWER
Watt =
Megawatt =
AREA
SqMtr =
Hectare =


Menu
Become a partner
eng
ru
fr
Story
Beginning
Escape
Trailer
Creators
Reveal more and more of the backstory and watch
the stories intertwine as you play
Become a partner
Please fill in the details below and we will contact you shortly
* - required field
Your Name*
Your Company*
Your Phone*
Comment
Send


|
数字式立体视觉刺激系统
1.0.1
Digital Stereo System
|
#include <nvapi.h>
Public 属性 | |
| NvU32 | version |
| (IN) structure version 更多... | |
| NvU32 | count |
| (IN) target count 更多... | |
| struct { | |
| NvU32 deviceMask | |
| (IN/OUT) Device mask 更多... | |
| NvU32 sourceId | |
| (IN/OUT) Source ID - values will be based on the number of heads exposed per GPU. 更多... | |
| NvU32 bPrimary:1 | |
| NvU32 bInterlaced:1 | |
| (IN/OUT) Indicates if the timing being used on this monitor is interlaced. 更多... | |
| NvU32 bGDIPrimary:1 | |
| (IN/OUT) Indicates if this is the desktop GDI primary. 更多... | |
| NvU32 bForceModeSet:1 | |
| (IN) Used only on Win7 and higher during a call to NvAPI_SetView(). Turns off optimization & forces OS to set supplied mode. 更多... | |
| } | target [NVAPI_MAX_VIEW_TARGET] |
Used in NvAPI_SetView() and NvAPI_GetView()
| NvU32 NV_VIEW_TARGET_INFO::bForceModeSet |
(IN) Used only on Win7 and higher during a call to NvAPI_SetView(). Turns off optimization & forces OS to set supplied mode.
| NvU32 NV_VIEW_TARGET_INFO::bGDIPrimary |
(IN/OUT) Indicates if this is the desktop GDI primary.
| NvU32 NV_VIEW_TARGET_INFO::bInterlaced |
(IN/OUT) Indicates if the timing being used on this monitor is interlaced.
| NvU32 NV_VIEW_TARGET_INFO::bPrimary |
(OUT) Indicates if this is the GPU's primary view target. This is not the desktop GDI primary. NvAPI_SetView automatically selects the first target in NV_VIEW_TARGET_INFO index 0 as the GPU's primary view.
| NvU32 NV_VIEW_TARGET_INFO::count |
(IN) target count
| NvU32 NV_VIEW_TARGET_INFO::deviceMask |
(IN/OUT) Device mask
| NvU32 NV_VIEW_TARGET_INFO::sourceId |
(IN/OUT) Source ID - values will be based on the number of heads exposed per GPU.
| struct { ... } NV_VIEW_TARGET_INFO::target[NVAPI_MAX_VIEW_TARGET] |
| NvU32 NV_VIEW_TARGET_INFO::version |
(IN) structure version


add_test¶
Add a test to the project to be run by ctest(1)
.
add_test(NAME <name> COMMAND <command> [<arg>...]
[CONFIGURATIONS <config>...]
[WORKING_DIRECTORY <dir>])
Adds a test called <name>
. The test name may not contain spaces,
quotes, or other characters special in CMake syntax. The options are:
COMMAND
- Specify the test command-line. If
<command>
specifies an executable target (created byadd_executable()
) it will automatically be replaced by the location of the executable created at build time. CONFIGURATIONS
- Restrict execution of the test only to the named configurations.
WORKING_DIRECTORY
- Set the
WORKING_DIRECTORY
test property to specify the working directory in which to execute the test. If not specified the test will be run with the current working directory set to the build directory corresponding to the current source directory.
The given test command is expected to exit with code 0
to pass and
non-zero to fail, or vice-versa if the WILL_FAIL
test
property is set. Any output written to stdout or stderr will be
captured by ctest(1)
but does not affect the pass/fail status
unless the PASS_REGULAR_EXPRESSION
or
FAIL_REGULAR_EXPRESSION
test property is used.
The COMMAND
and WORKING_DIRECTORY
options may use “generator
expressions” with the syntax $<...>
. See the
cmake-generator-expressions(7)
manual for available expressions.
Example usage:
add_test(NAME mytest
COMMAND testDriver --config $<CONFIGURATION>
--exe $<TARGET_FILE:myexe>)
This creates a test mytest
whose command runs a testDriver
tool
passing the configuration name and the full path to the executable
file produced by target myexe
.
Note
CMake will generate tests only if the enable_testing()
command has been invoked. The CTest
module invokes the
command automatically unless the BUILD_TESTING
option is turned
OFF
.
add_test(<name> <command> [<arg>...])
Add a test called <name>
with the given command-line. Unlike
the above NAME
signature no transformation is performed on the
command-line to support target names or generator expressions.


Basics of the web are: the web, html, url, http and web application.
HTTP is the protocol to the web.
HTML is hypertext markup language, which is the MAIN type of content used. This content tells you “what you see”. Markup tells you "how it looks”. These documents are the main type of content used one the web.
The major pieces of the web are: You, computer and browser, the internet, servers, and HTTP (which are protocols).
HTML and markups are made up of things called“TAGS and Elements”
TAGS are opening name tags and content and closing name tags.Elements are the entire package of the tags and content.

Computers are only smart as their programmers. Computers do not have the ability to correct the programmers!
Inline and block Inline and Block are different as block forms an invisible "box" around the content"
HTML is considered the foundation of a page, while CSS is the decoration and style of a page. JS is the interactive components.
Tree-like Structures (branching structures) of HTML. A tree-like structure is like the branches on a tree. Different branches with different styles. The structures appear as boxes. Boxes inside of boxes inside of more boxes.These boxes consist of an HTML,CSS, and DOM.
Programmers have the ability to alter the branches via text editors such as, Sublime Text, CodePen, and scratchpad.
It is very important that programmers avoid repetition for many reasons.
Avoiding Errors:When a programmer does not avoid repetition, they do the same thing over and over. Then when a programmer decides to make changes it tends to lead to errors. It is important that programmers make the same change to all the pertinent areas to avoid errors.
Consistency is key to programming codes. When a programmer specifies the same style for similar codes. This makes it easier to make changes. For example applying the class code of "class".
CSS stands for Cascading Style Sheets and CSS allows programmers to have control of how their HTML docs will look. CSS can be thought of as search and replace tools. Cascading means there are rules that are applied to an element that is a direct match, as well as they are applied to the child elements, unless the child element has multiple overlapping rules that are defined to it then those rules take affect, this is call "Inheritance".
As we learned in a previous lesson, HTML elements are boxes, each box has four components. Being as there are so many components to each box it can be difficult to size the box just right.
There are two techniques that are useful with sizing, one is to set the size in percentage as opposed to pixels, the other is to utilize the box sizing border attribute.
Positioning: Div's are block elements, and by default they use the entire page. Adding rules of display flex in the CSS will override the default and allow the DIV's to appear next to each other.


This module computes a boundingbox and provides a plane within this box to be used as cut-plane in other modules. It also allows to connect a secondary, deformed mesh to create a second bounding box.
Input Ports
Name Type Description in_field Mesh_Unif+Node_Data input field for which the bounding boxes are computed in_deformed Mesh_Unif+Node_Data optional secoundary, deformed Mesh Output Ports
Name Type Description out_boxes DefaultObject Directly renderable object of the 3D output out_plane Mesh_Unif Mesh of the plane to be used as cut-plane in later other modules
The Boundingboxes module generates a cubic boundingbox around the input-mesh. It provides a plane inside the bounding box which can be controled in the viewer. This plane is exported to be used as cut-plane or slice plane in other modules.
Figure 1: Cut Mesh with boundingbox Figure 2: Cut Mesh with boundingbox and deformed bounding box
Inputs
in_fieldField that contains the Mesh and Node_Data.in_deformedOptional, Field that contains the Mesh and Node_Data of the deformed object.Outputs
out_planeMesh of the computed cut-planeout_boxesDirectly renderable object that can be used with the UViewer3D.Parameters
Show Deformed BoundsThis toggle activates the deformed boundinbox. It is available, when a Mesh is connected to in_deformed.Enable Slice PlaneThis toggle activates the cut-plane.Axisx, y, z or Free. Radiobox, that indicates the direction of the cut-plane. Free means the plane can be freely rotated inside the bounding box.PlaneSlider, that controls the position of the cut-plane for x, y or z. Inactive for the freely transformed planeCutToggle, that indicates whether the plane is defining a cut-plane and therefore defines a new volume or if it is a plane on its own.Cut aboveToggle, that indicates wether the boundingbox is cut above or below the plane.
This example application shows an object being cut and displayed with the two boundingboxes. A Read_Field is used to generate the input mesh. Cut and isovolume cuts this mesh with the plane generated by the boundingbox module.
The secound example application contains additionally the first application a bounding box for the deformed data.
xp_comm_proj/bounding_boxes/bounding_boxes.v Creates the XP_COMM_PROJ.Boundingboxes library.
xp_comm_proj/bounding_boxes/bounding_boxes_macs.v Creates the BoundingboxesMacs library containing the high-level macros QuadBox, Bounding_boxes_func, Bounding_boxes_UI, Bounding_boxes and the parametergroup.
xp_comm_proj/bounding_boxes/bounding_boxes_apps.v Creates the BoundingboxesApps library containing the example applications BoundingboxEg1 and BoundingboxEg2.
Tino Ernst Manchester Visualization Centre


Cleaned Data Sets are obtained using Apache Spark and Scala.
Following are Spark's Use Cases:
1. Data integration and ETL
2. Interactive analytics or business intelligence
3. High performance batch computation
4. Machine learning and advanced analytics
5. Real-time stream processing
Machine learning tasks are typically classified into three broad categories, depending on the nature of the learning "signal" or "feedback" available to a learning system. These are
1. Supervised learning
2. Unsupervised learning
3. Reinforcement learning
Analytics Results are visualized using D3 charts.
Recommendation results are displayed using Front End techniques.
Filtered Data Sets using Apache Spark DataFrames, RDDs and Scala
Recommendation using Machine Learning and Neural Network Models.
Analytics Results are here..
1. Data Cleaning using Apache Spark and Scala
2. Recommendation using Machine Learning
3. Data Visualization
Data Scientist
Big Data Engineer
Quality Engineer
Front End Engineer
Project Advisor


E-Mu Planet Phatt, Orbit, Orbit v2, Carnaval, Vintage Keys, and Vintage Keys Plus
Single Patch Editor
This editor will work with the E-Mu Planet Phatt, both versions of the Orbit (9090 and V2/9095), Carnaval, Vintage Keys with or without the extension kit, and Vintage Keys Plus. You will need to set a switch to indicate which one you are using (if you have a Vintage Keys with the extension kit, select Vintage Keys Plus). If you load a sysex file or receive sysex from a machine, Edisyn will try to guess which machine it came from but may get it wrong.
Communicating with Edisyn
Set the MIDI ID to the same you'll be setting in Edisyn (typically 0). Select a MIDI Channel to use on your synthesizer (perhaps channel 1) and set Edisyn's MIDI channel to that value. Set the MIDI Mode to Omni or to Poly.
Uploading Pseudo-MPE
These machines don't support MPE. But we can fake it by pointing every single channel to the same patch and with the same settings: this can be taken advantage of by instruments such as the Linnstrument. You need to make sure that your MIDI Mode is set to "Multi" to play them.
Gotchas
- Unfortunately, changing individual parameters does not affect the current sound, only future notes played.
- There is no way to send an entire patch to current memory in E-Mu synthesizers. Instead Edisyn must either dedicate a RAM patch to be a “scratch patch”, or it must send each parameter individually (which is slow but doesn't waste a patch). I have elected to the second for the time being.
- If Edisyn is selecting the wrong patch, you might check to see if you have modified your synth's Program Map. If so, you'll need to reset it to its defaults.
- You cannot request the current patch on any of these machines.
Thanks
Thanks to Ray Bellis<EMAIL_ADDRESS>and Austin Taylor<EMAIL_ADDRESS>for extracting instrument dumps to make proper mappings possible for these machines.
| By
| Sean Luke
|
| Date
| July 2022
|


Codeforces: Search by tags
Open this select menu
Implementation
DP
Maths
Greedy
Brute force
Data structures
Constructive
Graph Traversal
Sorting
Binary search
Graphs
Trees
String
Number theory
Geometry
Combinatorics
Two pointers
DSU
Bitmasking
Probability
Shortest paths
Hashing
Divide and Conquer
Game theory
matrices
Flows
Suffix structures
Meet in the middle
Refresh
{{val}}
Problem Name
Points
Contest Name
Solved Count
{{problem.name}}
{{problem.points}}
{{con.name }}
{{problem.index}}
{{response.problemStatistics[$index].solvedCount}}


|
JavaScript Event Calendar Demo Outlook-like day/week view. Customizable columns. |
JavaScript Monthly Calendar Demo Outlook-like month view. |
JavaScript Scheduler Demo A time line for multiple resources. |


protoc-gen-go is a plugin for the Google protocol buffer compiler to generate Go code. Run it by building this program and putting it in your path with the name
protoc-gen-go
That word 'go' at the end becomes part of the option string set for the protocol compiler, so once the protocol compiler (protoc) is installed you can run
protoc --go_out=output_directory input_directory/file.proto
to generate Go bindings for the protocol defined by file.proto. With that input, the output will be written to
output_directory/file.pb.go
The generated code is documented in the package comment for the library.
See the README and documentation for protocol buffers to learn more:
https://developers.google.com/protocol-buffers/
| Name | Synopsis |
|---|---|
| .. | |
| descriptor | |
| generator | The code generator for the plugin for the Google protocol buffer compiler. |
| grpc | Package grpc outputs gRPC service descriptions in Go code. |
| plugin | Package plugin_go is a generated protocol buffer package. |


Make inactive sessions time-out. Make sessions expire after a period of inactivity to make it harder for an attacker to hijack a session.
To make inactive sessions time-out:
Identify login functionality. Find code that handles user logins.
Add code that sets the inactive session time-out period. Add code that handles an HttpSession object and sets the setMaxInactiveInterval value, like so:
session.setMaxInactiveInterval(300);
where "session" is the HttpSession object and 300 is the inactive time-out period in seconds.
Another approach to making inactive sessions time-out is by configuring the "session-timeout" value in the web.xml file, like so:
<session-config>
<session-timeout>300</session-timeout>
</session-config>
where 300 is the inactive time-out period in seconds. The difference between the first and second approaches is that using setMaxInactiveInterval sets the time-out period for a specific session, while the "session-timeout" option sets the time-out period for all sessions by default.


Collection
Statistics on early years foundation stage profile assessments including breakdowns by pupil characteristics.
Statistics from May 2010 onwards are available on GOV.UK. You can find our archived statistics on the National Archives . Note: the search function is not available on archived content so please use the filters on the left of each page.
From November 2015, we will publish attainment by pupil characteristics information as additional tables to the October early years foundation stage profile results statistical first release.
Published: 21 November 2012
Updated: 24 November 2016
From: Department for Education


Apply for leave.
A self-service function to apply for leave.
Payroll/Payslips.
A self-service function to apply for leave.
{% extends "./html/_layouts/_default.html" %} {% block title %} Services {{SITE_NAME}} {% endblock %} {% block content %}
A self-service function to apply for leave.
A self-service function to apply for leave.


--- title: /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/utils/mathlink/eval_math.m File Reference layout: doxygen comments: false sidebar: doxygen_sidebar topnav: topnav tags: false ---
A wrapper function that calls the mathlink function to evaluate the expression specified by expr
.
More...
Functions | |
| function char ret = | eval_math (char expr,char flag, val) |
A wrapper function that calls the mathlink function to evaluate the expression specified by expr . More... | |
A wrapper function that calls the mathlink function to evaluate the expression specified by expr
.
A wrapper function that calls the mathlink function to evaluate the expression specified by expr
.
Copyright (c) 2016, AMBER Lab All right reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted only in compliance with the BSD 3-Clause license, see http://www.opensource.org/licenses/bsd-license.php
| expr | a string of Mathematica expression |
| flag | a char suggests the operation direction |
| val | value to be assigned |
| ret | the return value of the mathematica evaluation if no error detected. |


Review: The Opposite of Sex
Starring: Christina Ricci Martin Donovan Lisa Kudrow Lyle Lovett
Review by: Joy Wyse
It is usually difficult for child stars to prove that they can play grown-up roles. There is no doubt that Christina Ricci has made the transition. She is a wonderful slut!
How times have changed. There was a day when young girls prepared for a date by pinching their cheeks to give them a touch of blush. Christina pinches her nipples!
Without a doubt, Christina doesn't care for anyone but herself, but she makes every male think that he is special to her allowing her to "use" them in various ways.
 Christina manages to seduce his new lover, and then convinces him that he is the father of her expected child.
Lisa Kudrow, as the sister of the dead lover, does not like Christina, and makes no attempt to hide her feelings. In a very unglamorous role, she turns in an excellent portrayal of a woman with deep feelings, who needs to be loved. Luckily for her, Lyle Lovett comes along. But as a local sheriff, he's there for other reasons as well.
This is a memorable movie. It does a good job of portraying the world of a gay man in today's society.  This is definitely not a movie for everyone, but if you like it...you'll love it. I give it a firm B.
I'd watch it again on TV, but some of the scenes will probably be cut out.
See you at the movies.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews