Mail-Mbox-MessageParser-1.5105/000755 000765 000024 00000000000 12521305625 016573 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/anonymize_mailbox000644 000765 000024 00000007045 12503672226 022254 0ustar00coppitstaff000000 000000 #!/usr/bin/perl -w $VERSION = '1.00'; use strict; use FileHandle; #------------------------------------------------------------------------------- my $LINE = 0; my $FILE_HANDLE = undef; my $START = 0; my $END = 0; my $READ_BUFFER = ''; sub reset_file { my $file_handle = shift; $FILE_HANDLE = $file_handle; $LINE = 1; $START = 0; $END = 0; $READ_BUFFER = ''; } #------------------------------------------------------------------------------- # Need this for a lookahead. my $READ_CHUNK_SIZE = 0; sub read_email { # Undefined read buffer means we hit eof on the last read. return 0 unless defined $READ_BUFFER; my $line = $LINE; $START = $END; # Look for the start of the next email LOOK_FOR_NEXT_HEADER: while($READ_BUFFER =~ m/^(From\s.*\d:\d+:\d.* \d{4})/mg) { $END = pos($READ_BUFFER) - length($1); # Don't stop on email header for the first email in the buffer next if $END == 0; # Keep looking if the header we found is part of a "Begin Included # Message". my $end_of_string = substr($READ_BUFFER, $END-200, 200); if ($end_of_string =~ /\n-----( Begin Included Message |Original Message)-----\n[^\n]*\n*$/i) { next; } # Found the next email! my $email = substr($READ_BUFFER, $START, $END-$START); $LINE += ($email =~ tr/\n//); return (1, $email, $line); } # Didn't find next email in current buffer. Most likely we need to read some # more of the mailbox. Shift the current email to the front of the buffer # unless we've already done so. $READ_BUFFER = substr($READ_BUFFER,$START) unless $START == 0; $START = 0; # Start looking at the end of the buffer, but back up some in case the edge # of the newly read buffer contains the start of a new header. I believe the # RFC says header lines can be at most 90 characters long. my $search_position = length($READ_BUFFER) - 90; $search_position = 0 if $search_position < 0; # Can't use sysread because it doesn't work with ungetc if ($READ_CHUNK_SIZE == 0) { local $/ = undef; if (eof $FILE_HANDLE) { my $email = $READ_BUFFER; undef $READ_BUFFER; return (1, $email, $line); } else { $READ_BUFFER = <$FILE_HANDLE>; pos($READ_BUFFER) = $search_position; goto LOOK_FOR_NEXT_HEADER; } } else { if (read($FILE_HANDLE, $READ_BUFFER, $READ_CHUNK_SIZE, length($READ_BUFFER))) { pos($READ_BUFFER) = $search_position; goto LOOK_FOR_NEXT_HEADER; } else { my $email = $READ_BUFFER; undef $READ_BUFFER; return (1, $email, $line); } } } sub Read_Chunk_Of_Body { my $email = shift; local $/ = "\nFrom "; my $chunk = <$FILE_HANDLE>; local $/ = "From "; chomp $chunk; $LINE += ($chunk =~ tr/\n//); $$email .= $chunk; } die unless @ARGV; $FILE_HANDLE = new FileHandle($ARGV[0]); while(1) { my ($status,$email,$line) = read_email(); exit unless $status; my ($header,$body) = $email =~ /(.*?\n\n)(.*)/s; $body =~ s/\w/X/g; { my ($header_to) = $header =~ /^To: (.*)$/m; my ($header_subject) = $header =~ /^Subject: (.*)$/m; if (defined $header_to) { my $modified_header_to = $header_to; $modified_header_to =~ s/\w/X/g; $header =~ s/To: \Q$header_to\E/To: $modified_header_to/g; } if (defined $header_subject) { my $modified_header_subject = $header_subject; $modified_header_subject =~ s/\w/X/g; $header =~ s/Subject: \Q$header_subject\E/Subject: $modified_header_subject/g; } } print $header,$body; } Mail-Mbox-MessageParser-1.5105/CHANGES000644 000765 000024 00000040412 12521305526 017567 0ustar00coppitstaff000000 000000 Version 1.5105: Sat May 2 2015 - Prevent CPAN from indexing private-lib Version 1.5104: Mon Apr 20 2015 - Remove unused File::Cat import Version 1.5103: Mon Apr 20 2015 - Add File::Path dependency for testing. Thanks to Paul Howarth for the info. https://rt.cpan.org/Ticket/Display.html?id=103482 - Don't install private Module::Install extension. Thanks to Paul Howarth for the bug report. https://rt.cpan.org/Ticket/Display.html?id=103482 - Clarify licensing terms - Move verbose testing to a private module, and implement it in a way that doesn't require editing the Makefile after it is generated. - Require File::Slurp instead of including it, to avoid potential problems like this: http://www.cpantesters.org/cpan/report/86a0145a-e52b-11e4-a1d1-8536eb4f9f07 - Improve the ability of the test suite to be run in parallel - Fix Windows test incompatibilities, such as: http://www.cpantesters.org/cpan/report/12187014-af8d-1014-92d8-fdf72a825c07 http://www.cpantesters.org/cpan/report/12187014-af8d-1014-92d8-fdf72a825c07 Version 1.5102: Sun Apr 12 2015 - Fix xz and lzip test skip for when tools are not installed - Enable verbose testing for CPAN-testers - Use proper temp dir instead of t/temp - Consolidate issue tracking at rt.cpan.org Version 1.5101: Sat Apr 4 2015 - Add a version check for lzip, to make sure the .lz file can be decompressed properly during testing. Thanks to Paul Howarth for the suggestion. - Fix warning about deleting nonexistent test cache - Enhance "make test TEST_VERBOSE=1" to dump debug information - Work around a POD-stripping bug that would cause module load to fail on some platforms Version 1.5100: Sun Mar 22 2015 - Moved code to github - Added xz support. https://rt.cpan.org/Ticket/Display.html?id=68286 Thanks to sascha@trimind.de for initial patches. - Added lzip support. Thanks to an anonymous submitter for the idea. http://sourceforge.net/p/grepmail/patches/8/ - Added POD test - Fixed hang in pure Perl implementation for a malformed mbox file scenario. Thanks to Jason Brooks for providing an mbox that found this bug. - Fixed $OLDSTDERR used only once warning. https://rt.cpan.org/Ticket/Display.html?id=58053 Thanks to paul@city-fan.org for the bug report and patch. - Fixed enabling of warnings. https://rt.cpan.org/Ticket/Display.html?id=79898 Thanks to atourbin@cpan.org for the bug report and patch. - Fixed a division by zero error for malformed mbox files that start with a newline. https://rt.cpan.org/Ticket/Display.html?id=69469 Thanks to vadz@cpan.org for the bug report. - Fix bug in M::M::Perl documentation. Thanks to Christopher Orsolits for spotting it. - Add more cache file validation. Thanks to Richard Higson for reporting the problem. Version 1.5002: Sun Aug 9 2009 - Disabled the grep interface, which has had some tricky bugs that I don't have time to figure out. - Fixed infinite loop that occurred for emails of less than 200 characters. (Thanks to Julian Ladisch for the bug report.) - Updated Makefile.PL to be compatible with versions of Module::Install > 0.88. - Instead of returning an error for an empty mailbox, a valid mailbox is returned that will immediately fail the end_of_mailbox check. This should simplify people's code. (Thanks to Daniel Maher for a bug report that suggested this change in semantics.) - More updates for the missing "m" modifier issue exposed by Perl 5.10. (Thanks to Tom Callawa for the bug report, and Andreas König for the patch.) - Added some debugging information for the "cache data not validated" error. Hopefully this will help catch the bug in the act. Version 1.5001: Sun Jul 20 2008 - Added the missing "m" modifier to a number of regular expressions. A change in Perl 5.10 exposed this issue. (Thanks to Anicka Bernathova for the patch.) - Fixed an off-by-one error that would sometimes cause warnings about undefined values. - Added a hack to Makefile.PL to force Module::AutoInstall to be included for Module::Install::CheckOptional. - Fixed a problem in the PREOP rewriting that would cause it to fail on Windows. Version 1.5000: Thu Jan 11 2007 - The Cache and Grep implementations now detect when changes have occurred to the file being parsed, and automatically invalidate their cache values and revert to the Perl implementation. NOTE: This works well for appending to the mailbox, but undefined behavior occurs if modifications are made to the mailbox at locations earlier than the current position. (Thanks to Armin Obersteiner for the feature suggestion.) - Changed the reset test so that it doesn't create output with inconsistent line endings in the case of a dos mailbox. - Fixed a bug where occasionally the reading of the next email will go into an infinite loop when reading from standard input. (Thanks to for the bug report and sample input.) - read_next_email now returns undef on end of file. (Thanks to Lucas Nussbaum for first reporting the bug. Thanks to Stephen Gran , Frank Lichtenheld , Steinar H. Gunderson , Christian Hammers , gregor herrmann , and Joey Hess for their efforts to fix or work around the bug. Finally, thanks to Tassilo von Parseval for (mis)using the module in an intuitive way that prompted the solution.) - Simplified code by removing end_of_file attribute of parser objects. Version 1.4005: Thu Aug 24 2006 - Fixed a bug where emails with a line near the end that start with "From " would cause the Grep implementation to go into an infinite loop. (Thanks to Volker Kuhlmann for the bug report.) - Fixed some minor coding style issues. Version 1.4004: Tue Jul 11 2006 - Fixed a bug where, when emails are incomplete, the Perl parser would cache incorrect information, causing the Cache implementation to go into an infinite loop when it tried to use the invalid information. - Improved the behavior for multi-part emails that lack a valid ending boundaries. Instead of treating the rest of the mailbox as part of the email, the Perl and Grep parsers now find the end of the email using (1) a Content-Length header if it is present, or (2) the next valid "^From " line after the email's header. (Many thanks to Volker Kuhlmann , Eduard Bloch , and Joey Hess for their efforts to track down the cause of the bug. Special thanks to Volker for suggesting the right behavior. :) - Simplified the code some Version 1.4003: Sun May 21 2006 - Fixed a bug where multi-part emails having boundaries containing characters like " " and "+" would cause the remainder of the mailbox to be treated as part of the email with the boundary. (Thanks to Volker Kuhlmann for first reporting the bug, and thanks to Joey Hess for the bugfix.) - Fixed a previously unrevealed fault in the mailbox for the separators test. (The last message's separator wasn't used correctly.) Version 1.4002: Thu Feb 9 2006 - Dropped tzip support. The program seems poorly supported and buggy. (I can't get it to run right on Mac, for example.) - An invalid cache is detected and overwritten. This can occur if one changes architectures, or if the cache is otherwise corrupted. (Thanks to Volker Kuhlmann for the feature suggestion.) - Fixed a major memory consumption bug in the Perl implementation, where the read buffer would grow exponentially. This caused the module to use memory proportional to the size of the mailbox, rather than the size of the largest email. (Thanks to David Cantrell for the bug report.) Version 1.4001: Tue Aug 2 2005 - Fixed a bug where emails involving time zones of length more than 3 characters (e.g. "WETDST") would not be processed correctly. (Thanks to Hans F. Nordhaug for the bug report.) - Fixed some undefined value warnings for some test cases. - Fixed a bug where mailboxes having emails with rfc822 attachments would not be parsed correctly Version 1.4000: Thu Jul 7 2005 - Fixed a long-standing bug in the parsing of mail messages containing mail attachments. (Thanks to Brian May for the bug report.) - Dropped X-From-Line support for two reasons: (1) it seems to have disappeared from newer versions of Gnus, and (2) this module is for mbox format. (Thanks to Brian May for prompting this.) - Changed the mail parsing so that a blank line *must* separate mail messages, as per mail(5) (http://www.qmail.org/man/man5/mbox.html). Lack of a blank line will cause the second email to be considered to be part of the preceding email. Version 1.3001: Mon Jun 6 2005 - Changed the testing code to use a more aggressive technique for clearing any existing cache, even if it is not readable. - Fixed a problem with the grep implementation where locale settings (LC_ALL, LC_COLLATE, LANG, LC_CTYPE, LC_MESSAGES) would cause it to fail. (Thanks to Joey Hess for the bug report.) Version 1.3000: Mon Mar 14 2005 - Merged the internal caches used by the different mailbox parser implementations. This allows sharing of caching information. NOTE: Tighter integration of the classes means that you can no longer instantiate any of the implementations directly; you must use Mail::Mbox::MessageParser only. - Fixed goofy version dependency for Benchmark::Timer. - Fixed improper identification of mailboxes whose first email has a body containing a large number of foreign characters. (Thanks to Nigel Horne for the bug report and sample data.) - Fixed a spurious warning in a test case. (Thanks to Nigel Horne for the bug report.) - Fixed a test code bug that would cause some failed tests to incorrectly pass. - Fixed a bug where emails with attachments would cause the mailbox parser to enter an infinite loop. (Thanks once again to Joey Hess for the excellent bug report.) - Fixed a bug where the cache would not be saved to disk when the file was finished being read. - Fixed a bug in the test cases where some differences in test output would not be detected. - Fixed a bug in Mbox::Mail::MessageParser::Grep that would cause it to improperly identify separate emails in a mailbox if the "From " line looked like "From klopp Mon Jan 5 08:50:15 +0100 2004". (Thanks to Frederic Klopp " for the bug report and sample mailbox.) Version 1.2130: Tue Dec 21 2004 - Fixed version numbers, which were incompatible with some modules. (Thanks to Tassilo von Parseval for the bug report) Version 1.21.2: - Fixed a dependency version error for Benchmark::Timer - Switched to Test::More for better error reporting - Improved test failure reporting - Fixed a bug where messages embedded in other messages as RFC 822 attachments would be treated as separate emails. (Thanks to Will Fiveash for the bug report.) - Moved all configuration data to M::M::MP::Config Version 1.21.1: Thu Sep 16 2004 - Fixed broken dependency specification in Makefile.PL - Removed Module::Install extension dependency code from Makefile.PL. (Not needed with fixed extensions.) Version 1.21.0: Wed Sep 15 2004 - Fixed missing file warnings from "make distcheck" resulting from a workaround for a MakeMaker bug. (Thanks to Ed Avis for the bug report.) - Dropped force_processing in M::M::Grep (all files treated as text), since M::MessageParser detects file types. This fixes a Perl warning issued when force_processing is false and M::MessageParser determines that the file is text, but it contains a binary character. (Thanks to Jason Brunette for the bug report.) - Updated Makefile.PL to use Module::Install Version 1.20: - More robust use of GNU grep to find emails on DOS systems (Thanks to Martin Hosken for the initial patch) - Fixed an uninitialized value warning in Cache.pm - Made everything work with DOS-style line endings. Added endline() function to return the detected line ending Version 1.15: - Now keeps reading the first paragraph until a maximum number of bytes have been read. This should help people who use MUAs that add a lot of extra header information to the first email in a mailbox. (Thanks to Graham Gough for pointing out the problem with VM under Emacs.) Version 1.14: - At installation, you no longer have to provide a full path to the external programs. (Thanks to Ed Avis for the suggestion.) - Fixed _print_debug_information so that it prints the values of options correctly. (Thanks to Jason Brunette for the great bug report.) - Fixed a file handle leak when processing non-mailbox files. (Thanks to Jason Brunette for the great bug report.) Version 1.13: - Fixed portability issues for Windows. (It should now work under the normal Windows command shell.) Note that this requires the use of a temporary file for decompression of file handles on Windows--a minor security risk. - Makefile.PL version detection for GNU grep now works correctly for version numbers which end with letters. (Thanks to David Dyck for the bug report.) - Fixed typo bugs in a couple test cases. Version 1.12: - Added "perl Makefile.PL" version checks for external programs like grep. (Suggestion by David N. Blank-Edelman ) - Fixed a typo in the documented synopsis (Thanks to Christophe Nowicki for the report.) - Implemented a portable ungetc version of FileHandle, and changed this module to use it instead of IO::String. This will hopefully fixed the system-dependent bugs in the last release. (Thanks to David N. Blank-Edelman for providing a test environment.) - Improved compatibility with Windows. (Cygwin works, but we're still not there yet for Windows command shell.) - Streamlined installation for cases where caching is not enabled in Mail::Mbox::MessageParser. Version 1.11: - Added test cases with spaces in the mailbox names. (Thanks to Johan Ekenberg for finding the bug and submitting a partial patch.) - Fixed line ending bugs for MS-DOS/Windows (Tests now pass under cygwin) - Fixed mailbox detection problem with mailboxes whose first email is a pseudo-email used to store mailbox state information. (Thanks to Johan Ekenberg for the bug report.) - Fixed a bug on freebsd where mailboxes of size less than 2000 bytes would be incorrectly processed. (This fix is a less-than-optimal one which requires IO::String. I may later get the gumption to do it right using PerlIO::var) Version 1.10: - Testing modules are no longer (accidentally) installed. - External programs are now queried during installation instead of just using whatever is in your path (a security risk). (Thanks to David N. Blank-Edelman for the bug report.) - Changed testing to use PERLRUN instead of FULLPERLRUN, which is not available with older versions of MakeMaker that ship with older versions of Perl. (Thanks to Ed Avis for catching this.) - Cache file permissions are now set to protect against prying eyes. (Patch by Joey Hess ) - Improved speed testing. - Added support for opening of files, and decompressing files or filehandles. - Restructured test cases. - Fixed a bug in _PUT_BACK_STRING which would cause major failures on Solaris. - Fixed compatibility problems with perl 5.005_01 - Fixed grep implementation for filenames with spaces in them. (Thanks to Johan Ekenberg for the bug report and patch.) - Added "force_processing" option to force processing of files even if they look to be binary or non-mailboxes. Version 1.00: - Initial version, with caching and grep support. Code taken from version 5.00 of grepmail Mail-Mbox-MessageParser-1.5105/inc/000755 000765 000024 00000000000 12521305625 017344 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/lib/000755 000765 000024 00000000000 12521305625 017341 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/LICENSE000644 000765 000024 00000043502 12521305603 017600 0ustar00coppitstaff000000 000000 This software is Copyright (c) 2015 by David Coppit. This is free software, licensed under: The GNU General Public License, Version 2, June 1991 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. Mail-Mbox-MessageParser-1.5105/Makefile.PL000755 000765 000024 00000002322 12517265504 020555 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; # For PRIVATE Module::Install extensions use lib 'private-lib'; use inc::Module::Install; use Module::Install::GetProgramLocations; use File::Slurp; BEGIN { my $commands = q{$(CP) t/mailboxes/*\\ * $(DISTVNAME)/t/mailboxes; $(CP) t/results/*\\ * $(DISTVNAME)/t/results}; makemaker_args( # To prevent MakeMaker from processing our old directory NORECURS => 1, # Copy files that have spaces in them. dist => { PREOP => q{$(PERL) -I. "-MModule::Install::Admin" -e "dist_preop(q($(DISTVNAME)))"; } . $commands }, ) } all_from('lib/Mail/Mbox/MessageParser.pm'); auto_set_bugtracker; githubmeta; configure_requires( 'File::Slurp' => 0, ); requires( 'FileHandle::Unget' => 0, 'Storable' => 0, ); test_requires( 'File::Slurp' => 0, 'Test::More' => 0, 'Text::Diff' => 0, 'File::Path' => 2.08, ); check_optional('Benchmark::Timer' => '0.7100', "Install Benchmark::Timer if you want to run \"make testspeed\"\n"); Add_Test_Target('testspeed', 't/speed.pl'); configure_programs(); license 'gpl2'; auto_license(holder => 'David Coppit'); no_index 'directory' => 'private-lib'; enable_verbose_cpan_testing(); WriteAll(); fix_sort_versions('inc/Sort/Versions.pm'); Mail-Mbox-MessageParser-1.5105/MANIFEST000644 000765 000024 00000011135 12515107047 017726 0ustar00coppitstaff000000 000000 CHANGES LICENSE MANIFEST Makefile.PL README TODO # A utility program for bug reporting anonymize_mailbox # The module files lib/Mail/Mbox/MessageParser.pm lib/Mail/Mbox/MessageParser/Config.pm lib/Mail/Mbox/MessageParser/Cache.pm lib/Mail/Mbox/MessageParser/Grep.pm lib/Mail/Mbox/MessageParser/Perl.pm lib/Mail/Mbox/MessageParser/MetaInfo.pm # The test module files t/Test/Utils.pm # Tests t/appended_mailbox.t t/bzip2.t t/endline.t t/filehandle_compressed.t t/filehandle_noncompressed.t t/filename_compressed.t t/filename_noncompressed.t t/grep.t t/gzip.t t/length.t t/line_number.t t/lzip.t t/mailboxes/binary_body.txt t/mailboxes/hessbug.txt t/mailboxes/invalid-boundaries.txt t/mailboxes/mailarc-1-dos.txt t/mailboxes/mailarc-1.txt t/mailboxes/mailarc-2.txt t/mailboxes/mailarc-2.txt.bz2 t/mailboxes/mailarc-2.txt.gz t/mailboxes/mailarc-2.txt.lz t/mailboxes/mailarc-2.txt.xz t/mailboxes/mailarc-3.txt t/mailboxes/mailseparators.txt t/mailboxes/malformed.txt t/mailboxes/newlines_at_beginning.txt t/mailboxes/separators1.sep t/mailboxes/separators2.sep t/number.t t/offset.t t/pod.t t/prologue.t t/reset.t t/separators.t t/speed.pl t/stdin_compressed.t t/stdin_uncompressed.t t/undef_return_value.t t/xz.t #t/mailboxes/mailbox with space.txt #t/mailboxes/mailbox with space.txt.gz t/mailboxes/non-mailbox.txt.gz t/mailboxes/vm-emacs.txt t/results/grep_1 t/results/grep_2 t/results/grep_3 t/results/grep_4 t/results/grep_5 t/results/length_binary_body.stdout t/results/length_hessbug.stdout t/results/length_invalid-boundaries.stdout t/results/length_mailarc-1-dos.stdout t/results/length_mailarc-1.stdout t/results/length_mailarc-2.stdout t/results/length_mailarc-3.stdout t/results/length_mailseparators.stdout t/results/length_malformed.stdout t/results/length_newlines_at_beginning.stdout t/results/line_number_binary_body.stdout t/results/line_number_hessbug.stdout t/results/line_number_invalid-boundaries.stdout t/results/line_number_mailarc-1-dos.stdout t/results/line_number_mailarc-1.stdout t/results/line_number_mailarc-2.stdout t/results/line_number_mailarc-3.stdout t/results/line_number_mailseparators.stdout t/results/line_number_malformed.stdout t/results/line_number_newlines_at_beginning.stdout t/results/mailarc-2.txt t/results/none t/results/number_binary_body.stdout t/results/number_hessbug.stdout t/results/number_invalid-boundaries.stdout t/results/number_mailarc-1-dos.stdout t/results/number_mailarc-1.stdout t/results/number_mailarc-2.stdout t/results/number_mailarc-3.stdout t/results/number_mailseparators.stdout t/results/number_malformed.stdout t/results/number_newlines_at_beginning.stdout t/results/offset_binary_body.stdout t/results/offset_hessbug.stdout t/results/offset_invalid-boundaries.stdout t/results/offset_mailarc-1-dos.stdout t/results/offset_mailarc-1.stdout t/results/offset_mailarc-2.stdout t/results/offset_mailarc-3.stdout t/results/offset_mailseparators.stdout t/results/offset_malformed.stdout t/results/offset_newlines_at_beginning.stdout t/results/reset_binary_body.stdout t/results/reset_hessbug.stdout t/results/reset_invalid-boundaries.stdout t/results/reset_mailarc-1-dos.stdout t/results/reset_mailarc-1.stdout t/results/reset_mailarc-2.stdout t/results/reset_mailarc-3.stdout t/results/reset_mailseparators.stdout t/results/reset_malformed.stdout t/results/reset_newlines_at_beginning.stdout t/results/reset_newlines_at_beginning.stdout #t/results/length_mailbox with space.stdout #t/results/line_number_mailbox with space.stdout #t/results/number_mailbox with space.stdout #t/results/offset_mailbox with space.stdout #t/results/reset_mailbox with space.stdout # Module::Install extensions inc/Module/Install.pm inc/Module/Install/AutoLicense.pm inc/Module/Install/AutomatedTester.pm inc/Module/Install/Base.pm inc/Module/Install/Bugtracker.pm inc/Module/Install/Can.pm inc/Module/Install/CheckOptional.pm inc/Module/Install/Fetch.pm inc/Module/Install/GetProgramLocations.pm inc/Module/Install/GithubMeta.pm inc/Module/Install/Include.pm inc/Module/Install/Makefile.pm inc/Module/Install/Metadata.pm inc/Module/Install/Win32.pm inc/Module/Install/WriteAll.pm inc/Sort/Versions.pm inc/Module/Install/PRIVATE/Add_Test_Target.pm inc/Module/Install/PRIVATE/Configure_Programs.pm inc/Module/Install/PRIVATE/Enable_Verbose_CPAN_Testing.pm inc/Module/Install/PRIVATE/Fix_Sort_Versions.pm # Private Module::Install extensions private-lib/Module/Install/PRIVATE/Add_Test_Target.pm private-lib/Module/Install/PRIVATE/Configure_Programs.pm private-lib/Module/Install/PRIVATE/Enable_Verbose_CPAN_Testing.pm private-lib/Module/Install/PRIVATE/Fix_Sort_Versions.pm # Needed for Module::Install::CheckOptional inc/Module/AutoInstall.pm META.yml Mail-Mbox-MessageParser-1.5105/META.yml000644 000765 000024 00000001715 12521305603 020044 0ustar00coppitstaff000000 000000 --- abstract: 'A fast and simple mbox folder reader' author: - 'David Coppit .' build_requires: ExtUtils::MakeMaker: 6.36 File::Path: 2.08 File::Slurp: 0 Test::More: 0 Text::Diff: 0 configure_requires: ExtUtils::MakeMaker: 6.36 File::Slurp: 0 URI::Escape: 0 distribution_type: module dynamic_config: 1 generated_by: 'Module::Install version 1.14' license: gpl2 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 module_name: Mail::Mbox::MessageParser name: Mail-Mbox-MessageParser no_index: directory: - inc - private-lib - t requires: FileHandle::Unget: 0 Storable: 0 perl: '5.005' resources: bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Mail-Mbox-MessageParser homepage: https://github.com/coppit/mail-mbox-messageparser license: http://opensource.org/licenses/gpl-2.0.php repository: https://github.com/coppit/mail-mbox-messageparser version: '1.5105' Mail-Mbox-MessageParser-1.5105/private-lib/000755 000765 000024 00000000000 12521305625 021011 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/README000644 000765 000024 00000006433 12515117400 017454 0ustar00coppitstaff000000 000000 Mail::Mbox::MessageParser - A fast and simple mbox folder reader Mail::Mbox::MessageParser is a feature-poor but very fast mbox parser. It uses the best of two strategies for parsing a mailbox: either using cached folder information or highly optimized Perl. MODULE DEPENDENCIES To use this module, you will need to install: - FileHandle::Unget - Storable: required if you want to use caching - bzip2(1): required if you want to use bzip and bzip2 support - bzip(1): required if you want to use bzip support To test this module, you will need to install: - Test::More INSTALLATION To install this package, change to the directory where you unarchived this distribution and type the following: perl Makefile.PL make make test make install You can install this package into a non-default location by appending one of the following to the "perl Makefile.PL" command: - "PREFIX=/installation/path" (for installation into a custom location), - "INSTALLDIRS=site" (for installation into site-specific Perl directories) - "INSTALLDIRS=perl" (for installation into standard Perl directories). You will be prompted for program locations. You can suppress these prompts by appending the path to one or more external programs to the "perl Makefile.PL" command. For example, "GZIP=/gnu/bin/gzip BZIP= BZIP2=/bin/bzip2" would set values for all but one program. "BZIP=" disables compression support and prevents interactive execution. (NOTE: These values are not validated as they are in the interactive query.) On Windows, the GNUWin project has Windows ports of many GNU tools. (Get "CoreUtils" to get diff and cat.) If you make the installation into your own directory, then remember that you must tell perl where to search for modules before trying to 'use' them. For example: use lib '/home/userid/lib'; use Mail::Mbox::MessageParser; If make test fails, please see the INSTALLATION PROBLEMS section below. INSTALLATION PROBLEMS If "make test" fails, run make test TEST_VERBOSE=1 and see which test(s) are failing. Please email, to the address below, the *.testoutput and *.testoutput.diff files for the test. For other bugs, see the section REPORTING BUGS below. DOCUMENTATION Just "perldoc Mail::Mbox::MessageParser". After installation on Unix systems, you can also do "man Mail::Mbox::MessageParser". If you are interested in the Cache, or Perl implementations, you can do the same for Mail::Mbox::MessageParser::Cache and Mail::Mbox::MessageParser::Perl. RESOURCES The CPAN Page: http://search.cpan.org/dist/Mail-Mbox-MessageParser/ The Google Code page: http://code.google.com/p/mail-mbox-messageparser/ Bug and feature tracking: http://rt.cpan.org/Public/Dist/Display.html?Name=Mail-Mbox-MessageParser When reporting a bug, please attach the output files noted above. If the bug is related to processing of a particular mailbox, try to trim the mailbox to the smallest set of emails that still exhibit the problem. Then use the "anonymize_mailbox" program that comes with the distribution to remove any sensitive information, and attach the mailbox to the bug report. COPYRIGHT Copyright (c) 1998-Sep 1 2000 Broc Seib. Copyright (c) Sep 1 2000-2004 David Coppit. All rights reserved, save those granted by the license. See the file LICENSE for licensing terms. AUTHOR David Coppit Mail-Mbox-MessageParser-1.5105/t/000755 000765 000024 00000000000 12521305625 017036 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/TODO000644 000765 000024 00000002421 12507772430 017270 0ustar00coppitstaff000000 000000 - Detect mix of dos and unix line endings and fail with an error - Tolerate a mix of dos and unix line endings - read_until_match() is slow when it has to read more data, because it restarts the search at the top of the buffer, leading to exponential slowdown - The above 3 issues were observed while investigating an email from Pali Rohár - After Module::Install support CPAN::Meta 2.0, specify gpl_2 as the license. Suggested by Paul Howarth - After Module::Install support CPAN::Meta 2.0, add info for repository URL and bug tracker. Suggested by Paul Howarth - Wrong assumption parsing Multipart/Mixed messages https://rt.cpan.org/Ticket/Display.html?id=19817 - thousands of warnings during tests https://rt.cpan.org/Ticket/Display.html?id=13134 - Add compression support to grep - Add random access (email Tassilo von Parseval ) - Cache, Cache::Cache - When the subclasses call read_next_email, shouldn't the entry be validated? - Version the cache file, so that we can invalidate it if a release of the module fixes a bug. - As it is now, if we re-initialize the cache, we start all caching over. Fix this so that we can use partial cache information. See MetaInfo.pm Mail-Mbox-MessageParser-1.5105/t/appended_mailbox.t000755 000765 000024 00000011433 12515075475 022535 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can reset a file midway through parsing. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; use File::Slurp; eval 'require Storable;'; plan (tests => 6 ); my $source_filename = 't/mailboxes/mailarc-1.txt'; my $mailbox_filename = "$TEMPDIR/tempmailbox"; { print "Testing modified mailbox with Perl implementation\n"; InitializeMailbox1($source_filename,$mailbox_filename); TestModifiedMailbox($source_filename,$mailbox_filename,0,0, GetSecondPart1($source_filename)); } SKIP: { print "Testing modified mailbox with Cache implementation\n"; skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeMailbox1($source_filename,$mailbox_filename); InitializeCache($mailbox_filename); TestModifiedMailbox($source_filename,$mailbox_filename,1,0, GetSecondPart1($source_filename)); } SKIP: { print "Testing modified mailbox with Grep implementation\n"; skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; InitializeMailbox1($source_filename,$mailbox_filename); TestModifiedMailbox($source_filename,$mailbox_filename,0,1, GetSecondPart1($source_filename)); } { print "Testing modified mailbox with Perl implementation\n"; InitializeMailbox2($source_filename,$mailbox_filename); TestModifiedMailbox($source_filename,$mailbox_filename,0,0, GetSecondPart2($source_filename)); } SKIP: { print "Testing modified mailbox with Cache implementation\n"; skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeMailbox2($source_filename,$mailbox_filename); InitializeCache($mailbox_filename); TestModifiedMailbox($source_filename,$mailbox_filename,1,0, GetSecondPart2($source_filename)); } SKIP: { print "Testing modified mailbox with Grep implementation\n"; skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; InitializeMailbox2($source_filename,$mailbox_filename); TestModifiedMailbox($source_filename,$mailbox_filename,0,1, GetSecondPart2($source_filename)); } # --------------------------------------------------------------------------- sub InitializeMailbox1 { my $source_filename = shift; my $mailbox_filename = shift; my $mail = read_file($source_filename); my ($firstpart) = $mail =~ /(.*)From .*/s; write_file($mailbox_filename, $firstpart); } # --------------------------------------------------------------------------- sub InitializeMailbox2 { my $source_filename = shift; my $mailbox_filename = shift; my $mail = read_file($source_filename); my ($firstpart) = $mail =~ /(..*?)From .*/s; write_file($mailbox_filename, $firstpart); } # --------------------------------------------------------------------------- sub TestModifiedMailbox { my $source_filename = shift; my $mailbox_filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $second_part = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $source_filename =~ /\/([^\/\\]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($mailbox_filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $mailbox_filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; print $output $folder_reader->prologue; # Read just 1 email print $output ${$folder_reader->read_next_email()}; AppendToMailbox($mailbox_filename, $second_part); # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { print $output ${ $folder_reader->read_next_email() }; } $output->close(); CheckDiffs([$source_filename,$output->filename]); } # --------------------------------------------------------------------------- sub GetSecondPart1 { my $source_filename = shift; my $mail = read_file($source_filename); my ($secondpart) = $mail =~ /.*(From .*)/s; return $secondpart; } # --------------------------------------------------------------------------- sub GetSecondPart2 { my $source_filename = shift; my $mail = read_file($source_filename); my ($secondpart) = $mail =~ /..*?(From .*)/s; return $secondpart; } # --------------------------------------------------------------------------- sub AppendToMailbox { my $mailbox_filename = shift; my $email = shift; append_file($mailbox_filename, $email); } Mail-Mbox-MessageParser-1.5105/t/bzip2.t000755 000765 000024 00000004402 12517262715 020263 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Test::Utils; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); # To prevent undef warnings my $BZIP2 = $Mail::Mbox::MessageParser::Config{'programs'}{'bzip2'} || 'bzip2'; my $CAT = $Mail::Mbox::MessageParser::Config{'programs'}{'cat'} || 'cat'; my %tests = ( qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.bz2') . qq{" | "$BZIP2" -cd} => ['mailarc-2.txt','none'], ); my %expected_errors = ( ); plan (tests => scalar (keys %tests)); my %skip = SetSkip(\%tests); foreach my $test (sort keys %tests) { print "Running test:\n $test\n"; SKIP: { skip("$skip{$test}",1) if exists $skip{$test}; TestIt($test, $tests{$test}, $expected_errors{$test}); } } # --------------------------------------------------------------------------- sub TestIt { my $test = shift; my ($stdout_file,$stderr_file) = @{ shift @_ }; my $error_expected = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my $test_stdout = File::Temp->new(); $test_stdout->close(); my $test_stderr = File::Temp->new(); $test_stderr->close(); system "$test 1>" . $test_stdout->filename . " 2>" . $test_stderr->filename; if (!$? && defined $error_expected) { ok(0,"Did not encounter an error executing the test when one was expected.\n\n"); return; } if ($? && !defined $error_expected) { ok(0,"Encountered an error executing the test when one was not expected.\n" . "See " . $test_stdout->filename . " and " . $test_stderr->filename . ".\n\n"); return; } my $real_stdout = catfile('t','results',$stdout_file); my $real_stderr = catfile('t','results',$stderr_file); CheckDiffs([$real_stdout,$test_stdout->filename],[$real_stderr,$test_stderr->filename]); } # --------------------------------------------------------------------------- sub SetSkip { my %tests = %{ shift @_ }; my %skip; unless (defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip2'}) { $skip{qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.bz2') . qq{" | "$BZIP2" -cd}} = 'bzip2 not available'; } return %skip; } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/endline.t000755 000765 000024 00000003317 12517264001 020645 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can process file handles for compressed and non-compressed # files. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; plan (tests => 4 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',2) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); TestImplementation($filename,1,1); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => undef, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; if ($filename =~ /-dos/) { is($folder_reader->endline(),"\r\n",'Dos endline expected'); } else { is($folder_reader->endline(),"\n",'Unix endline expected'); } } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/filehandle_compressed.t000755 000765 000024 00000005573 12517263241 023561 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can process file handles for compressed and non-compressed # files. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; @files = grep { !/non-mailbox/ && !/malformed/ } @files; plan (tests => 4 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; SKIP: { skip('bzip2 not available',4) if $filename =~ /\.bz2$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip2'}; skip('bzip not available',4) if $filename =~ /\.bz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip'}; skip('lzip not available',4) if $filename =~ /\.lz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'lzip'}; skip('xz not available',4) if $filename =~ /\.xz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'xz'}; skip('gzip not available',4) if $filename =~ /\.gz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'gzip'}; TestImplementation($filename,0,0); skip('Storable not installed',2) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); TestImplementation($filename,1,1); skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt.*$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; print $output $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output $$email_text; } $output->close(); $filename =~ s#\.(tz|bz2|lz|xz|gz)$##; CheckDiffs([$filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/filehandle_noncompressed.t000755 000765 000024 00000005426 12517263243 024273 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can process file handles for compressed and non-compressed # files. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; plan (tests => 4 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; SKIP: { skip('bzip2 not available',4) if $filename =~ /\.bz2$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip2'}; skip('bzip not available',4) if $filename =~ /\.bz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip'}; skip('lzip not available',4) if $filename =~ /\.lz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'lzip'}; skip('xz not available',4) if $filename =~ /\.xz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'xz'}; skip('gzip not available',4) if $filename =~ /\.gz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'gzip'}; TestImplementation($filename,0,0); skip('Storable not installed',2) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); TestImplementation($filename,1,1); skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt.*$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; print $output $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output $$email_text; } $output->close(); CheckDiffs([$filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/filename_compressed.t000755 000765 000024 00000005066 12517263245 023247 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that the module will correctly open a compressed filename use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use Mail::Mbox::MessageParser::Cache; use Mail::Mbox::MessageParser::Grep; use Mail::Mbox::MessageParser::Perl; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; my @files = ; @files = grep { !/non-mailbox/ && !/malformed/ } @files; plan (tests => 1 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; SKIP: { skip('bzip2 not available',1) if $filename =~ /\.bz2$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip2'}; skip('bzip not available',1) if $filename =~ /\.bz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip'}; skip('lzip not available',1) if $filename =~ /\.lz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'lzip'}; skip('xz not available',1) if $filename =~ /\.xz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'xz'}; skip('gzip not available',1) if $filename =~ /\.gz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'gzip'}; TestImplementation($filename,0,0); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt.*$/; my $output = File::Temp->new(); binmode $output; my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => undef, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; print $output $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output $$email_text; } $output->close(); $filename =~ s#\.(tz|bz2|lz|xz|gz)$##; CheckDiffs([$filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/filename_noncompressed.t000755 000765 000024 00000003115 12517263247 023755 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Cache; use Mail::Mbox::MessageParser::Grep; use Mail::Mbox::MessageParser::Perl; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; my @files = ; plan (tests => 1 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => undef, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; print $output $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output $$email_text; } $output->close(); CheckDiffs([$filename,$output->filename]); } Mail-Mbox-MessageParser-1.5105/t/grep.t000755 000765 000024 00000010255 12517263012 020164 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; # To prevent undef warnings my $GREP = $Mail::Mbox::MessageParser::Config{'programs'}{'grep'} || 'grep'; my %tests = ( qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailarc-1.txt') => ['grep_1','none'], qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailarc-2.txt') => ['grep_2','none'], qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailarc-3.txt') => ['grep_3','none'], qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailseparators.txt') => ['grep_4','none'], ); my %expected_errors = ( ); plan (tests => scalar (keys %tests)); my %skip = SetSkip(\%tests); foreach my $test (sort keys %tests) { print "Running test:\n $test\n"; SKIP: { skip("$skip{$test}",1) if exists $skip{$test}; TestIt($test, $tests{$test}, $expected_errors{$test}); } } # --------------------------------------------------------------------------- sub TestIt { my $test = shift; my ($stdout_file,$stderr_file) = @{ shift @_ }; my $error_expected = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my $test_stdout = File::Temp->new(); $test_stdout->close(); my $test_stderr = File::Temp->new(); $test_stderr->close(); system "$test 1>" . $test_stdout->filename . " 2>" . $test_stderr->filename; if (!$? && defined $error_expected) { print "Did not encounter an error executing the test when one was expected.\n\n"; ok(0); return; } if ($? && !defined $error_expected) { print "Encountered an error executing the test when one was not expected.\n"; print "See " . $test_stdout->filename . " and " . $test_stderr->filename . ".\n\n"; ok(0); return; } my $real_stdout = catfile('t','results',$stdout_file); my $real_stderr = catfile('t','results',$stderr_file); CheckDiffs([$real_stdout,$test_stdout->filename],[$real_stderr,$test_stderr->filename]); } # --------------------------------------------------------------------------- sub SetSkip { my %tests = %{ shift @_ }; my %skip; unless (defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}) { $skip{qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailarc-1.txt')} = 1; $skip{qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailarc-2.txt')} = 1; $skip{qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailarc-3.txt')} = 1; $skip{qq`unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $GREP --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" ` . catfile('t','mailboxes','mailseparators.txt')} = 1; } return %skip; } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/gzip.t000755 000765 000024 00000004371 12517263015 020205 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Test::Utils; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); # To prevent undef warnings my $GZIP = $Mail::Mbox::MessageParser::Config{'programs'}{'gzip'} || 'gzip'; my $CAT = $Mail::Mbox::MessageParser::Config{'programs'}{'cat'} || 'cat'; my %tests = ( qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.gz') . qq{" | "$GZIP" -cd} => ['mailarc-2.txt','none'], ); my %expected_errors = ( ); plan (tests => scalar (keys %tests)); my %skip = SetSkip(\%tests); foreach my $test (sort keys %tests) { print "Running test:\n $test\n"; SKIP: { skip("$skip{$test}",1) if exists $skip{$test}; TestIt($test, $tests{$test}, $expected_errors{$test}); } } # --------------------------------------------------------------------------- sub TestIt { my $test = shift; my ($stdout_file,$stderr_file) = @{ shift @_ }; my $error_expected = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my $test_stdout = File::Temp->new(); $test_stdout->close(); my $test_stderr = File::Temp->new(); $test_stderr->close(); system "$test 1>" . $test_stdout->filename . " 2>" . $test_stderr->filename; if (!$? && defined $error_expected) { ok(0,"Did not encounter an error executing the test when one was expected.\n\n"); return; } if ($? && !defined $error_expected) { ok(0,"Encountered an error executing the test when one was not expected.\n" . "See " . $test_stdout->filename . " and " . $test_stderr->filename . ".\n\n"); return; } my $real_stdout = catfile('t','results',$stdout_file); my $real_stderr = catfile('t','results',$stderr_file); CheckDiffs([$real_stdout,$test_stdout->filename],[$real_stderr,$test_stderr->filename]); } # --------------------------------------------------------------------------- sub SetSkip { my %tests = %{ shift @_ }; my %skip; unless (defined $Mail::Mbox::MessageParser::Config{'programs'}{'gzip'}) { $skip{qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.gz') . qq{" | "$GZIP" -cd}} = 'gzip not available'; } return %skip; } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/length.t000755 000765 000024 00000004172 12517263250 020515 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that every email read has the right length. use strict; use File::Temp; use Test::More; use lib 't'; use Test::Utils; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use FileHandle; eval 'require Storable;'; my @files = ; @files = grep { $_ ne 't/mailboxes/vm-emacs.txt' } @files; plan (tests => 3 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); print $output $folder_reader->length() . "\n"; } $output->close(); my $compare_filename = catfile('t','results',"${testname}_${folder_name}.stdout"); CheckDiffs([$compare_filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/line_number.t000755 000765 000024 00000004217 12517263252 021535 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that every email read has the right starting line number. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; @files = grep { $_ ne 't/mailboxes/vm-emacs.txt' } @files; plan (tests => 3 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); print $output $folder_reader->line_number() . "\n"; } $output->close(); my $compare_filename = catfile('t','results',"${testname}_${folder_name}.stdout"); CheckDiffs([$compare_filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/lzip.t000755 000765 000024 00000004372 12517263023 020212 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Test::Utils; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); # To prevent undef warnings my $LZIP = $Mail::Mbox::MessageParser::Config{'programs'}{'lzip'} || 'lzip'; my $CAT = $Mail::Mbox::MessageParser::Config{'programs'}{'cat'} || 'cat'; my %tests = ( qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.lz') . qq{" | "$LZIP" -cd} => ['mailarc-2.txt','none'], ); my %expected_errors = ( ); plan (tests => scalar (keys %tests)); my %skip = SetSkip(\%tests); foreach my $test (sort keys %tests) { print "Running test:\n $test\n"; SKIP: { skip("$skip{$test}",1) if exists $skip{$test}; TestIt($test, $tests{$test}, $expected_errors{$test}); } } # --------------------------------------------------------------------------- sub TestIt { my $test = shift; my ($stdout_file,$stderr_file) = @{ shift @_ }; my $error_expected = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my $test_stdout = File::Temp->new(); $test_stdout->close(); my $test_stderr = File::Temp->new(); $test_stderr->close(); system "$test 1>" . $test_stdout->filename . " 2>" . $test_stderr->filename; if (!$? && defined $error_expected) { ok(0,"Did not encounter an error executing the test when one was expected.\n\n"); return; } if ($? && !defined $error_expected) { ok(0,"Encountered an error executing the test when one was not expected.\n" . "See " . $test_stdout->filename . " and " . $test_stderr->filename . ".\n\n"); return; } my $real_stdout = catfile('t','results',$stdout_file); my $real_stderr = catfile('t','results',$stderr_file); CheckDiffs([$real_stdout,$test_stdout->filename],[$real_stderr,$test_stderr->filename]); } # --------------------------------------------------------------------------- sub SetSkip { my %tests = %{ shift @_ }; my %skip; unless (defined $Mail::Mbox::MessageParser::Config{'programs'}{'lzip'}) { $skip{qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.lz') . qq{" | "$LZIP" -cd}} = 'lzip not available'; } return %skip; } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/mailboxes/000755 000765 000024 00000000000 12521305626 021022 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/t/number.t000755 000765 000024 00000004213 12517263254 020524 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that every email read has the right starting index number. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; @files = grep { $_ ne 't/mailboxes/vm-emacs.txt' } @files; plan (tests => 3 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); print $output $folder_reader->number() . "\n"; } $output->close(); my $compare_filename = catfile('t','results',"${testname}_${folder_name}.stdout"); CheckDiffs([$compare_filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/offset.t000755 000765 000024 00000004201 12517263256 020521 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that every email read has the right byte offset. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; @files = grep { $_ ne 't/mailboxes/vm-emacs.txt' } @files; plan (tests => 3 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); print $output $folder_reader->offset() . "\n"; } $output->close(); my $compare_filename = catfile('t','results',"${testname}_${folder_name}.stdout"); CheckDiffs([$compare_filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/pod.t000755 000765 000024 00000000241 12503673415 020012 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use Test::More; eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; all_pod_files_ok(); Mail-Mbox-MessageParser-1.5105/t/prologue.t000755 000765 000024 00000004303 12517263257 021073 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that every email read has the right prologue. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; plan (tests => 3 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,1,0); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; ok(0),return if $folder_name eq 'newlines_at_beginning' && $prologue ne "\n"; ok(0),return if $folder_name ne 'newlines_at_beginning' && $prologue ne ""; print $output $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output $$email_text; } $output->close(); CheckDiffs([$filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/reset.t000755 000765 000024 00000011547 12517263043 020362 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can reset a file midway through parsing. use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; @files = grep { $_ ne 't/mailboxes/vm-emacs.txt' } @files; plan (tests => 6 * scalar (@files)); foreach my $filename (@files) { print "Testing filename: $filename\n"; print "Testing partial mailbox reset with Perl implementation\n"; TestPartialRead($filename,0,0); SKIP: { print "Testing partial mailbox reset with Cache implementation\n"; skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); TestPartialRead($filename,1,0); } SKIP: { print "Testing partial mailbox reset with Grep implementation\n"; skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestPartialRead($filename,0,1); } print "Testing full mailbox reset with Perl implementation\n"; TestFullRead($filename,0,0); SKIP: { print "Testing full mailbox reset with Cache implementation\n"; skip('Storable not installed',1) unless defined $Storable::VERSION; TestFullRead($filename,1,0); } SKIP: { print "Testing full mailbox reset with Grep implementation\n"; skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestFullRead($filename,0,1); } } # --------------------------------------------------------------------------- sub TestPartialRead { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, } ); die $folder_reader unless ref $folder_reader; # Read just 1 email $folder_reader->read_next_email(); $folder_reader->reset(); print $output $folder_reader->prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email = $folder_reader->read_next_email(); print $output "number: " . $folder_reader->number() . $folder_reader->endline() . "line: " . $folder_reader->line_number() . $folder_reader->endline() . "offset: " . $folder_reader->offset() . $folder_reader->endline() . "bytes: " . $folder_reader->length() . $folder_reader->endline() . $$email; } $output->close(); my $compare_filename = catfile('t','results',"${testname}_${folder_name}.stdout"); CheckDiffs([$compare_filename,$output->filename]); } # --------------------------------------------------------------------------- sub TestFullRead { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s#\.t##; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; # Read whole mailbox while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); } $folder_reader->reset(); print $output $folder_reader->prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email = $folder_reader->read_next_email(); print $output "number: " . $folder_reader->number() . $folder_reader->endline() . "line: " . $folder_reader->line_number() . $folder_reader->endline() . "offset: " . $folder_reader->offset() . $folder_reader->endline() . "bytes: " . $folder_reader->length() . $folder_reader->endline() . $$email; } $output->close(); my $compare_filename = catfile('t','results',"${testname}_${folder_name}.stdout"); CheckDiffs([$compare_filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/results/000755 000765 000024 00000000000 12521305626 020540 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/t/separators.t000755 000765 000024 00000004035 12517263264 021422 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my %tests = ( "t/mailboxes/separators1.sep" => 4, "t/mailboxes/separators2.sep" => 2, ); plan (tests => 3 * scalar (keys %tests)); foreach my $filename (keys %tests) { print "Testing filename: $filename\n"; SKIP: { skip('Storable not installed',2) unless defined $Storable::VERSION; InitializeCache($filename); TestImplementation($filename,$tests{$filename},1,0); TestImplementation($filename,$tests{$filename},1,1); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; TestImplementation($filename,$tests{$filename},0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $number_of_emails = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\..*?$/; my $output = File::Temp->new(); binmode $output; my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => undef, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; print $output $prologue; my $count = 0; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); $count++; } $output->close(); is($count,$number_of_emails, "Number of emails in $filename"); } Mail-Mbox-MessageParser-1.5105/t/speed.pl000755 000765 000024 00000021424 12515004326 020476 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # These tests operate on a mail archive I found on the web at # http://el.www.media.mit.edu/groups/el/projects/handy-board/mailarc.txt # and then broke into pieces use strict; use warnings 'all'; use Config; use File::Slurp; use lib 't'; use Test::Utils; use Benchmark; my $MAILBOX_SIZE = 10_000_000; my $TEMP_MAILBOX = "$TEMPDIR/bigmailbox.txt"; my $path_to_perl = $Config{perlpath}; my @IMPLEMENTATIONS_TO_TEST = ( 'Perl', 'Grep', 'Cache Init', 'Cache Use', ); my @mailboxes = CreateInputFiles($TEMP_MAILBOX); pop @mailboxes; foreach my $mailbox (@mailboxes) { print "\n"; { local $" = ", "; print "Executing speed tests for @IMPLEMENTATIONS_TO_TEST on \"$mailbox\"\n\n"; } my $data = CollectData($mailbox); print "=========================================\n"; DoHeadToHeadComparison($data); print "=========================================\n"; DoImplementationsComparison($data); print "#########################################\n"; } # make clean will take care of it #END #{ # RemoveInputFile($TEMP_MAILBOX); #} ################################################################################ sub RemoveInputFile { my $filename = shift; unlink $filename; } ################################################################################ sub CreateInputFiles { my $filename = shift; my @mailboxes; unless(-e $filename && abs((-s $filename) - $MAILBOX_SIZE) <= $MAILBOX_SIZE*.1) { print "Making input file ($MAILBOX_SIZE bytes).\n"; my $data = read_file('t/mailboxes/mailarc-1.txt'); open FILE, ">$filename"; my $number = 0; while (-s $filename < $MAILBOX_SIZE) { print FILE $data, "\n"; $number++; # Also make an email with a 1MB attachment. print FILE<<"EOF"; From XXXXXXXX\@XXXXXXX.XXX.XXX.XXX Sat Apr 19 19:30:45 2003 Received: from XXXXXX.XXX.XXX.XXX (XXXXXX.XXX.XXX.XXX [##.##.#.##]) by XXX.XXXXXXXX.XXX id h3JNTvkA009295 envelope-from XXXXXXXX\@XXXXXXX.XXX.XXX.XXX for ; Sat, 19 Apr 2003 19:29:57 -0400 (EDT)8f/81N9n7q (envelope-from XXXXXXXX\@XXXXXXX.XXX.XXX.XXX) Date: Sat, 19 Apr 2003 19:29:50 -0400 (EDT) From: Xxxxxxx Xxxxxxxx To: "'Xxxxx Xxxxxx'" Subject: RE: FW: Xxxxxx--xxxxxx xxxxxxxx xxxxx xxxxxxx (xxx) Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="873612032-418625252-1050794990=:31078" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime\@docserver.cac.washington.edu for more info. --873612032-418625252-1050794990=:31078 Content-Type: TEXT/PLAIN; charset=US-ASCII I am not sure if the message below went through. I accidentally attached too big a file with it. Now it's nicely zipped. --873612032-418625252-1050794990=:31078 Content-Type: APPLICATION/x-gzip; name="testera_dft_4_mchaff.tar.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="foo.tar.gz" EOF print FILE (('x' x 74 . "\n" ) x (1_000_000 / 74)); print FILE "--873612032-418625252-1050794990=:31078--\n\n"; } close FILE; } unlink "$filename.gz" if -e "$filename.gz"; print "Making compressed input file.\n"; system "gzip -c --force --best $filename > $filename.gz"; return ($filename, "$filename.gz"); } ################################################################################ my $test_program; sub CollectData { my $filename = shift; print "Collecting data...\n\n"; $test_program = read_file(\*DATA) unless defined $test_program; # I couldn't get the module to reload right, so we'll create an external program # to do the testing { local $" = "', '"; my $implementations_to_test = "'@IMPLEMENTATIONS_TO_TEST'"; $test_program =~ s/\@IMPLEMENTATIONS_TO_TEST/$implementations_to_test/g; } $test_program =~ s/\$TEMPDIR/$TEMPDIR/g; write_file("$TEMPDIR/test_speed.pl", $test_program); my %data; foreach my $old_or_new (qw(New Old)) { my $results = `$path_to_perl $TEMPDIR/test_speed.pl $old_or_new`; die $results unless $results =~ /VAR1/; my $VAR1; eval $results; %data = (%data, %$VAR1); } return \%data; } ################################################################################ sub DoHeadToHeadComparison { my $data = shift; print "HEAD TO HEAD COMPARISON\n\n"; my @labels = grep { s/New // } keys %$data; my $first = 1; foreach my $label (@labels) { next unless exists $data->{"Old $label"} && exists $data->{"New $label"}; print "-----------------------------------------\n" unless $first; my %head_to_head = ("Old $label" => $data->{"Old $label"}, "New $label" => $data->{"New $label"}); Benchmark::cmpthese(\%head_to_head); $first = 0; } } ################################################################################ sub DoImplementationsComparison { my $data = shift; print "IMPLEMENTATION COMPARISON\n\n"; { my @old_labels = grep { /Old / } keys %$data; my %old; foreach my $label (@old_labels) { $old{$label} = $data->{$label}; } Benchmark::cmpthese(\%old); } print "-----------------------------------------\n"; { my @new_labels = grep { /New / } keys %$data; my %new; foreach my $label (@new_labels) { $new{$label} = $data->{$label}; } Benchmark::cmpthese(\%new); } } ################################################################################ __DATA__ use strict; use lib 'lib'; use Benchmark; use Benchmark::Timer; use FileHandle; die unless @ARGV == 1; my $old_or_new = $ARGV[0]; my $modpath = $old_or_new eq 'New' ? 'lib' : 'old'; my $filename = "$TEMPDIR/bigmailbox.txt"; my %data; unshift @INC, $modpath; require Mail::Mbox::MessageParser; my %settings = ( 'Perl' => [0,0], 'Grep' => [0,1], 'Cache Init' => [1,1], 'Cache Use' => [1,0], ); foreach my $file_type ('Filename', 'Filehandle') { # Take this out soon next if $old_or_new eq 'Old' && $file_type eq 'Filename'; foreach my $impl (@IMPLEMENTATIONS_TO_TEST) { my $label = "$old_or_new $impl $file_type"; my $t = new Benchmark::Timer(skip => 2, minimum => 5, confidence => 98.5, error => 2); $| = 1; # Need enough for the statistics to be valid while ($t->need_more_samples($label)) { unlink "$TEMPDIR/cache" if $impl eq 'Cache Init'; if ($impl eq 'Cache Init') { $t->start($label); InitializeCache($filename, $file_type); $t->stop($label); } else { $t->start($label); ParseFile($filename,$settings{$impl}[0],$settings{$impl}[1], $file_type); $t->stop($label); } } $t->report($label); # Fake a benchmark object so we can compare later using Benchmark $data{$label} = new Benchmark; $data{$label}[5] = 1; $data{$label}[1] = $t->result($label); $data{$label}[2] = 0; } } use Data::Dumper; print Dumper \%data; exit; ################################################################################ sub InitializeCache { my $filename = shift; my $file_type = shift; Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => "$TEMPDIR/cache"}); Mail::Mbox::MessageParser::MetaInfo::CLEAR_CACHE(); my $filehandle; $filehandle = new FileHandle($filename) if $file_type eq 'Filehandle'; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => 1, 'enable_grep' => 0, } ); my $prologue = $folder_reader->prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); } Mail::Mbox::MessageParser::MetaInfo::WRITE_CACHE(); } ################################################################################ sub ParseFile { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $file_type = shift; my $file_handle; $file_handle = new FileHandle($filename) if $file_type eq 'Filehandle'; Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => "$TEMPDIR/cache"}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $file_handle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, } ); while (!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); } close $file_handle if $file_type eq 'Filehandle'; } ################################################################################ Mail-Mbox-MessageParser-1.5105/t/stdin_compressed.t000755 000765 000024 00000006330 12517263055 022602 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can pipe compressed data to the module use strict; use File::Temp; use Test::More; use lib 't'; use File::Spec::Functions qw(:ALL); use Test::Utils; use Mail::Mbox::MessageParser::Config; use FileHandle; use File::Slurp; my @files = ; @files = grep { !/non-mailbox/ && !/malformed/ } @files; plan (tests => 1 * scalar (@files)); my $test_program = read_file(\*DATA); foreach my $filename (@files) { print "Testing filename: $filename\n"; SKIP: { skip('bzip2 not available',1) if $filename =~ /\.bz2$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip2'}; skip('bzip not available',1) if $filename =~ /\.bz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'bzip'}; skip('lzip not available',1) if $filename =~ /\.lz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'lzip'}; skip('xz not available',1) if $filename =~ /\.xz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'xz'}; skip('gzip not available',1) if $filename =~ /\.gz$/ && !defined $Mail::Mbox::MessageParser::Config{'programs'}{'gzip'}; TestImplementation($filename, $test_program); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $test_program = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt.*$/; my $output = File::Temp->new(); my $script = File::Temp->new(); local $/ = undef; write_file($script, {binmode => ':raw'}, $test_program); my $mailbox = read_file($filename, { binmode => ':raw' }); open PIPE, "|$^X -I" . catdir('blib','lib') . " " . $script->filename . " \"" . $output->filename . "\""; binmode PIPE; local $SIG{PIPE} = sub { die "test program pipe broke" }; print PIPE $mailbox; close PIPE; $filename =~ s#\.(tz|bz2|lz|xz|gz)$##; CheckDiffs([$filename,$output->filename]); } ################################################################################ __DATA__ use strict; use Mail::Mbox::MessageParser; use FileHandle; die unless @ARGV == 1; my $output_filename = shift @ARGV; my $fileHandle = new FileHandle; $fileHandle->open('-'); ParseFile($output_filename); exit; ################################################################################ sub ParseFile { my $output_filename = shift; my $file_handle = new FileHandle; $file_handle->open('-') or die $!; my $output_file_handle = new FileHandle(">$output_filename"); binmode $output_file_handle; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => undef, 'file_handle' => $file_handle, 'enable_cache' => 0, 'enable_grep' => 0, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; print $output_file_handle $folder_reader->prologue(); while (!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output_file_handle $$email_text; } close $output_file_handle; } ################################################################################ Mail-Mbox-MessageParser-1.5105/t/stdin_uncompressed.t000755 000765 000024 00000004601 12517263063 023143 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test that we can pipe uncompressed mailboxes to STDIN use strict; use File::Temp; use Test::More; use lib 't'; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; use File::Slurp; my @files = ; plan (tests => 1 * scalar (@files)); my $test_program = read_file(\*DATA); foreach my $filename (@files) { print "Testing filename: $filename\n"; TestImplementation($filename, $test_program); } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $test_program = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/\\]*)\.txt.*$/; my $output = File::Temp->new(); my $script = File::Temp->new(); local $/ = undef; write_file($script, {binmode => ':raw'}, $test_program); my $mailbox = read_file($filename, { binmode => ':raw' }); open PIPE, "|$^X -I" . catdir('blib','lib') . " " . $script->filename . " \"" . $output->filename . "\""; binmode PIPE; local $SIG{PIPE} = sub { die "test program pipe broke" }; print PIPE $mailbox; close PIPE; CheckDiffs([$filename,$output->filename]); } ################################################################################ __DATA__ use strict; use Mail::Mbox::MessageParser; use FileHandle; die unless @ARGV == 1; my $output_filename = shift @ARGV; my $fileHandle = new FileHandle; $fileHandle->open('-'); ParseFile($output_filename); exit; ################################################################################ sub ParseFile { my $output_filename = shift; my $file_handle = new FileHandle; $file_handle->open('-') or die $!; my $output_file_handle = new FileHandle(">$output_filename"); binmode $output_file_handle; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => undef, 'file_handle' => $file_handle, 'enable_cache' => 0, 'enable_grep' => 0, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; print $output_file_handle $folder_reader->prologue(); while (!$folder_reader->end_of_file()) { my $email_text = $folder_reader->read_next_email(); print $output_file_handle $$email_text; } close $output_file_handle; } ################################################################################ Mail-Mbox-MessageParser-1.5105/t/Test/000755 000765 000024 00000000000 12521305625 017755 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/t/undef_return_value.t000755 000765 000024 00000004055 12517263276 023140 0ustar00coppitstaff000000 000000 #!/usr/bin/perl # Test the method of reading a mailbox that relies on undef rather than # checking EOF use strict; use File::Temp; use Test::More; use lib 't'; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); use Test::Utils; use FileHandle; eval 'require Storable;'; my @files = ; plan (tests => 3 * scalar (@files)); foreach my $filename (@files) { print "Testing Perl \n"; TestImplementation($filename,0,0); SKIP: { skip('Storable not installed',1) unless defined $Storable::VERSION; InitializeCache($filename); print "Testing Cache implementation\n"; TestImplementation($filename,1,0); } SKIP: { skip('GNU grep not available',1) unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; print "Testing Grep implementation\n"; TestImplementation($filename,0,1); } } # --------------------------------------------------------------------------- sub TestImplementation { my $filename = shift; my $enable_cache = shift; my $enable_grep = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my ($folder_name) = $filename =~ /\/([^\/]*)\.txt$/; my $output = File::Temp->new(); binmode $output; my $filehandle = new FileHandle($filename); my $cache = File::Temp->new(); Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache->filename}) if $enable_cache; my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => $enable_cache, 'enable_grep' => $enable_grep, 'debug' => $ENV{TEST_VERBOSE}, } ); die $folder_reader unless ref $folder_reader; print $output $folder_reader->prologue; # This is the main loop. It's executed once for each email while(my $email = $folder_reader->read_next_email()) { print $output $$email; } $output->close(); CheckDiffs([$filename,$output->filename]); } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/xz.t000755 000765 000024 00000004353 12517263072 017700 0ustar00coppitstaff000000 000000 #!/usr/bin/perl use strict; use File::Temp; use Test::More; use lib 't'; use Test::Utils; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use File::Spec::Functions qw(:ALL); # To prevent undef warnings my $XZ = $Mail::Mbox::MessageParser::Config{'programs'}{'xz'} || 'xz'; my $CAT = $Mail::Mbox::MessageParser::Config{'programs'}{'cat'} || 'cat'; my %tests = ( qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.xz') . qq{" | "$XZ" -cd} => ['mailarc-2.txt','none'], ); my %expected_errors = ( ); plan (tests => scalar (keys %tests)); my %skip = SetSkip(\%tests); foreach my $test (sort keys %tests) { print "Running test:\n $test\n"; SKIP: { skip("$skip{$test}",1) if exists $skip{$test}; TestIt($test, $tests{$test}, $expected_errors{$test}); } } # --------------------------------------------------------------------------- sub TestIt { my $test = shift; my ($stdout_file,$stderr_file) = @{ shift @_ }; my $error_expected = shift; my $testname = [splitdir($0)]->[-1]; $testname =~ s/\.t//; my $test_stdout = File::Temp->new(); $test_stdout->close(); my $test_stderr = File::Temp->new(); $test_stderr->close(); system "$test 1>" . $test_stdout->filename . " 2>" . $test_stderr->filename; if (!$? && defined $error_expected) { ok(0,"Did not encounter an error executing the test when one was expected.\n\n"); return; } if ($? && !defined $error_expected) { ok(0,"Encountered an error executing the test when one was not expected.\n" . "See " . $test_stdout->filename . " and " . $test_stderr->filename . ".\n\n"); return; } my $real_stdout = catfile('t','results',$stdout_file); my $real_stderr = catfile('t','results',$stderr_file); CheckDiffs([$real_stdout,$test_stdout->filename],[$real_stderr,$test_stderr->filename]); } # --------------------------------------------------------------------------- sub SetSkip { my %tests = %{ shift @_ }; my %skip; unless (defined $Mail::Mbox::MessageParser::Config{'programs'}{'xz'}) { $skip{qq{"$CAT" "} . catfile('t','mailboxes','mailarc-2.txt.xz') . qq{" | "$XZ" -cd}} = 'xz not available'; } return %skip; } # --------------------------------------------------------------------------- Mail-Mbox-MessageParser-1.5105/t/Test/Utils.pm000644 000765 000024 00000007570 12515076131 021424 0ustar00coppitstaff000000 000000 package Test::Utils; use strict; use Exporter; use Test::More; use Text::Diff; use FileHandle::Unget; use File::Path qw( remove_tree ); use File::Spec::Functions qw( :ALL ); use File::Temp; use File::Slurp; use vars qw( @EXPORT @ISA ); use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::MetaInfo; @ISA = qw( Exporter ); @EXPORT = qw( CheckDiffs InitializeCache Module_Installed Broken_Pipe No_such_file_or_directory $TEMPDIR ); use vars qw( $TEMPDIR ); $TEMPDIR = File::Temp::tempdir(); # --------------------------------------------------------------------------- sub CheckDiffs { my @pairs = @_; local $Test::Builder::Level = 2; foreach my $pair (@pairs) { my $filename = $pair->[0]; my $output_filename = $pair->[1]; print "Comparing $output_filename to $filename\n"; my @diffs; diff $output_filename, $filename, { STYLE => 'OldStyle', OUTPUT => \@diffs }; my $numdiffs = grep { /^[\d,]+[acd][\d,]+$/ } @diffs; if ($numdiffs != 0) { write_file("$output_filename.diff", "diff \"$output_filename\" \"$filename\"\n", @diffs); print "Failed, with $numdiffs differences.\n"; print " See $output_filename.diff.\n"; ok(0,"Computing differences between $filename and $output_filename"); return; } else { print "Output $output_filename looks good.\n"; } } ok(1,"Computing differences"); } # --------------------------------------------------------------------------- sub InitializeCache { my $filename = shift; my $cache_file = catfile($TEMPDIR,'cache'); remove_tree($cache_file) if -e $cache_file; Mail::Mbox::MessageParser::SETUP_CACHE({'file_name' => $cache_file}); my $filehandle = new FileHandle::Unget($filename); my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => 1, 'enable_grep' => 0, } ); die $folder_reader unless ref $folder_reader; my $prologue = $folder_reader->prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { $folder_reader->read_next_email(); } $filehandle->close(); Mail::Mbox::MessageParser::MetaInfo::WRITE_CACHE(); die "Couldn't initialize cache: Storable version not defined" unless defined $Storable::VERSION; die "Couldn't initialize cache: \$UPDATING_CACHE is true" if $Mail::Mbox::MessageParser::MetaInfo::UPDATING_CACHE; # Check that the cache is actually there die "Couldn't initialize cache: Not modified so nothing written" unless -e $cache_file; } # --------------------------------------------------------------------------- sub Module_Installed { my $module_name = shift; $module_name =~ s#::#/#g; $module_name .= '.pm'; foreach my $inc (@INC) { return 1 if -e catfile($inc,$module_name); } return 0; } # --------------------------------------------------------------------------- sub No_such_file_or_directory { my $filename = 0; $filename++ while -e $filename; local $!; my $foo = new FileHandle; $foo->open($filename); die q{Couldn't determine local text for "No such file or directory"} if $! eq ''; return $!; } # --------------------------------------------------------------------------- # I think this works, but I haven't been able to test it because I can't find # a system which will report a broken pipe. Also, is there a pure Perl way of # doing this? sub Broken_Pipe { my $script_path = catfile($TEMPDIR,'broken_pipe.pl'); my $dev_null = devnull(); write_file($script_path, <$dev_null"); print F 'x'; close F; exit; } EOF my $result = `$^X $script_path 2>&1 1>$dev_null`; $result = '' unless defined $result; return $result; } # --------------------------------------------------------------------------- 1; Mail-Mbox-MessageParser-1.5105/t/results/grep_1000644 000765 000024 00000001753 12503672226 021651 0ustar00coppitstaff000000 000000 1:0:From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 513:15812:From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 791:24172:From aarone@sirius.com Wed Jul 1 02:44:06 1998 825:25742:From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 853:26953:From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 901:29226:From someone@imagecraft.com Fri Jul 10 18:59:26 1998 943:31074:From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 998:33247:From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 1142:40933:From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 1201:44049:From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 1274:47337:From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 1316:49263:From aarone@sirius.com Wed Sep 30 12:35:05 1998 1361:50733:From aarone@sirius.com Wed Aug 12 13:42:19 1998 1419:52991:From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 1467:55264:From someone@imagecraft.com Fri Jul 10 18:59:26 1998 1509:57112:From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Mail-Mbox-MessageParser-1.5105/t/results/grep_2000644 000765 000024 00000000466 12503672226 021652 0ustar00coppitstaff000000 000000 1:0:From jrh@jack.securepipe.com Tue Jan 13 03:19:47 1998 41:1986:From owner-laser@ns1.qsl.net Thu May 1 09:58:06 1997 89:3728:From fredm@ml.media.mit.edu Tue Jan 13 10:41:57 1998 156:6234:From dakott@alpha.delta.edu Thu Jan 1 05:56:53 1998 259:10836:From fredm@ml.media.mit.edu Thu Jan 1 10:20:57 1998 Mail-Mbox-MessageParser-1.5105/t/results/grep_3000644 000765 000024 00000002071 12503672226 021645 0ustar00coppitstaff000000 000000 1:0:From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 512:15766:From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 WETDST 789:24094:From aarone@sirius.com Wed Jul 1 02:44:06 1998 MEST 822:25616:From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 849:26782:From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 896:29003:From someone@imagecraft.com Fri Jul 10 18:59:26 1998 935:30820:From someone2@imagecraft.com Fri Jul 10 18:59:26 1998 977:32672:From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 1031:34775:From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 1174:42400:From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 1232:45444:From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 1304:48660:From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 1345:50527:From aarone@sirius.com Wed Sep 30 12:35:05 1998 1389:51934:From aarone@sirius.com Wed Aug 12 13:42:19 1998 1446:54129:From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 1493:56350:From someone@imagecraft.com Fri Jul 10 18:59:26 1998 1534:58146:From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Mail-Mbox-MessageParser-1.5105/t/results/grep_4000644 000765 000024 00000000315 12503672226 021645 0ustar00coppitstaff000000 000000 1:0:From xxx8x@ares.cs.Virginia.EDU Thu Sep 13 12:30:05 2001 -0400 35:1416:From david@coppit.org Sat Sep 1 20:58 EDT 2001 87:3670:From owner-cs650-discussion-fall01@virginia.edu Fri Sep 28 13:34 EDT 2001 Mail-Mbox-MessageParser-1.5105/t/results/grep_5000644 000765 000024 00000000220 12503672226 021641 0ustar00coppitstaff000000 000000 1:0:X-From-Line: perl5-porters-return-17870-jvromans=squirrel.nl@perl.org Sat Sep 16 13:45:05 2000 63:2931:X-Draft-From: ("nnml:Mailbox" 6738) Mail-Mbox-MessageParser-1.5105/t/results/length_binary_body.stdout000644 000765 000024 00000000005 12503672226 025644 0ustar00coppitstaff000000 000000 2711 Mail-Mbox-MessageParser-1.5105/t/results/length_hessbug.stdout000644 000765 000024 00000000004 12503672226 025002 0ustar00coppitstaff000000 000000 637 Mail-Mbox-MessageParser-1.5105/t/results/length_invalid-boundaries.stdout000644 000765 000024 00000000050 12503672226 027122 0ustar00coppitstaff000000 000000 4401 5305 5166 4357 3976 4132 3393 4118 Mail-Mbox-MessageParser-1.5105/t/results/length_mailarc-1-dos.stdout000644 000765 000024 00000000102 12503672226 025672 0ustar00coppitstaff000000 000000 16324 8638 2843 4211 2228 7830 3175 3361 1968 1515 2316 4211 7889 Mail-Mbox-MessageParser-1.5105/t/results/length_mailarc-1.stdout000644 000765 000024 00000000102 12503672226 025107 0ustar00coppitstaff000000 000000 15812 8360 2781 4121 2173 7686 3116 3288 1926 1470 2258 4121 7753 Mail-Mbox-MessageParser-1.5105/t/results/length_mailarc-2.stdout000644 000765 000024 00000000024 12503672226 025113 0ustar00coppitstaff000000 000000 3728 2506 4602 1108 Mail-Mbox-MessageParser-1.5105/t/results/length_mailarc-3.stdout000644 000765 000024 00000000102 12503672226 025111 0ustar00coppitstaff000000 000000 15766 8328 2688 5890 2103 7625 3044 3216 1867 1407 2195 4017 7697 Mail-Mbox-MessageParser-1.5105/t/results/length_mailbox with space.stdout000644 000765 000024 00000000017 12521305626 027006 0ustar00coppitstaff000000 000000 1416 2254 2333 Mail-Mbox-MessageParser-1.5105/t/results/length_mailseparators.stdout000644 000765 000024 00000000017 12503672226 026374 0ustar00coppitstaff000000 000000 1416 2254 2333 Mail-Mbox-MessageParser-1.5105/t/results/length_malformed.stdout000644 000765 000024 00000000021 12503674242 025307 0ustar00coppitstaff000000 000000 22612 3401 34995 Mail-Mbox-MessageParser-1.5105/t/results/length_newlines_at_beginning.stdout000644 000765 000024 00000000005 12503672226 027673 0ustar00coppitstaff000000 000000 2382 Mail-Mbox-MessageParser-1.5105/t/results/line_number_binary_body.stdout000644 000765 000024 00000000002 12503672226 026657 0ustar00coppitstaff000000 000000 1 Mail-Mbox-MessageParser-1.5105/t/results/line_number_hessbug.stdout000644 000765 000024 00000000002 12503672226 026016 0ustar00coppitstaff000000 000000 1 Mail-Mbox-MessageParser-1.5105/t/results/line_number_invalid-boundaries.stdout000644 000765 000024 00000000036 12503672226 030144 0ustar00coppitstaff000000 000000 1 130 249 377 453 535 622 707 Mail-Mbox-MessageParser-1.5105/t/results/line_number_mailarc-1-dos.stdout000644 000765 000024 00000000071 12503672226 026715 0ustar00coppitstaff000000 000000 1 513 791 853 943 998 1142 1201 1274 1316 1361 1419 1509 Mail-Mbox-MessageParser-1.5105/t/results/line_number_mailarc-1.stdout000644 000765 000024 00000000071 12503672226 026132 0ustar00coppitstaff000000 000000 1 513 791 853 943 998 1142 1201 1274 1316 1361 1419 1509 Mail-Mbox-MessageParser-1.5105/t/results/line_number_mailarc-2.stdout000644 000765 000024 00000000015 12503672226 026131 0ustar00coppitstaff000000 000000 1 89 156 259 Mail-Mbox-MessageParser-1.5105/t/results/line_number_mailarc-3.stdout000644 000765 000024 00000000072 12503672226 026135 0ustar00coppitstaff000000 000000 1 512 789 849 977 1031 1174 1232 1304 1345 1389 1446 1534 Mail-Mbox-MessageParser-1.5105/t/results/line_number_mailbox with space.stdout000644 000765 000024 00000000010 12521305626 030015 0ustar00coppitstaff000000 000000 1 35 87 Mail-Mbox-MessageParser-1.5105/t/results/line_number_mailseparators.stdout000644 000765 000024 00000000010 12503672226 027403 0ustar00coppitstaff000000 000000 1 35 87 Mail-Mbox-MessageParser-1.5105/t/results/line_number_malformed.stdout000644 000765 000024 00000000012 12503674237 026331 0ustar00coppitstaff000000 000000 1 661 755 Mail-Mbox-MessageParser-1.5105/t/results/line_number_newlines_at_beginning.stdout000644 000765 000024 00000000002 12503672226 030706 0ustar00coppitstaff000000 000000 2 Mail-Mbox-MessageParser-1.5105/t/results/mailarc-2.txt000644 000765 000024 00000027250 12503672226 023061 0ustar00coppitstaff000000 000000 From jrh@jack.securepipe.com Tue Jan 13 03:19:47 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA08834; Tue, 13 Jan 1998 03:19:47 -0500 Received: from splat.securepipe.com (splat.securepipe.com [169.207.51.74]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA00703 for ; Tue, 13 Jan 1998 02:15:36 -0500 (EST) Message-Id: <199801130715.CAA00703@aleve.media.mit.edu> Received: (qmail 7615 invoked from network); 13 Jan 1998 07:23:07 -0000 Received: from jack.securepipe.com (network-user@169.207.51.75) by splat.securepipe.com with SMTP; 13 Jan 1998 07:23:07 -0000 X-Mailer: exmh version 2.0zeta 7/24/97 From: Joshua Heling To: handyboard@media.mit.edu Subject: questions re: unix version of IC Reply-To: Joshua Heling Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 13 Jan 1998 01:23:12 -0600 Sender: jrh@jack.securepipe.com Hi - I'm a handy-board/ic newbie, so please excuse this question if it's answers seem obvious. After two weeks of writing code in DOS/Windows (yuck), I downloaded the ic-2.860beta source code, which compiled without significant trouble in linux (redhat 5). The version is, of course, a bit different from that which came with the handy-board (from Gleason Rsch, was version 2.851). My question is, can I just copy the library files that came from Gleason Rsch. into the lib directory on the unix ic installation (it seems that I can, I just want to be sure)? Are there any other issues I should be aware of (w.r.t. the beta, or using ic from unix, end-of-line conventions on library files, etc.). I'm not particularly concerned with being able to download the pcode in unix - I do have DOS easily available... BTW, thanks to all that have contributed to this really neat project - this is my first exposure to robotics, and it's been great fun so far. ----- Begin Included Message ----- From owner-laser@ns1.qsl.net Thu May 1 09:58:06 1997 X-Authentication-Warning: ns1.qsl.net: majordom set sender to owner-laser@qsl.net using -f From: "Guy Hamblen" To: "Laser" Subject: [LASER] Which Circuit for OPT210? Date: Thu, 1 May 1997 12:53:29 -0400 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1155 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: owner-laser@qsl.net Reply-To: "Guy Hamblen" Content-Length: 1037 Thanks everyone for sourcing information on this device. I've got several in hand, feedback resistors are in the mail. Now can I get existing OPT1210 user experience re: the following questions: 1) I assume (dangerous I know...) that the easiest circuit (per the Burr-Brown App Notes) is the Fig. 3 "Single Power Supply Operation"? 2) Is 12v operation recommended? 3) If 12v operation, did you use a 5.6v zener or lower value? 4) Did you use electrolytics to bypass to ground pins 1 & 8? 5) Did you build this circuit in a shielded box? 6) Does the on-board opamp provide sufficient output to drive a set of headphones or did you add another opamp gain circuit? If so what low noise device? Any highpass filter circuits? Is there any need for a bandpass filter circuit to get rid of audio highs? I am using a 3" PVC with a focusing lens (f/4") - - how did you mechanically place the OPT210 so the focused light source falls on the photodiode? My approach would be trial-versus-error.... Thanks in advance....Guy N7UN/2 ----- End Included Message ----- - Joshua -------- Joshua Heling jrh@securepipe.com SecurePipe Communications, Inc. From fredm@ml.media.mit.edu Tue Jan 13 10:41:57 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA21129; Tue, 13 Jan 1998 10:41:57 -0500 Received: from ml.media.mit.edu (ml.media.mit.edu [18.85.13.107]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id JAA22423 for ; Tue, 13 Jan 1998 09:10:43 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by ml.media.mit.edu (8.8.7/8.8.7) with SMTP id JAA26699; Tue, 13 Jan 1998 09:10:37 -0500 (EST) Message-Id: <199801131410.JAA26699@ml.media.mit.edu> X-Authentication-Warning: ml.media.mit.edu: localhost [127.0.0.1] didn't use HELO protocol To: Joshua Heling Cc: handyboard@media.mit.edu Subject: Re: questions re: unix version of IC In-Reply-To: Your message of "Tue, 13 Jan 98 01:23:12 CST." <199801130715.CAA00703@aleve.media.mit.edu> Date: Tue, 13 Jan 98 09:10:37 -0500 From: "Fred G. Martin" X-Mts: smtp Joshua - There should be no problems using the Gleason Research libraries (or any of the libraries that are on the web site). There are no differences between version 2.851 and 2.860 from the point of view of the libraries. There is a pre-compiled version for Linux. See ftp://cher.media.mit.edu/pub/projects/interactive-c/unix/ Fred In your message you said: > Hi - > > I'm a handy-board/ic newbie, so please excuse this question if it's answers > seem obvious. After two weeks of writing code in DOS/Windows (yuck), I > downloaded the ic-2.860beta source code, which compiled without significant > trouble in linux (redhat 5). The version is, of course, a bit different from > that which came with the handy-board (from Gleason Rsch, was version 2.851). > > My question is, can I just copy the library files that came from Gleason Rsch . > into the lib directory on the unix ic installation (it seems that I can, I > just want to be sure)? Are there any other issues I should be aware of > (w.r.t. the beta, or using ic from unix, end-of-line conventions on library > files, etc.). I'm not particularly concerned with being able to download the > pcode in unix - I do have DOS easily available... > > BTW, thanks to all that have contributed to this really neat project - this i s > my first exposure to robotics, and it's been great fun so far. > > > - Joshua > > -------- > Joshua Heling jrh@securepipe.com > SecurePipe Communications, Inc. > > > From dakott@alpha.delta.edu Thu Jan 1 05:56:53 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA29720; Thu, 1 Jan 1998 05:56:53 -0500 Received: from kott.my.domain (root@pm233-26.dialip.mich.net [198.110.144.127]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id FAA31795 for ; Thu, 1 Jan 1998 05:06:14 -0500 (EST) Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id FAA01072 for ; Thu, 1 Jan 1998 05:06:33 -0500 (EST) Date: Thu, 1 Jan 1998 05:06:32 -0500 (EST) From: David Kott Sender: dakott@kott.my.domain To: handyboard@media.mit.edu Subject: Re: Digital outputs. In-Reply-To: <199712312227.QAA03595@augusta.netperceptions.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 31 Dec 1997, Tom Brusehaver wrote: > > G> Wich are the options to have 3 digital outputs in the handyboard? > G> No matter if i have to do little modifications to the Hardware. I > G> already know how to conect the keypad if you can tell me how > G> obtain 3 outputs.. :) > > > The SPI port is sitting there. I think you can get at 3 outputs from > those pins (SD/RD/CLK). > yet ANOTHER idea, if you are suitably masochistic, is to use the SPI port for a much more extensible I/O system. As you know, SPI uses 4 basic control signals, MOSI, MISO, CLK and SS... Ok, what we used to do in Embedded Controllers class is hook up a Serial In/Parallel Out (hereforward referred to as a SIPO) shift register. You must have at least ONE output available, so, this pretty much eliminates a L293 or, if you are bold enough, obtain additional outputs using a '138 as outlined in the HandyBoard FAQ. A SIPO you might use is the 8 bit 74164. Hook the DATA IN on the SIPO to the MOSI pin on the SPI. Hook the SPI's CLK output to the SIPO's clock pin. Use a transparent latch to update and hold the data on the outputs of the SIPO and update it with the one output pin, perhaps a 74373. To update the new 8 bits of data appearing at your latch's output, you load the SPI's data register with the byte value that you want to have across your new outputs. This data will be shifted out during the next 8 E-clock cycles. After the SPI's data register is empty indicating that the SIPO has the output byte on it's parallel outputs, pulse the single control output to update the latch's outputs. With this arrangement, you could, in theory, have many, many SIPO shift register/Latch pairs; the Serial Data In of the next stage connected to the last Parallel Output on the previous adjacent stage. One would just have to make sure that you coordinated the number of stages with the number of bytes outshifted by the SPI data register (naturally). The downside to this arrangement is the time it takes to update a digital output. The entire train (8 bits, 16 bits, 24 bits... more?) Need to be loaded and shifted out to change just ONE output. The upside is, the data will shift at 2 Mhz, which makes for a (250 ns * [8+2] ) 2.5 ms update time. Not suitable for time critical applications, (PWM, Communication) but not bad for bulk outputs. I don't think I have explained my little circuit here very well.. perhaps an ASCII graphic? Output originally going to an L293D +---------------------------------------+ |Or added via a '138 from the | |expansion buss. | | +--+----+ +----+---------+ +---------+ | LE | | | SPI CLK |'164 PO0|----| '373 |---- | +-----------+ CP PO1|----| |---- | 68HC11 | SPI MOSI | PO2|----| |---- | +-----------+ Data PO3|----| |---- New | | | PO4|----| |---- Digital +--------------+ | PO5|----| |---- Outputs | PO6|----| |---- | PO7|----| |---- +---------+ +-------+ Where: PO# is a "Parallel Output" on a SIPO Data is the "Serial Data Input" on a SIPO CP is the SIPO's clock -d Win95/NT - 32 bit extensions and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition. -UGU From fredm@ml.media.mit.edu Thu Jan 1 10:20:57 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA28944; Thu, 1 Jan 1998 10:20:57 -0500 Received: from ml.media.mit.edu (ml.media.mit.edu [18.85.13.107]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id JAA23720 for ; Thu, 1 Jan 1998 09:41:01 -0500 (EST) Received: (from fredm@localhost) by ml.media.mit.edu (8.8.7/8.8.7) id JAA32741 for handyboard; Thu, 1 Jan 1998 09:41:01 -0500 (EST) From: Fred G Martin Message-Id: <199801011441.JAA32741@ml.media.mit.edu> To: handyboard@media.mit.edu Subject: Re: Digital outputs. Thanks David for a nice explanation of how to add I/O using shift registers. Let us not all forget that the HB does have two uncommitted digital output ASIDE from the four SPI pins: PA7 (a bidirectional pin which is marked as digital input #9) and PA5 (a timer output pin which is marked as TO3 on the expansion header). It would seem silly to disconnect a motor driver signal when these two signals are available. Fred Mail-Mbox-MessageParser-1.5105/t/results/none000644 000765 000024 00000000000 12503672226 021413 0ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/t/results/number_binary_body.stdout000644 000765 000024 00000000002 12503672226 025650 0ustar00coppitstaff000000 000000 1 Mail-Mbox-MessageParser-1.5105/t/results/number_hessbug.stdout000644 000765 000024 00000000002 12503672226 025007 0ustar00coppitstaff000000 000000 1 Mail-Mbox-MessageParser-1.5105/t/results/number_invalid-boundaries.stdout000644 000765 000024 00000000020 12503672226 027126 0ustar00coppitstaff000000 000000 1 2 3 4 5 6 7 8 Mail-Mbox-MessageParser-1.5105/t/results/number_mailarc-1-dos.stdout000644 000765 000024 00000000036 12503672226 025707 0ustar00coppitstaff000000 000000 1 2 3 4 5 6 7 8 9 10 11 12 13 Mail-Mbox-MessageParser-1.5105/t/results/number_mailarc-1.stdout000644 000765 000024 00000000036 12503672226 025124 0ustar00coppitstaff000000 000000 1 2 3 4 5 6 7 8 9 10 11 12 13 Mail-Mbox-MessageParser-1.5105/t/results/number_mailarc-2.stdout000644 000765 000024 00000000010 12503672226 025115 0ustar00coppitstaff000000 000000 1 2 3 4 Mail-Mbox-MessageParser-1.5105/t/results/number_mailarc-3.stdout000644 000765 000024 00000000036 12503672226 025126 0ustar00coppitstaff000000 000000 1 2 3 4 5 6 7 8 9 10 11 12 13 Mail-Mbox-MessageParser-1.5105/t/results/number_mailbox with space.stdout000644 000765 000024 00000000006 12521305626 027013 0ustar00coppitstaff000000 000000 1 2 3 Mail-Mbox-MessageParser-1.5105/t/results/number_mailseparators.stdout000644 000765 000024 00000000006 12503672226 026401 0ustar00coppitstaff000000 000000 1 2 3 Mail-Mbox-MessageParser-1.5105/t/results/number_malformed.stdout000644 000765 000024 00000000006 12503674235 025323 0ustar00coppitstaff000000 000000 1 2 3 Mail-Mbox-MessageParser-1.5105/t/results/number_newlines_at_beginning.stdout000644 000765 000024 00000000002 12503672226 027677 0ustar00coppitstaff000000 000000 1 Mail-Mbox-MessageParser-1.5105/t/results/offset_binary_body.stdout000644 000765 000024 00000000002 12503672226 025646 0ustar00coppitstaff000000 000000 0 Mail-Mbox-MessageParser-1.5105/t/results/offset_hessbug.stdout000644 000765 000024 00000000002 12503672226 025005 0ustar00coppitstaff000000 000000 0 Mail-Mbox-MessageParser-1.5105/t/results/offset_invalid-boundaries.stdout000644 000765 000024 00000000052 12503672226 027131 0ustar00coppitstaff000000 000000 0 4401 9706 14872 19229 23205 27337 30730 Mail-Mbox-MessageParser-1.5105/t/results/offset_mailarc-1-dos.stdout000644 000765 000024 00000000112 12503672226 025700 0ustar00coppitstaff000000 000000 0 16324 24962 27805 32016 34244 42074 45249 48610 50578 52093 54409 58620 Mail-Mbox-MessageParser-1.5105/t/results/offset_mailarc-1.stdout000644 000765 000024 00000000112 12503672226 025115 0ustar00coppitstaff000000 000000 0 15812 24172 26953 31074 33247 40933 44049 47337 49263 50733 52991 57112 Mail-Mbox-MessageParser-1.5105/t/results/offset_mailarc-2.stdout000644 000765 000024 00000000022 12503672226 025116 0ustar00coppitstaff000000 000000 0 3728 6234 10836 Mail-Mbox-MessageParser-1.5105/t/results/offset_mailarc-3.stdout000644 000765 000024 00000000112 12503672226 025117 0ustar00coppitstaff000000 000000 0 15766 24094 26782 32672 34775 42400 45444 48660 50527 51934 54129 58146 Mail-Mbox-MessageParser-1.5105/t/results/offset_mailbox with space.stdout000644 000765 000024 00000000014 12521305626 027010 0ustar00coppitstaff000000 000000 0 1416 3670 Mail-Mbox-MessageParser-1.5105/t/results/offset_mailseparators.stdout000644 000765 000024 00000000014 12503672226 026376 0ustar00coppitstaff000000 000000 0 1416 3670 Mail-Mbox-MessageParser-1.5105/t/results/offset_malformed.stdout000644 000765 000024 00000000016 12503674232 025317 0ustar00coppitstaff000000 000000 0 22612 26013 Mail-Mbox-MessageParser-1.5105/t/results/offset_newlines_at_beginning.stdout000644 000765 000024 00000000002 12503672226 027675 0ustar00coppitstaff000000 000000 1 Mail-Mbox-MessageParser-1.5105/t/results/reset_binary_body.stdout000644 000765 000024 00000005277 12503672226 025525 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 2711 From gerry@wongfaye.com Sun Dec 26 20:47:37 2004 Return-Path: Received: from bandsman.co.uk (gateway.bandsman.co.uk [192.168.1.1]) by sian.bandsman.co.uk (8.13.1/8.12.10) with ESMTP id iBQL9pYT024672 for ; Sun, 26 Dec 2004 21:09:52 GMT Received: from 218.239.184.234 ([218.239.184.234]) by bandsman.co.uk (8.12.8/8.12.8) with SMTP id iBQL9Ts2027649 for ; Sun, 26 Dec 2004 21:09:44 GMT Date: Sun, 26 Dec 2004 20:47:37 +0000 From: =?Windows-1251?B?0OXq6+Ds7e7lIO/w5eTr7ubl7ejl?= X-Mailer: The Bat! (v2.01) Reply-To: =?Windows-1251?B?0OXq6+Ds7e7lIO/w5eTr7ubl7ejl?= X-Priority: 3 (Normal) Message-ID: <193350569.20041226205237@> To: njh@bandsman.co.uk Subject: =?Windows-1251?B?0OXq6+Ds4DogxOjn4OntIOTr/yDC4PEhISE=?= MIME-Version: 1.0 Content-Type: text/plain; charset=Windows-1251 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.1 required=5.0 tests=ALL_TRUSTED,BAYES_80, INVALID_MSGID,MSGID_NO_HOST,PLING_PLING autolearn=no version=3.0.1 X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on sian.bandsman.co.uk X-Virus-Scanned: ClamAV devel-20041222/643/Sat Dec 25 22:47:31 2004 on sian.bandsman.co.uk X-Virus-Status: Clean Received-SPF: none (bandsman.co.uk: domain of gerry@wongfaye.com does not designate permitted sender hosts) X-UID: 195446 X-Length: 2697 ! ! , / ! 300 . ... ! 2800 . ///// :))) ( :)) , - 450 .. ... "" (25 ..) 2500 .. , , - . - ( ) 500 .. , Corbis, Fotobank . 70 .. - ! 700 .. ! ! , ! ! , -!!! ! ! ! .: (095) 101-3527 , ! , , , : otkaz2000@yahoo.com , . 20 . Mail-Mbox-MessageParser-1.5105/t/results/reset_hessbug.stdout000644 000765 000024 00000001244 12503672226 024652 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 637 From VM Mon Mar 1 17:26:34 2004 Message-ID: <403B2ED7.8050407@none.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040300050603040500030007" From: Dr. No To: bug@bug.debian Subject: bug report Date: Tue, 24 Feb 2004 12:00:39 +0100 This is a multi-part message in MIME format. --------------040300050603040500030007 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Bien cordialement tous. Dr. No --------------040300050603040500030007 Content-Type: text/plain; charset=us-ascii [Deleted Word document] --------------040300050603040500030007-- Mail-Mbox-MessageParser-1.5105/t/results/reset_invalid-boundaries.stdout000644 000765 000024 00000104610 12503672226 026772 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 4401 From realtyseguros@jmail.co.za Thu Jun 1 10:25:40 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: ********** X-Spam-Status: Yes, score=11.0 required=3.0 tests=ADVANCE_FEE_1,ADVANCE_FEE_2, ADVANCE_FEE_3,BAYES_99,DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST, UNDISC_RECIPS autolearn=no version=3.1.0 X-Spam-Report: * 0.8 UNDISC_RECIPS Valid-looking To "undisclosed-recipients" * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 1.7 DNS_FROM_RFC_POST RBL: Envelope sender in * postmaster.rfc-ignorant.org * 1.4 ADVANCE_FEE_2 Appears to be advance fee fraud (Nigerian 419) * 3.3 ADVANCE_FEE_3 Appears to be advance fee fraud (Nigerian 419) * 0.0 ADVANCE_FEE_1 Appears to be advance fee fraud (Nigerian 419) Delivered-To: user@paradise.net.nz X-Envelope-To: user@paradise.net.nz Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 10:25:40 +1200 (NZST) Received: (qmail 9071 invoked from network); 31 May 2006 14:25:07 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-2.paradise.net.nz) (203.96.152.172) by internal-pop3-1.paradise.net.nz with SMTP; 31 May 2006 14:25:07 -0000 Received: from smtp-1.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0J040013NW1R9I@linda-2.paradise.net.nz> for user@paradise.net.nz; Thu, 01 Jun 2006 02:25:03 +1200 (NZST) Received: from sentechsa.net (unknown [66.18.69.76]) by smtp-1.paradise.net.nz (Postfix) with ESMTP id B77036DCAD9 for ; Thu, 01 Jun 2006 02:25:01 +1200 (NZST) Received: from [88.8.140.233] (account realtyseguros@jmail.co.za) by cgp8.sentechsa.net (CommuniGate Pro WebUser 4.3.8) with HTTP id 23547502; Wed, 31 May 2006 16:24:50 +0200 Date: Wed, 31 May 2006 16:24:50 +0200 From: realty seguros Subject: **SPAM 11.0** URGENT To: undisclosed-recipients: ; Message-id: MIME-version: 1.0 X-Mailer: CommuniGate Pro WebUser Interface v.4.3.8 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 8BIT X-SpamCatcher-Score: 30 [XXXX] X-Spam-Prev-Subject: URGENT Status: O Content-Length: 1932 Lines: 77 Customer Services ACCL. Inter Cooperate Head Office Spain, Ref: ES/9420X2/T008 Batch: ES/05/M009 31st May, 2006 INITIATION OF AWARD CLAIM PROCESSES We are pleased to inform you of the result of our 2006 International prize Award. Your email address, attached to ticket number 04142331354124, with serial number 5368/02 drew the lucky numbers 37-13-34-85-56-42, won in category C (third category). CONGRATULATIONS!!! You have therefore been approved for a lump sum pay of 150,000.00 Euros credited to security file number ES/4080318306/AL. This is from total prize money of E15,000,000.00 shared among the ten(10) international winners in all categories. All participants were selected through a computer ballot system drawn from 30,000 names from Australia, New Zealand, Africa, America, Asia, Europe,USA and North America as part our International Promotions Program, which is conducted annually. CONGRATULATIONS! Your fund is now insured awaiting claim. Due to the mix up of some numbers and names, we ask that you keep this award strictly from public notice until your claim has been processed and your money remitted to your account. This is part of our security protocol to avoid double claiming. You are at this point advised to contact our claims officer below to begin your claim: Name: MR MIGUEL FREY Email . realtyseguros@excite.com Tel:+ +34 692 354 358 You will be given a form to complete and return same to our lawyer whose details will be given after you have confirmed the receipt of this winning notification .He will thereafter forward claims to any one of our appointed financial trustees.You are advised to initiate contact with our agent within three weeks of the receipt of this mail. Any prize whose collection is not initiated within the stipulated time will be deemed unclaimed. Yours Sincerely, Mrs.Maria Gonzales For Claims Manager number: 2 line: 130 offset: 4401 bytes: 5305 From vap@atlantic-ploughshares.com Thu Jun 1 10:26:21 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: ********************* X-Spam-Status: Yes, score=21.1 required=3.0 tests=BAYES_99,EXTRA_MPART_TYPE, HTML_90_100,HTML_IMAGE_ONLY_08,HTML_MESSAGE,MIME_HTML_MOSTLY, RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_NJABL_DUL,RCVD_IN_SORBS_DUL, RCVD_IN_XBL autolearn=spam version=3.1.0 X-Spam-Report: * 1.1 EXTRA_MPART_TYPE Header has extraneous Content-type:...type= entry * 1.3 HTML_90_100 BODY: Message is 90% to 100% HTML * 1.1 MIME_HTML_MOSTLY BODY: Multipart message mostly text/html MIME * 1.5 HTML_MESSAGE BODY: HTML included in message * 3.1 HTML_IMAGE_ONLY_08 BODY: HTML: images with 400-800 bytes of words * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 2.0 RCVD_IN_SORBS_DUL RBL: SORBS: sent directly from dynamic IP address * [24.58.96.194 listed in dnsbl.sorbs.net] * 1.6 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net * [Blocked - see ] * 3.9 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL * [24.58.96.194 listed in sbl-xbl.spamhaus.org] * 1.9 RCVD_IN_NJABL_DUL RBL: NJABL: dialup sender did non-local SMTP * [24.58.96.194 listed in combined.njabl.org] Delivered-To: user@paradise.net.nz X-Envelope-To: user@paradise.net.nz Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 10:26:21 +1200 (NZST) Received: (qmail 17558 invoked from network); 31 May 2006 16:53:38 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-2.paradise.net.nz) (203.96.152.172) by internal-pop3-1.paradise.net.nz with SMTP; 31 May 2006 16:53:38 -0000 Received: from smtp-3.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0J050048M2XEMU@linda-2.paradise.net.nz> for user@paradise.net.nz; Thu, 01 Jun 2006 04:53:38 +1200 (NZST) Received: from cpe-24-58-96-194.twcny.res.rr.com (cpe-24-58-96-194.twcny.res.rr.com [24.58.96.194]) by smtp-3.paradise.net.nz (Postfix) with SMTP id CDB5F165FC15 for ; Thu, 01 Jun 2006 04:53:36 +1200 (NZST) Received: from bhucz.oisjk ([24.58.176.176]) by cpe-24-58-96-194.twcny.res.rr.com (8.13.5/8.13.5) with SMTP id k4VGsvGI004509; Wed, 31 May 2006 12:54:57 -0400 Date: Wed, 31 May 2006 12:52:18 -0400 From: Lucas Downey Subject: **SPAM 21.1** haste To: user@paradise.net.nz Message-id: <000c01c684d2$b80a9e70$b0b03a18@bhucz.oisjk> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1158 X-Mailer: Microsoft Outlook Express 6.00.2800.1158 Content-type: multipart/related; boundary="----=_NextPart_000_0008_01C684B1.30F8FE30"; type="multipart/alternative" X-Priority: 3 X-MSMail-priority: Normal X-Spam-Prev-Subject: haste Status: O Content-Length: 2207 Lines: 56 This is a multi-part message in MIME format. ------=_NextPart_000_0008_01C684B1.30F8FE30 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0009_01C684B1.30F8FE40" ------=_NextPart_001_0009_01C684B1.30F8FE40 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable ------=_NextPart_001_0009_01C684B1.30F8FE40 Content-Type: text/html; charset="windows-1252" Content-Transfer-Encoding: quoted-printable
3D""
------=_NextPart_001_0009_01C684B1.30F8FE40-- ------=_NextPart_000_0008_01C684B1.30F8FE30 Content-Type: image/gif; name="demo.gif" Content-Transfer-Encoding: base64 Content-ID: <000701c684d2$b80a9e20$b0b03a18@bhucz.oisjk> R0lGODdhWQNZAaUAAP///xYTAevl8U5ERyIyPQEPHo+Elmp+crWkrd7WwCYqIFNPR451iJqbpFaC QU4NTNTniIby89vJeekQZnqAJIGog5F3sgHZwTAvRHF+Ub1TOUbZLDq19bOeBhoZhz+aMMMsp3Ut gTddsXvOL82MggfTXDMOEinCsC/cybccZOffkY5Vvw+NHMEJ6/DXeHPeTNARWuI6HJNq+V0hFcII 9VOXSxKn2S9o4htZuQAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAWQNZAQAG/kCBcEgsGo/IpHLJ SOMEDELETEDHERE OBUlBLAh8eHpwS0pCgpMHm1a9j1tulVK3nmKjp16qoKF+q1ydWqWvsLO0grlFeWS3rLa9ibFAg8T k7khIEYuCX8hMA5UJhzK0jEfuQq1jiodJ2djq2UORRUNEPwSWRthj0/XMaqhBiALJGCpq5vlf/dt G+2HSRWQXTFg2gpysgWQ2MIzBAmmQ4ewSMNeFSdiLPZI0ThGBehdYXTgnEc/9p7hCmBgQAB39fwM KLCogJ9T/jGNnCTAhmQjATxlrWyJyCPIlxy/0TlQad6TAW7iBRL5c5w5nYsCMCJCgCadTInUOGNU FCmUAEd/jtxq5WeTrchorixwAEHMaW0/CoDL8tBPA4wIFP35dK+QtICm5p2jVyhNJxvrVY0kqrHR ekSNxGSk2I9fsUOqzuVqgKuAzoCFmH5rMnLKoNNSE6GcyChXwSoJD4G71bJb1H9Vx410FyRoxGxZ x75dgI1umTmx+DV5OSqBkVi3rkaZ2LVvz0SeX80aHrDo2tcRlN/s1/n0jr1lm+WNdzHf66V/FzFs pbn8ovSTaYdYRgMSaIdZIJ022iJYPDLJKVb5dA9Tcnwn/pMs/ciyFQH+QAghO60gQ6FPIVqYRQAH 9oGdHgJJspYyVjX4S4dsQCRKg4U55scBJSJC2hEG4nXhS6i9sUmCMnUjR4h3HCnLkkI+QocBRY ***** ===> msg truncated after 20 kbytes (antispam.rc) ***** number: 3 line: 249 offset: 9706 bytes: 5166 From Michael@aon.at Thu Jun 1 10:26:50 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: **************** X-Spam-Status: Yes, score=16.3 required=3.0 tests=BAYES_50,DNS_FROM_RFC_ABUSE, FROM_NO_LOWER,HTML_40_50,HTML_MESSAGE,SUBJ_HAS_UNIQ_ID,URIBL_JP_SURBL, URIBL_OB_SURBL,URIBL_SC_SURBL,URIBL_WS_SURBL autolearn=no version=3.1.0 X-Spam-Report: * 0.1 FROM_NO_LOWER From address has no lower-case characters * 0.2 SUBJ_HAS_UNIQ_ID Subject contains a unique ID * 0.5 HTML_40_50 BODY: Message is 40% to 50% HTML * 1.5 HTML_MESSAGE BODY: HTML included in message * 0.0 BAYES_50 BODY: Bayesian spam probability is 40 to 60% * [score: 0.5906] * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 4.1 URIBL_JP_SURBL Contains an URL listed in the JP SURBL blocklist * [URIs: owaguide.com] * 2.1 URIBL_WS_SURBL Contains an URL listed in the WS SURBL blocklist * [URIs: owaguide.com] * 3.0 URIBL_OB_SURBL Contains an URL listed in the OB SURBL blocklist * [URIs: owaguide.com] * 4.5 URIBL_SC_SURBL Contains an URL listed in the SC SURBL blocklist * [URIs: owaguide.com] Delivered-To: user@paradise.net.nz X-Envelope-To: user@paradise.net.nz Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 10:26:50 +1200 (NZST) Received: (qmail 24160 invoked from network); 31 May 2006 19:18:09 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-5.paradise.net.nz) (203.96.152.172) by internal-pop3-4.paradise.net.nz with SMTP; 31 May 2006 19:18:09 -0000 Received: from smtp-2.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-5.paradise.net.nz (Paradise.net.nz) with ESMTP id <0J050080L9M97X@linda-5.paradise.net.nz> for user@paradise.net.nz; Thu, 01 Jun 2006 07:18:09 +1200 (NZST) Received: from pool-151-196-27-57.balt.east.verizon.net (pool-151-196-27-57.balt.east.verizon.net [151.196.27.57]) by smtp-2.paradise.net.nz (Postfix) with SMTP id 8B3963208E3 for ; Thu, 01 Jun 2006 07:18:08 +1200 (NZST) Date: Wed, 31 May 2006 15:18:08 -0400 From: Daniel Subject: **SPAM 16.3** owaguide.com/?23561194 To: user@paradise.net.nz Message-id: <60E3B2B3.0429197@panhandle.rr.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary=------------090602060506090900030105 X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050716) X-Spam-Prev-Subject: owaguide.com/?23561194 Status: O Content-Length: 2480 Lines: 71 This is a multi-part message in MIME format. --------------090602060506090900030105 Content-Type: text/plain; charset=windows-1251; format=flowed Content-Transfer-Encoding: 8bit Hi, C i A L / S X & N A X V / A G R A V A L / U M P R O Z & C L E V / T R A A M B / E N M E R / D / A S O M & [1]net/?23878966 'gage rate or for de'bt consolidation ecord) of Kansas complained about the CIA's performance on Iraq. While "nobody bats 1,000 in the intelligence world," Roberts cited "a terribly flawed trade craft" in the CIA's intelligence suggestin idden loan costs list, he said. ons have been made by policymakers in the U.S. government who are most knowledagble about al-Qaida. References 1. file://localhost/home/cmf2/tasks/s_fr/net/?23878966 --------------090602060506090900030105 Content-Type: text/html; charset=windows-1251 Content-Transfer-Encoding: 8bit owaguide.com/?23561194
Hi,
C i A L / S
X & N A X
V / A G R A
V A L / U M
P R O Z & C
L E V / T R A
A M B / E N
M E R / D / A
S O M &






knowledged a series of intelligence failures in the months preceding the U.S. attack on Iraq and promised that if confirmed by the Senate he would take steps to guard against a repeat of such errors.
ons have been made by policymakers in the U.S. government who are most knowledagble about al-Qaida.
knowledged a series of intelligence failures in the months preceding the U.S. attack on Iraq and promised that if confirmed by the Senate he would take steps to guard against a repeat of such errors.
list, he said.
and promised that if confirmed by the Senate he would take steps to guard against a repeat of such errors.

--------------090602060506090900030105-- number: 4 line: 377 offset: 14872 bytes: 4357 From carissaxo0u@hotmail.com Thu Jun 1 11:16:14 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: *************** X-Spam-Status: Yes, score=15.6 required=4.2 tests=BAYES_99,DATE_IN_PAST_06_12, DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST,FORGED_HOTMAIL_RCVD, FORGED_RCVD_HELO,HTML_10_20,HTML_MESSAGE,HTML_OBFUSCATE_10_20, MIME_HTML_ONLY,RCVD_IN_XBL autolearn=spam version=3.1.0 X-Spam-Report: * 0.1 FORGED_RCVD_HELO Received: contains a forged HELO * 0.8 DATE_IN_PAST_06_12 Date: is 6 to 12 hours before Received: date * 2.3 FORGED_HOTMAIL_RCVD Forged hotmail.com 'Received:' header found * 1.8 HTML_OBFUSCATE_10_20 BODY: Message is 10% to 20% HTML obfuscation * 0.0 HTML_MESSAGE BODY: HTML included in message * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 1.4 HTML_10_20 BODY: Message is 10% to 20% HTML * 0.0 MIME_HTML_ONLY BODY: Message only has text/html MIME parts * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 3.9 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL * [70.232.5.226 listed in sbl-xbl.spamhaus.org] * 1.7 DNS_FROM_RFC_POST RBL: Envelope sender in * postmaster.rfc-ignorant.org Received: from mail.orcon.net.nz [219.88.242.10] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 11:16:14 +1200 (NZST) Received: from SMART99.8snj.com (70-232-5-226.smartmtgs.net [70.232.5.226]) by dbmail-mx3.orcon.co.nz (8.13.6/8.13.6/Debian-1) with ESMTP id k4V1OtJ3024493; Wed, 31 May 2006 13:25:03 +1200 Received: from unknown (HELO mx2.hotmail.com) (65.54.245.40) by SMART99.8snj.com with SMTP; Tue, 30 May 2006 20:12:09 +0600 From: "Michael" To: Subject: **SPAM 15.6** SPAM: pay attention to the email "HYWI.P K" Recently added Date: Tue, 30 May 2006 20:12:09 +0600 MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Thread-Index: lHIkdIlLvV7b1HaMwJAJnCS4A4Q7mpeXCp9x Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.2, clamav-milter version 0.88.2 on dbmail-mx3.orcon.co.nz X-Virus-Status: Clean X-DSPAM-Improbability: 1 in 150 chance of being ham X-DSPAM-Confidence: 0.5988 X-DSPAM-Probability: 1.0000 Message-ID: X-Spam-Prev-Subject: SPAM: pay attention to the email "HYWI.P K" Recently added Status: O Content-Length: 1711 Lines: 21 sstock analysis and short term recommendations

Earn more with sstock prices going to the roof


Get HYWI.PK First Thing Tomorrow, This sotck Going To Explode!


Check out for Hot News!
Hollywood Intermediate, Inc.



Symbol: HYWI.PK
Current price: 1.30$ and Should be at 2.00-2.10 on Wednesday
Don't forget to buy and earn on this stcok!

Current sttock data analyzed by experts for earning more

Read great new on this sotck





____________________________

A fair exchange is no robbery. Marry in haste, and repent at leisure Better to be envied than pitied He that stays in the valley shall never get over the hill! At the end of the game, the King and the pawn go back in the same box A proverb never lies, it is only its meaning which deceives. Listen to advice and accept instruction, and in the end you will be wise

Opportunities always look bigger going than coming A drowning man will clutch at straws.
Never eat an oyster unless there is an R in the month Make love not war What you see in yourself is what you see in the world Man cannot live on bread alone
Might as well be hanged for a sheep as a lamb . Have you ever noticed? anybody going slower than you is an idiot, and anyone going faster than you is a maniac Every Soldier has the Baton of a Field Marshal in his Knapsack To err is human, to forgive divine When two big bottle deh ah table lil one nah business deh.

number: 5 line: 453 offset: 19229 bytes: 3976 From dabiniznc@hotmail.com Thu Jun 1 11:16:18 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: ************** X-Spam-Status: Yes, score=14.1 required=4.2 tests=BAYES_99, DATE_IN_FUTURE_06_12,DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST, FORGED_HOTMAIL_RCVD2,INVALID_DATE,INVESTMENT_ADVICE autolearn=spam version=3.1.0 X-Spam-Report: * 2.2 INVALID_DATE Invalid Date: header (not RFC 2822) * 1.7 DATE_IN_FUTURE_06_12 Date: is 6 to 12 hours after Received: date * 1.2 FORGED_HOTMAIL_RCVD2 hotmail.com 'From' address, but no 'Received:' * 3.7 INVESTMENT_ADVICE BODY: Message mentions investment advice * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 1.7 DNS_FROM_RFC_POST RBL: Envelope sender in * postmaster.rfc-ignorant.org Received: from mail.orcon.net.nz [219.88.242.10] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 11:16:17 +1200 (NZST) Received: from smtp2.orcon.net.nz (smtp2.orcon.net.nz [219.88.242.60]) by dbmail-mx2.orcon.net.nz (8.13.6/8.13.6/Debian-1) with ESMTP id k4V6qsXV032243 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 31 May 2006 18:53:43 +1200 Received-SPF: none Received: from TEACHER (ppp-58.10.219.253.revip2.asianet.co.th [58.10.219.253]) by smtp2.orcon.net.nz (8.13.6/8.13.6/Debian-1) with ESMTP id k4V29r6L016910; Wed, 31 May 2006 14:10:37 +1200 Message-Id: <200605310210.k4V29r6L016910@smtp2.orcon.net.nz> From: "Jamar" To: Subject: **SPAM 14.1** SPAM: proceed to watching HYWI.PK see it working out Date: Wen, 31 May 2006 09:10:36 -0700 MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Thread-Index: 7sMMS0A4Mj9lyLtz1EE9JzAN7hUqrYN5uVCv Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.2, clamav-milter version 0.88.2 on dbmail-mx2.orcon.net.nz X-Virus-Status: Clean X-DSPAM-Improbability: 1 in 120 chance of being ham X-DSPAM-Confidence: 0.5434 X-DSPAM-Probability: 1.0000 X-Spam-Prev-Subject: SPAM: proceed to watching HYWI.PK see it working out Status: O Content-Length: 1549 Lines: 29 Beneficial cooperation based on expert stokc advice Get HYWI First Thing on MOnday, This sotck Going To Explode for at least 30% Check out for Hot News! Hollyowod Intremediate, Inc. Symbol: H Y W I Current prise: $1.28 , but will increase at least 30-50 % on Monday! More earning opportunities with expert stokc analysis Let your trading profits jump with insider stokc info Don't forget to include this sotck to you daily trade! stokc market highlights and investment advice Read great news on this stcok A quarrelsome wife is like a constant dripping on a rainy day. He shall die without instruction; and in the greatness of his folly he shall go astray. April is the cruellest month Hatred stirs up dissension, but love covers over all wrongs Sticks and stones may break my bones but names will never hurt me Flies never visit an egg that has no crack You can throw a cat however you want; it always lands on its feet A Good Tongue is a Good Weapon. A conscience is what hurts when all your other parts feel so good. Hard work never did anyone any harm Still waters run deep They that dance must pay the fiddler Lest strangers be filled with thy wealth; and thy labours be in the house of a stranger. A friend in need is a friend indeed. Promises are like babies Easy to make, hard to deliver He knows best what good is that has endured evil Sex takes up the least amount of time and causes the most amount of trouble Man strength deh ah he hand, woman strength deh a she mouth. Rain, Rain, go away, come back another day number: 6 line: 535 offset: 23205 bytes: 4132 From linux-kernel-owner@vger.kernel.org Sun Jun 11 20:15:20 2006 Return-path: Envelope-to: ed@localhost Delivery-date: Sun, 11 Jun 2006 20:15:20 +0200 Received: from localhost ([127.0.0.1] helo=zombie) by zombie with esmtp (Exim 4.62) (envelope-from ) id 1FpUT2-0002YV-Pj for ed@localhost; Sun, 11 Jun 2006 20:15:20 +0200 X-Flags: 0000 Delivered-To: GMX delivery to edi@gmx.de Received: from pop.gmx.net [213.165.64.22] by zombie with POP3 (fetchmail-6.3.4) for (single-drop); Sun, 11 Jun 2006 20:15:20 +0200 (CEST) Received: (qmail invoked by alias); 11 Jun 2006 18:14:27 -0000 Received: from vger.kernel.org (EHLO vger.kernel.org) [209.132.176.167] by mx0.gmx.net (mx010) with SMTP; 11 Jun 2006 20:14:27 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750726AbWFKSHr (ORCPT + 47 others); Sun, 11 Jun 2006 14:07:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750732AbWFKSHr (ORCPT ); Sun, 11 Jun 2006 14:07:47 -0400 Received: from anchor-post-35.mail.demon.net ([194.217.242.85]:57093 "EHLO anchor-post-35.mail.demon.net") by vger.kernel.org with ESMTP id S1750726AbWFKSHq (ORCPT ); Sun, 11 Jun 2006 14:07:46 -0400 Received: from superbug.demon.co.uk ([80.176.146.252] helo=[192.168.0.10]) by anchor-post-35.mail.demon.net with esmtp (Exim 4.42) id 1FpULh-0006ET-Gr for linux-kernel@vger.kernel.org; Sun, 11 Jun 2006 18:07:45 +0000 Message-ID: <448C5BF0.7070601@superbug.demon.co.uk> Date: Sun, 11 Jun 2006 19:07:44 +0100 From: James Courtier-Dutton User-Agent: Thunderbird 1.5.0.4 (X11/20060609) MIME-Version: 1.0 To: linux-kernel@vger.kernel.org Subject: Video drivers and System Management mode. X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-GMX-Antivirus: -1 (not scanned, may not use virus scanner) X-GMX-Antispam: 0 (Mail was not recognized as spam) X-GMX-UID: 6zDuEJxMbXBtk3baMTQ2YoEqLyUmZQiV Hi, I know we all laugh about the windows blue screen of death, but to be fair, when Linux oops, it is not even able to display anything on the screen, unless in dump terminal mode. I.e. Not X or some other GUI. Are there any plans to implement a sort of interactive system management mode, that would pop up a window when Linux oops. Something like the program called SoftICE for windows would be a nice addition to Linux, and help with kernel development. For those who don't know what SoftICE does, when windows wishes to display a blue screen of death (BSOD), SoftICE pops up a window showing a disassembly of the point where the crash happened, and allows users to type commands on the keyboard that will display extra information. SoftICE also has a hot key, so the user can cause it to pop up at any time they wish. During the pop-up, the entire OS is halted, and the only commands possible are within the pop-up window. Another command exits the pop-up and returns control to the OS. I imagine that this feature would be tightly linked with the work currently being done to unite all the different video drivers. Unfortunately, I think work could take a long time. For example, on my nvidia based card, even the kernel frame buffer drivers either fail to display anything, or fail to scroll up the screen when a new printk happens. I am not attending the KS this year, but I do hope that all the interested parties can use a BOF session to come to some agreement on the way forward, I would then be able to make useful contributions to at least get my system working with whatever new model is decided on. James - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ number: 7 line: 622 offset: 27337 bytes: 3393 From linux-kernel-owner@vger.kernel.org Sun Jun 11 20:15:21 2006 Return-path: Envelope-to: ed@localhost Delivery-date: Sun, 11 Jun 2006 20:15:21 +0200 Received: from localhost ([127.0.0.1] helo=zombie) by zombie with esmtp (Exim 4.62) (envelope-from ) id 1FpUT3-0002YV-9D for ed@localhost; Sun, 11 Jun 2006 20:15:21 +0200 X-Flags: 0000 Delivered-To: GMX delivery to edi@gmx.de Received: from pop.gmx.net [213.165.64.22] by zombie with POP3 (fetchmail-6.3.4) for (single-drop); Sun, 11 Jun 2006 20:15:21 +0200 (CEST) Received: (qmail invoked by alias); 11 Jun 2006 18:14:34 -0000 Received: from vger.kernel.org (EHLO vger.kernel.org) [209.132.176.167] by mx0.gmx.net (mx069) with SMTP; 11 Jun 2006 20:14:34 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750732AbWFKSN6 (ORCPT + 47 others); Sun, 11 Jun 2006 14:13:58 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750729AbWFKSN4 (ORCPT ); Sun, 11 Jun 2006 14:13:56 -0400 Received: from manic.desrt.ca ([66.36.239.117]:17089 "HELO manic.desrt.ca") by vger.kernel.org with SMTP id S1750732AbWFKSN4 (ORCPT ); Sun, 11 Jun 2006 14:13:56 -0400 Subject: [patch] ICH7 SCI_EN quirk required for Macbook From: Ryan Lortie To: lkml@vger.kernel.org, linux-acpi@vger.kernel.org, Andrew Morton Cc: Matthew Garrett , Ben Collins , Frederic Riss Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-Yb3G0z+a1ZV00/YAUUh4" Message-Id: <1150048812.11072.13.camel@moonpix.desrt.ca> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Date: Sun, 11 Jun 2006 14:00:19 -0400 X-Evolution-Format: text/plain X-Evolution-Account: 1143426473.4964.20@moonpix X-Evolution-Transport: smtp://@copacetic.desrt.ca/;use_ssl=never X-Evolution-Fcc: imap://desrt@copacetic.desrt.ca/sent Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-GMX-Antivirus: -1 (not scanned, may not use virus scanner) X-GMX-Antispam: 0 (Mail was not recognized as spam) X-GMX-UID: 7zTpBbQYfW4okynydGVovtlmdmllcgXR X-E { .callback =3D init_ints_after_s1, .ident =3D "Toshiba Satellite 4030cdt", .matches =3D {DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),}, }, + { + .callback =3D init_ich7_sci_en_quirk, + .ident =3D "Intel Apple", + .matches =3D {DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer"),}, + }, {}, }; =20 --=-Yb3G0z+a1ZV00/YAUUh4 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iQG5AwUARIxaLJ96IjKvqm/2AQJcMA0eIQnj5Lm6YfYiHecouNsckBvBcZaCsYLd Arzkg/lMV7UpXwuMbcoXo5/GHDqvGorjRfqfibmg82/gL/syS2kcv3xyPqGXTSsk iyuxyP0qW442mbC8Dp1r9eps953D5--=-Yb3G0z+a1ZV00/YAUUh4-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ number: 8 line: 707 offset: 30730 bytes: 4118 From linux-kernel-owner@vger.kernel.org Sun Jun 11 20:15:22 2006 Return-path: Envelope-to: ed@localhost Delivery-date: Sun, 11 Jun 2006 20:15:22 +0200 Received: from localhost ([127.0.0.1] helo=zombie) by zombie with esmtp (Exim 4.62) (envelope-from ) id 1FpUT4-0002YV-KS for ed@localhost; Sun, 11 Jun 2006 20:15:22 +0200 X-Flags: 0000 Delivered-To: GMX delivery to edi@gmx.de Received: from pop.gmx.net [213.165.64.22] by zombie with POP3 (fetchmail-6.3.4) for (single-drop); Sun, 11 Jun 2006 20:15:22 +0200 (CEST) Received: (qmail invoked by alias); 11 Jun 2006 18:14:45 -0000 Received: from vger.kernel.org (EHLO vger.kernel.org) [209.132.176.167] by mx0.gmx.net (mx069) with SMTP; 11 Jun 2006 20:14:45 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750705AbWFKSI2 (ORCPT + 47 others); Sun, 11 Jun 2006 14:08:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750732AbWFKSI2 (ORCPT ); Sun, 11 Jun 2006 14:08:28 -0400 Received: from main.gmane.org ([80.91.229.2]:5092 "EHLO ciao.gmane.org") by vger.kernel.org with ESMTP id S1750705AbWFKSI1 (ORCPT ); Sun, 11 Jun 2006 14:08:27 -0400 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1FpUMI-0004sq-B2 for linux-kernel@vger.kernel.org; Sun, 11 Jun 2006 20:08:22 +0200 Received: from cpc3-cwma2-0-0-cust739.swan.cable.ntl.com ([81.96.206.228]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 Jun 2006 20:08:22 +0200 Received: from sitsofe by cpc3-cwma2-0-0-cust739.swan.cable.ntl.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 Jun 2006 20:08:22 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: linux-kernel@vger.kernel.org From: Sitsofe Wheeler Subject: Re: [SOLVED] skge killing off snd_via686 interrupts on Fedora Core 5 Date: Sun, 11 Jun 2006 19:08:20 +0100 Lines: 25 Message-ID: References: <1149181417.12932.44.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: cpc3-cwma2-0-0-cust739.swan.cable.ntl.com User-Agent: Pan/0.14.2.91 (As She Crawled Across the Table (Debian GNU/Linux)) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-GMX-Antivirus: -1 (not scanned, may not use virus scanner) X-GMX-Antispam: 0 (Mail was not recognized as spam) X-GMX-UID: oWW5cJImRkketGfScGRqKdlmdWkvKJPW On Sun, 04 Jun 2006 10:45:46 +0100, Sitsofe Wheeler wrote: > (This accidentally fell off list so I'm going to see if I bodge it back) > > On Sat, 03 Jun 2006 10:55:48 +0100, Alan Cox wrote: >> Ar Sad, 2006-06-03 am 21:31 +0100, ysgrifennodd Sitsofe Wheeler: >> > As mentioned in another reply the cards aren't onbord and are a PCI >> > card upgrade. >> >> Same slot as the card you upgraded from ? Alan correctly surmised this was due to a VIA motherboard bug and moving the gigabit card to a different slot solved the problem without the need for noapic or irqpoll. The issue turned up with other network cards (e.g. a tuplip and an 8139) so it was fairly clear the issue wasn't driver related. Just for the record the motherboard in question is a Gigabyte GA-7DX+, host bridge is a AMD-760 [IGD4-1P], ISA bridge is a VIA VT82C686 [Apollo Super South] (rev 40)). At least two of the slots in the machine are "cursed". -- Sitsofe | http://sucs.org/~sits/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ Mail-Mbox-MessageParser-1.5105/t/results/reset_mailarc-1-dos.stdout000644 000765 000024 00000203135 12503672226 025546 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 16324 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Message-Id: <359A5C2E.202B4BA3@comp.uark.edu> Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== This code was written for MS C++4.0 running on Win95. //************** BEGIN: serial_HOST.c /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on a host PC. */ #include #include #include #include #include "serial_HOST.h" void main(int argc, char *argv[]) { motor(0, 100); motor(1, 100); motor(2, 100); motor(3, 100); sleep(1000); motor(0, -100); motor(1, -100); motor(2, -100); motor(3, -100); sleep(1000); ao(); print("\nThis is a test"); printf("Knob is %d\n", knob() ); printf("Analog(0) is %d\n", analog(0)); printf("Digital(0) is %d\n", digital(0)); printf("Analog(1) is %d\n", analog(1)); printf("Digital(1) is %d\n", digital(1)); printf("Analog(2) is %d\n", analog(2)); printf("Digital(2) is %d\n", digital(2)); printf("Analog(3) is %d\n", analog(3)); printf("Digital(3) is %d\n", digital(3)); printf("Analog(4) is %d\n", analog(4)); printf("Digital(4) is %d\n", digital(4)); printf("Analog(5) is %d\n", analog(5)); printf("Digital(5) is %d\n", digital(5)); printf("Analog(6) is %d\n", analog(6)); printf("Digital(6) is %d\n", digital(6)); printf("Analog(7) is %d\n", analog(7)); printf("Digital(7) is %d\n", digital(7)); printf("Analog(8) is %d\n", analog(8)); printf("Digital(8) is %d\n", digital(8)); printf("Analog(9) is %d\n", analog(9)); printf("Digital(9) is %d\n", digital(9)); printf("Analog(10) is %d\n", analog(10)); printf("Digital(10) is %d\n", digital(10)); printf("Analog(11) is %d\n", analog(11)); printf("Digital(11) is %d\n", digital(11)); printf("Analog(12) is %d\n", analog(12)); printf("Digital(12) is %d\n", digital(12)); printf("Analog(13) is %d\n", analog(13)); printf("Digital(13) is %d\n", digital(13)); printf("Analog(14) is %d\n", analog(14)); printf("Digital(14) is %d\n", digital(14)); printf("Analog(15) is %d\n", analog(15)); printf("Digital(15) is %d\n", digital(15)); beep(); sleep(1000); while (! stop_button() ) { sprintf(buffer, "%d.0", (knob() * 10)); tone( buffer, "0.1"); } } //************** END: serial_HOST.c //************** BEGIN: serial_HOST.h /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 #define sleep(NUM) _sleep(NUM) #define SERIALWAIT 5 unsigned short PORT = 0x3f8; // LPT1: 0x378 COM1: 0x3f8 int send(int i) { int retval; retval = _outp( PORT, i); _sleep(SERIALWAIT); return retval; } int receive() { int retval; retval = _inp( PORT); _sleep(SERIALWAIT); retval = _inp( PORT); return retval; } void hangup() { send(QUIT); } void print(char buffer[]) { int i; send(PRINTF); for (i = 0; buffer[i] != 0; i++) send(buffer[i]); send('\0'); } void motor(int motornum, int power) { send(MOTOR); send(motornum); send(power + 100); // taken off on the other end } int analog(int sensor) { send(ANALOG); send(sensor); return receive(); } int digital(int sensor) { send(DIGITAL); send(sensor); return receive(); } void ao() { send(AO); } int knob() { send(KNOB); return receive(); } void beep() { send(BEEP); } void tone(char f1[], char f2[]) { int i; send(TONE); for (i = 0; f1[i] != 0; i++) send(f1[i]); send('\0'); for (i = 0; f2[i] != 0; i++) send(f2[i]); send('\0'); _sleep((unsigned long) (atof(f2) * 1000)); // to keep from overflowing serial line } void interactive() { char c; char key = ' '; while (key != 'q') { key = getch(); send(key); printf("Sent %c\n", key); c = receive(); printf("Got %c as a return value\n", c); } } int start_button() { send(START_BUTTON); return receive(); } int stop_button() { send(STOP_BUTTON); return receive(); } //************** END: serial_HOST.h //************** BEGIN: serial_HB.c /* VC++4.0 HandyBoard Programming System (Parts taken from other HB programs) Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on the HB */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 int _isspace(int a) /* returns 1 for space or tab, 0 otherwise */ /* internal routine used by atof() and cgets() */ { return ((a == 32) || (a == 9)); /* 32 is space, 9 is tab */ } /*****************************************************************************/ int _isdigit(int a) /* returns 1 if a digit 0-9, 0 otherwise */ /* internal routine used by atof() */ { return ((a >= 48) && (a <= 57)); /* 48 is '0', 57 is '9' */ } float atof(char s[]) /* Convert a string containing a number in ASCII */ /* form (integer, float, or exponential float) to a */ /* float. Strips whitespace characters (space and */ /* tab) from the front of the string, but stops */ /* parsing at the first (unexpected) non-numeric */ /* character if the string has garbage at the end. */ /* This means that " 34.3foo78" translates to 34.3. */ /* Modified from atof() function in the standard */ /* library of the Hi-Tec C compiler for CP/M. */ /* Note: all string literals converted to decimal */ /* form because IC can't deal with string literals */ /* in math calculations. */ /* Also note: very ugly code because IC will not */ /* allow any math operations on pointers! Thus, the */ /* the number string has to be treated as an array! */ /* Also also note: no error handling; assumes that */ /* the string is a valid representation of a number! */ /* Valid range for exponential-format numbers is */ /* approximately 2.0e-38 to 3.4e+38. */ { int i=0; /* index into string array */ int sign=0; /* mantissa sign flag: 0=positive, 1=negative */ int exp0=0; /* mantissa exponent counter */ int eexp=0; /* E-form exponent counter */ int expsign=0; /* exponent sign flag: 0=positive, 1=negative */ float m=0.0; /* mantissa accumulator */ /* skip any leading whitespace (space, tab) */ while (_isspace(s[i])) i++; /* skip it */ /* check for mantissa sign */ if (s[i] == 45) /* 45 is '-' */ { sign = 1; /* flag minus sign */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get all digits up to either a decimal point or an e/E */ while (_isdigit(s[i])) { m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } /* no more digits, so check for decimal point */ if (s[i] == 46) /* 46 is '.' */ { i++; /* point to next */ /* get all digits after decimal point */ while (_isdigit(s[i])) { exp0--; m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } } /* check for e/E exponential form */ if ((s[i] == 101) || (s[i] == 69)) /* 101 is 'e', 69 is 'E' */ { i++; /* point to next */ /* check for exponent sign */ if (s[i] == 45) /* 45 is '-' */ { expsign = 1; /* flag negative exponent */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get exponent */ while (_isdigit(s[i])) { eexp = eexp*10 + s[i] - 48; /* 48 is '0' */ i++; /* point to next */ } /* adjust exponent sign */ if (expsign) eexp = -eexp; /* make it negative */ } /* compute absolute value of final float */ exp0 += eexp; while (exp0 < 0) /* for negative exponents */ { m = m / 10.0; exp0++; } while (exp0 > 0) /* for positive exponents */ { m = m * 10.0; exp0--; } /* adjust final float sign from mantissa */ if (sign) return (-m); /* negative */ else return (m); /* positive */ } void disable_pcode_serial() /* necessary to receive characters using serial_getchar */ { poke(0x3c, 1); } void reenable_pcode_serial() /* necessary for IC to interact with board again */ { poke(0x3c, 0); } /* ====================================================================== For sending and receiving single bytes, you can use Randy's IC code: */ void serial_putchar(int c) { while (!(peek(0x102e) & 0x80)); /* wait until serial transmit empty */ poke(0x102f, c); /* send character */ } int serial_getchar() { while (!(peek(0x102e) & 0x20)); /* wait for received character */ return peek(0x102f); } void main(void) { int pos, c = ' ', var1, var2; float f1, f2; char buffer[80]; disable_pcode_serial(); beep(); printf("\nSerial IO Mode!"); printf("Listening..."); msleep(500L); while (c != 'q') { c = serial_getchar(); /* printf("[%d] ", c); */ if (c == MOTOR) { var1 = serial_getchar(); var2 = serial_getchar() - 100; motor(var1, var2); } else if (c == AO) { ao(); } else if (c == ANALOG) { var1 = serial_getchar(); serial_putchar(analog(var1)); } else if (c == DIGITAL) { var1 = serial_getchar(); serial_putchar(digital(var1)); } else if (c == PRINTF) { pos = 0; while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; printf(buffer); } else if (c == TONE) { pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f1 = atof(buffer); pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f2 = atof(buffer); tone(f1, f2); } else if (c == START_BUTTON) { serial_putchar(start_button()); } else if (c == STOP_BUTTON) { serial_putchar(stop_button()); } else if (c == BEEP) { beep(); } else if (c == KNOB) { serial_putchar(knob()); } } reenable_pcode_serial(); printf("\nHB Mode!"); } //************** END: serial_HB.c number: 2 line: 513 offset: 16324 bytes: 8638 From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA32480; Tue, 7 Jul 1998 20:33:03 -0400 Received: from wormwood.ee.byu.edu (wormwood.ee.byu.edu [128.187.30.54]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30127 for ; Tue, 7 Jul 1998 19:48:43 -0400 (EDT) Received: from wormwood (localhost [127.0.0.1]) by wormwood.ee.byu.edu with SMTP (8.7.6/8.7.1) id RAA26916 for ; Tue, 7 Jul 1998 17:48:42 -0600 (MDT) Sender: goldt@ee.byu.edu Message-Id: <35A2B3D9.1260@et.byu.edu> Date: Tue, 07 Jul 1998 17:48:41 -0600 From: "Timothy B. Gold" X-Mailer: Mozilla 3.04Gold (X11; I; HP-UX B.10.20 9000/780) Mime-Version: 1.0 To: handyboard@media.mit.edu Subject: Interrupt Handler for Serial communication Content-Type: multipart/mixed; boundary="------------18CC6AC44E2E" This is a multi-part message in MIME format. --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Here's a bit of code that will buffer incoming serial information so that no information will be lost when transmitting to the handy board. There are two files: serial_isr.c and serial_isr.asm. You'll need to assemble the .asm file using as11_ic, and then both the .c file and the .icb file need to be loaded onto the handy board. I'm sure improvements could be made to the code to clean it up a little, but it's a start (and I haven't had any problems with it yet). Enjoy! --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii; name="serial_isr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="serial_isr.c" /* C program to read serial port with interrupt service routine */ /* First version: Written by Anton Wirsch 20 Nov 1997 */ /* Second Version: Written by Tim Gold 27 May 1998 BYU Robotics Lab goldt@et.byu.edu Really, the only thing left from the original code are a few lines in the .asm file. Everything else I pretty much had to rewrite from scratch to get it to work the way I wanted to. But the orignal code by Anton was a very helpful starting point. Needed files: serial_isr.c serial_isr.icb serial_isr.asm (needed to change the buffer size) The buffer size here is 32 bytes (probably much larger than it needs to be.) To change the buffer size, do the following: 1. Change the BUFFER_SIZE constant below to the desired number of bytes. 2. Edit the line(s) in the serial_isr.asm which contain the word "EDIT" in the comment so that the value matches that of BUFFER_SIZE. 3. Recreate the serial_isr.icb file by typing the following: > as11_ic serial_isr.asm */ #define BUFFER_SIZE 32 /* change buffer size here -- see above */ /* various constants used by the program... */ #define BAUD 0x102b /* baud rate set to 9600 */ #define SCCR2 0x102d #define SCCR1 0x102c #define SCSR 0x102e #define SCDR 0x102f int buffer[BUFFER_SIZE]; /* this is the actual buffer */ void initSerial() { /* Call this routine to activate the serial interrupt handler. */ int i,temp; /* clear out buffer */ for(i=0; i as11_ic serial_isr.asm */ /* change this line to match your library path... */ #include "/usr/local/ic/libs/6811regs.asm" ORG MAIN_START variable_CURRENT: FDB 00 * ptr to next data to be read by user variable_INCOMING: FDB 00 * number of bytes received (circular count) variable_BASE_ADDR: FDB 00 * base address of buffer (to be set by init routine) variable_DATA_FLAG: FDB 00 * flag set when data is available variable_buffer_ptr: FDB 00 * pointer to CURRENT buffer subroutine_initialize_module: /* change this line to match your library path... */ #include "/usr/local/ic/libs/ldxibase.asm" ldd SCIINT,X std interrupt_code_exit+1 ldd #interrupt_code_start std SCIINT,X rts interrupt_code_start: ldad variable_INCOMING * store INCOMING into AB cmpb #00 * compare B with 0 bhi skip * goto "skip" if (B > 0) ldx variable_BASE_ADDR * STORE ADDRESS OF ARRY IN X inx * SKIP THE FIRST (?) inx * TWO BYTES (?) inx * OFFSET TO THE HIGHER BYTE (?) stx variable_buffer_ptr * SAVE PTR VALUE bra cont skip: ldx variable_buffer_ptr * load buffer pointer into x cont: ldad variable_INCOMING * load INCOMING into AB incb * increment INCOMING cmpb #32 * compare B and 32 --EDIT TO CHANGE BUFFER SIZE-- beq reset_count * if a=32, goto reset_count bra cont1 reset_count: ldad #00 * set count to zero cont1: stad variable_INCOMING * store AB into INCOMING ldab SCSR * load SCSR (SCI status register) into B (why?) ldab SCDR * load SCSR (SCI data register) into B stab ,X * store data in array inx * increment by two bytes inx stx variable_buffer_ptr * save the pointer value ldad #01 * load 1 into AB stad variable_DATA_FLAG * store AB into DATA_FLAG (indicating data is available) interrupt_code_exit: jmp $0000 --------------18CC6AC44E2E-- number: 3 line: 791 offset: 24962 bytes: 2843 From aarone@sirius.com Wed Jul 1 02:44:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA22669; Wed, 1 Jul 1998 02:44:06 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id CAA13214 for ; Wed, 1 Jul 1998 02:01:55 -0400 (EDT) Received: from edsinger (ppp-asfm03--126.sirius.net [205.134.240.126]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with ESMTP id XAA26862 for ; Tue, 30 Jun 1998 23:01:54 -0700 (PDT) Message-Id: <199807010601.XAA26862@mail3.sirius.com> From: "Aaron Edsinger" To: "handy" Subject: Serial Interface Date: Wed, 1 Jul 1998 02:06:39 +0100 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1162 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I've been having some problems using my HandyBoard to talk directly to my PC via the serial interface. I disable Interactive C and then Poke() and Peek() as has been described on this list. I send short character strings from my PC to the HandyBoard under Windows 95. If I send strings longer than 2 characters, it seems that some of the characters get lost. This behavior seems to be affected by repositioning or slightly modifying the code, suggesting perhaps a timing issue. Why might this be? Is there any way to check for an error situation? Thanks for any help, Aaron From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA23518; Thu, 16 Jul 1998 03:13:49 -0400 Received: from hq.freegate.com ([208.226.86.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA18991 for ; Thu, 16 Jul 1998 02:17:47 -0400 (EDT) Received: (qmail+freegate 6968 invoked by alias); 16 Jul 1998 06:17:38 -0000 Received: from dialip-04.hq.freegate.com (HELO freegate.com) (208.226.86.222) by hq.freegate.com with SMTP; 16 Jul 1998 06:17:38 -0000 Message-Id: <35AD9BDA.3A9EC8F7@freegate.com> Date: Wed, 15 Jul 1998 23:21:14 -0700 From: Chuck McManis Reply-To: cmcmanis@freegate.com Organization: Freegate Corporation X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: David Rye Cc: handyboard@media.mit.edu Subject: Re: Handyboard/RWP without p-code References: <3.0.32.19980716151646.00809d20@nemo.mech.eng.usyd.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Get a copy of icc11 v5.0 or later (from www.imagecraft.com) and use the handyboard library from their site. --Chuck number: 4 line: 853 offset: 27805 bytes: 4211 From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- number: 5 line: 943 offset: 32016 bytes: 2228 From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA20653; Wed, 1 Jul 1998 05:33:51 -0400 Received: from alpha.delta.edu (alpha.delta.edu [161.133.129.3]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id EAA12514 for ; Wed, 1 Jul 1998 04:41:22 -0400 (EDT) Received: from pm295-18.dialip.mich.net by alpha.delta.edu; (5.65v3.0/1.1.8.2/06Jan97-0932AM) id AA31111; Wed, 1 Jul 1998 04:44:45 -0400 Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id WAA20239; Tue, 30 Jun 1998 22:34:32 -0400 (EDT) Date: Tue, 30 Jun 1998 22:34:31 -0400 (EDT) From: David Kott Sender: dakott@kott.my.domain To: brian-c@technologist.com Cc: handyboard@media.mit.edu Subject: Re: microcontroller In-Reply-To: <199806291430.KAA07909@web01.globecomm.net> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 29 Jun 1998 brian-c@technologist.com wrote: > -I'd like to say thanks to all the folks who replied > to my question on the microcontroller speeds. > > Here's another general question about them though. > Should any unused pins be left open or should they > be grounded? > Eeeeeeeeeeek! Outputs left floating, CMOS inputs taken to ground with a 4.7K resistor... presuming, of course, that a Logic 0 on that input won't generate adverse effects, e.g. a grounded active low interrupt line might be a problem. Such inputs should be taken to +5 with a 4.7K resistor. Floating CMOS inputs have a tendency to oscillate with the merest whisper of a voltage. TTL inputs may be left floating. Driving an output externally will just heat up your CPU.. or worse. -d -- The box said "Requires Windows 95/NT or better"... So I got Unix. Free the Source. Free your Computer... http://www.FreeBSD.org http://www.NetBSD.org http://www.OpenBSD.org number: 6 line: 998 offset: 34244 bytes: 7830 From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA06355; Sun, 22 Mar 1998 01:52:45 -0500 Received: from cyber.sfgate.com (cyber.sfgate.com [198.93.154.11]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id BAA23676 for ; Sun, 22 Mar 1998 01:08:09 -0500 (EST) Received: from localhost by cyber.sfgate.com with smtp (Smail3.2 #1) id m0yGduz-000Is1C; Sat, 21 Mar 1998 22:07:37 -0800 (PST) Date: Sat, 21 Mar 1998 22:07:37 -0800 (PST) From: Richard X-Sender: rshirk@cyber To: handyboard@media.mit.edu Subject: Frob nobs and IR Message-Id: Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-890546857=:21628" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII OK...Im now pretty happy with states of things but I still have a few questions I hope you can help me answer. The code attached works and everything, but only when i take the bit about playing the songs out. problem 1) It keeps saying that play is undefined. I saw that before and fixed it by changing the names of the labels of the songs. I tried it this time and it didnt work...i was wondering if anyone out there knows why it does this and how to correct it.... problem 2) I figured out (thanks to you guys) how to work the built in IR sensor to detect and act upon 4 signals. One is for behing hostile, 3 is for seeking, signal 5 is when it gets annoyed, and 7 it just beeps and ignores it. The signal for being Hostile responds quickly and prints H on the screen but the others lag and i was wondering if you knew why this was. -Richard ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xbump2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: LyogVGhpcyBpcyAoc2xpZ2h0bHkgbW9kaWZpZWQpIGRlZmF1bHQgdG91Y2gg bmF2aWdhdGlvbiAqLw0gICAgICAgICBjaGFyIHBuX3NvbmdbXT0gIjEjZCA0 ZTNyMSNmNGczcjEjZCAzZTEjZjNnMWMzYkQxZTNnMWIgOCZiMmIyYTJnMmUy ZDEwZSAgICAgIDdyMSNkIDRlM3IxI2Y0ZzNyMSNkIDNlMSNmM2cxYzNiMWcz YjFlIDI4JmUgRDNyMSNkIDRlM3IxI2Y0ZzNyMSNkICAgICAgM2UxI2YzZzFj M2JEMWUzZzFiIDgmYjJiMmEyZzJlMmQxMGUgMTJyIFUzZTFkM2IxYTNnMSNm ICAgICAgMSZiM2ExJmIzYTEmYjNhMSZiM2EgMmcyZTJkMjBlIjsNDSAgY2hh ciBsdHVuZV9zb25nW109ICJVM2UxZDJjMmQyZTJkMmUyYzJkMmQyZDZkMnIg M2QxYzJiMmMyZDIjYzJkMmIyYzJjMmM2YyI7DQ0Ndm9pZCBtYWluKCApDXsN ICAgLyogdGltaW5nIHBhcmFtZXRlcnMgKG1pbGxpc2Vjb25kcykgKi8NICAg bG9uZyByZXZlcnNlX3RpbWUgPSA1MDBMLCB0dXJuX3RpbWUgPSA1MDBMLCB0 dXJuYXJvdW5kX3RpbWUgPSAxMDAwTDsNICAgIHNvbnlfaW5pdCAoMSk7DSAg ICBwcmludGYoIkF1dG9ub21vdXNcbiIpOw0gICAgbXNsZWVwKDUwMEwpOw0g ICAgcHJpbnRmKCJSb2JvdGljXG4iKTsNICAgIG1zbGVlcCg1MDBMKTsNICAg IHByaW50ZigiTmF2aWdhdGlvblxuIik7DSAgICBtc2xlZXAoNTAwTCk7DSAg ICB7DSAgICAgICAgIGlmICgoIGtub2IoICkgKSA9PSAyNTUpDSAgICAgICAg IHsNICAgICAgICAgICAgICAgcGxheSAocG5fc29uZyk7DSAgICAgICAgICB9 DSAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9PSAwKQ0gICAgICAg ICAgew0gICAgICAgICAgICAgICAgcGxheSAobHR1bmVfc29uZyk7DSAgICAg ICAgICB9DSAgICAgICAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9 PSAxMTYpDSAgICAgICAgICB7DSAgICAgICAgICAgICAgICBwcmludGYoIkhF TExPLCBKVURHRVMhXG4iKTsNICAgICAgICAgICAgICAgIG1zbGVlcCg1MDBM KTsNICAgICAgICAgIH0NICAgIH0NDSAgIHByaW50ZiggIlByZXNzIFNUQVJU XG4iICk7DSAgIHN0YXJ0X3ByZXNzKCk7ICAgLyogd2FpdCAndGlsIGJ1dHRv biBpcyBwcmVzc2VkICovDSAgIGJlZXAoKTsNICAgcHJpbnRmKCAiU3RhbmQg YmFjay4uLlxuIiApOw0gICBzbGVlcCggMS4wICk7IA0gICAvKiBpbml0aWF0 ZSBmb3J3YXJkIG1vdGlvbiAqLw0gICBmZCggMiApOw0gICBmZCggMyApOw0g ICB3aGlsZSggMSApICAgLyogZmVlZGJhY2sgbG9vcCAqLw0gICB7DSAgICAg IGlmKCAhIGRpZ2l0YWwoIDcgKSApICAgLyogY2hlY2sgbGVmdCBidW1wZXIg Ki8NICAgICAgew0gICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJl ZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAg ICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUgKTsNDSAgICAgICAgIC8qIHR1 cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMg KTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNDSAgICAgICAgIC8q IHJlc2V0IGZvcndhcmQgbW90aW9uICovDSAgICAgICAgIHByaW50ZiggIjAi ICk7DSAgICAgICAgIGZkKCAyICk7DSAgICAgICAgIGZkKCAzICk7DQ0gICAg ICB9DQ0gICAgICBlbHNlIGlmKCAhIGRpZ2l0YWwoIDExICkgKSAgIC8qIGNo ZWNrIG1pZGRsZSBidW1wZXIgKi8NICAgICAgew0gICAgICAgICAvKiByZXZl cnNlICovDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAg ICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUg KTsNDSAgICAgICAgIC8qIHR1cm4gYXJvdW5kICovDSAgICAgICAgIGZkKCAy ICk7DSAgICAgICAgIGJrKCAzICk7DSAgICAgICAgIG1zbGVlcCggdHVybmFy b3VuZF90aW1lICk7DQ0gICAgICAgICAvKiByZXNldCBmb3J3YXJkIG1vdGlv biAqLw0gICAgICAgICBwcmludGYoICIxIiApOw0gICAgICAgICBmZCggMiAp Ow0gICAgICAgICBmZCggMyApOw0gICAgICB9DQ0gICAgICBlbHNlIGlmKCAh IGRpZ2l0YWwoIDE1ICkgKSAgIC8qIGNoZWNrIHJpZ2h0IGJ1bXBlciAqLw0g ICAgICB7DSAgICAgICAgIC8qIHJldmVyc2UgKi8NICAgICAgICAgYmVlcCgp Ow0gICAgICAgICBiayggMiApOw0gICAgICAgICBiayggMyApOw0gICAgICAg ICBtc2xlZXAoIHJldmVyc2VfdGltZSApOw0NICAgICAgICAgLyogdHVybiBs ZWZ0ICovDSAgICAgICAgIGJrKCAyICk7DSAgICAgICAgIGZkKCAzICk7DSAg ICAgICAgIG1zbGVlcCggdHVybl90aW1lICk7DQ0gICAgICAgICAvKiByZXNl dCBmb3J3YXJkIG1vdGlvbiAqLw0gICAgICAgICBwcmludGYoICIyIiApOw0g ICAgICAgICBmZCggMiApOw0gICAgICAgICBmZCggMyApOw0gICAgIH0NICAg ICBlbHNlIGlmKGlyX2RhdGEoIDAgKSA9PSAxMjggKSAvKkNoZWNrIElSIHJl Y2lldmVyKi8NICAgICAgew0gICAgICAgICAgcHJpbnRmKCJIIik7DSAgICAg ICAgIC8qIHR1cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAg ICAgICAgIC8qQXR0YWNrLi4uUm9ib3QgaXMgSG9zdGlsZSAqLw0gICAgICAg ICAgYmVlcCgpOyANICAgICAgICAgIGZkKCAyICk7DSAgICAgICAgICBmZCgg MyApOw0gICAgICAgICAgYmVlcCgpOw0gICAgIH0NICAgICBlbHNlIGlmKGly X2RhdGEoIDAgKSA9PSAxMzAgKSAvKkNoZWNrIElSIHJlY2lldmVyKi8NICAg ICAgew0gICAgICAgICAgcHJpbnRmKCJTIik7DSAgICAgICAgIC8qIHR1cm4g cmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMgKTsN ICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAgICAgICAgIC8qUm9i b3QgaXMgaW4gbG92ZSEgRG8gYSBsaWwgZGFuY2UhICovDSAgICAgICAgICBi ZWVwKCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgZmQoIDIgKTsN ICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBtc2xlZXAoIHR1cm5fdGlt ZSApOw0gICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgIGJrKCAzICk7DSAg ICAgICAgICBtc2xlZXAoIHJldmVyc2VfdGltZSApOyANICAgICAgICAgIC8q R28gZm9yd2FyZCEqLw0gICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgIGZk KCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7DSAg ICAgfQ0gICAgIGVsc2UgaWYoaXJfZGF0YSggMCApID09IDEzMiApIC8qQ2hl Y2sgSVIgcmVjaWV2ZXIqLw0gICAgICB7DSAgICAgICAgICBwcmludGYoIkEi KTsNICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJlZXAoKTsNICAg ICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNs ZWVwKCByZXZlcnNlX3RpbWUgKTsNICAgICAgICAgIC8qUm9ib3QgaXMgQW5u b3llZCEgVHVybnMgY29tcGxldGVseSBhcm91bmQgaW4gZGlndXN0Ki8gICAg ICAgDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmVlcCgpOyANICAgICAg ICAgYmVlcCgpOw0gICAgICAgICBmZCggMiApOw0gICAgICAgICBiayggMyAp Ow0gICAgICAgICBtc2xlZXAoIHR1cm5hcm91bmRfdGltZSApOw0gICAgICAg ICAgZmQoIDIgKTsNICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0NICAg ICB9DSAgICAgZWxzZSBpZihpcl9kYXRhKCAwICkgPT0gMTM0ICkgLypDaGVj ayBJUiByZWNpZXZlciovDSAgICAgIHsNICAgICAgICAgIHByaW50ZigiSSIp Ow0gICAgICAgICAgLypSb2JvdCBkb2Vzbid0IGNhcmUgKi8NICAgICAgICAg IGJlZXAoKTsgDSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7 IA0gICAgICAgICAgYmVlcCgpOw0gICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0gDSAg ICB9DQ0gICB9DX0N ---559023410-1804928587-890546857=:21628-- number: 7 line: 1142 offset: 42074 bytes: 3175 From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA00723; Mon, 27 Jul 1998 18:34:05 -0400 Received: from theory.phys.vt.edu (theory.phys.vt.edu [128.173.176.33]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id RAA19984 for ; Mon, 27 Jul 1998 17:22:26 -0400 (EDT) Received: from localhost (wallace@localhost) by theory.phys.vt.edu (8.8.5/8.8.5) with SMTP id RAA00312 for ; Mon, 27 Jul 1998 17:22:24 -0400 (EDT) Date: Mon, 27 Jul 1998 17:22:24 -0400 (EDT) From: Mark Wallace To: handyboard@media.mit.edu Subject: sonar.c for the handyboard Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I have a handyboard and 6500 series poloroid ultrasonic ranging system. I have downloaded the sonar.c programs used to drive the transducer for distance measurements. There appears to be a problem, or atleast I think there is, with it. The sonar device is supposed to give distances of up to 35ft but the TCNC time register is 16 bit and in the program it says "if ((peekwork(0x100e)-start_time) < 0)" too much time has elapsed and it returns -1. Therefore as soon as about 32700 counts goes by, that value will go negative. I believe hex goes from 0 to 32768 then -32768 to -1. In this case the difference will be < 0 if the object is greater then about 9 ft. I have taken this out of the program and can get accurate measurements up to atleast 30 ft but I have to look at the value given and add multiples of 2^16 to it to figure out where it is. Taking this out of the program also can get you stuck if you really are out of range. I have looked on the motorola web pages to see about this clock and it says that the clock goes till it reachs $ffff and then flags somewhere that there is an overflow and then starts over. I don't know how to find out were in the chip this information might be stored. I know the TCNT time register is at 0x100e from the notes on Simplified Sonar for the Handy Board but I don't know where that overflow flag is stored. I thought that maybe by setting this flag and using it in the loop you might be about to get a greater distance out of you measurement. Another question I have is about IC. I would like to display numbers greater then 32000 and right now there are several int type variables and normal C comands don't seem to work to make a "long" or any other type that are larger then 32000. How does IC handle larger numbers? I am only a student and don't have much experience with this stuff so I would appreciate any feedback I can get on either of these problems. Thanks. Mark Wallace e-mail mawalla3@vt.edu wallace@astro.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan number: 8 line: 1201 offset: 45249 bytes: 3361 From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA15988; Mon, 3 Aug 1998 12:05:51 -0400 Received: from sps1.phys.vt.edu (sps1.phys.vt.edu [128.173.176.53]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA12381 for ; Mon, 3 Aug 1998 11:16:53 -0400 (EDT) Received: from localhost (mwallace@localhost) by sps1.phys.vt.edu (8.8.7/8.8.7) with SMTP id LAA20283; Mon, 3 Aug 1998 11:16:50 -0400 Date: Mon, 3 Aug 1998 11:16:50 -0400 (EDT) From: Mark Wallace To: alf.kuchenbuch@usa.net Cc: handyboard@media.mit.edu Subject: Re: Polaroid trouble again In-Reply-To: <35C5C521.446B@eikon.e-technik.tu-muenchen.de> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I had this same problem when I got mine a few weeks ago. I ended up putting a capacitor from pin 1 to pin 3 on U2 of the sonar driver board. I also had to take out the 1k resistor from the BINH. It kept BINH at 1 V instead of Zero and that seamed to cause problems. As for the 6 ft problem, it should be closer to 9 ft. I think the problem there is the IC code you used. If you used the code for SONAR.C from the HB web site then there is a problem with it. What that program does is take the difference in time from the internal clock. the problem is that in the code it says that if the difference between start time and currnet time is negative too much time has elapsed. Well, this has a 16 bit counter so when the difference is greater the about 32,700 it becomes negative. If you do the math, that means at about 9 ft that happens so it tell you you are out of range. The way I fixed this was to slow the clock down. I looked up information on the motorola web page and found where the prescalers were for the clock. If you want to slow it down by a factor of four you can just add this line to you program in sonar_init() bit_set(0x1024, 1); I believe bit_set(0x1024, 2); will slow it down by a factor of 8 and bit_set(0x1024, 3); will slow it down by a factor of 16. There are better ways of fixing this problem but they appear much more complicated. For example the motorola chip has an overflow flag that says when the internal clock flips. You could incorporate that into your code instead of slowing the clock down. Good luck and I hope this helps. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan On Mon, 3 Aug 1998, Alf Kuchenbuch wrote: > Hi! > I am having trouble with my Polaroid sonar: > When I keep my HB hooked up > to external power, I will only get correct readings up to 20 inches. As > soon as I use battery power without hooking it up to external power, the > readings are correct up to 6 feet, not more! This sound like EMI, I > guess. I tried all the capacitor tricks from HB mailing list, but in > vain. Do you know a fix that works? > > Alf H. Kuchenbuch > number: 9 line: 1274 offset: 48610 bytes: 1968 From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA07529; Wed, 12 Aug 1998 13:10:06 -0400 Received: from quackerjack.cc.vt.edu (root@quackerjack.cc.vt.edu [198.82.160.250]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA05729 for ; Wed, 12 Aug 1998 12:13:53 -0400 (EDT) Received: from sable.cc.vt.edu (sable.cc.vt.edu [128.173.16.30]) by quackerjack.cc.vt.edu (8.8.8/8.8.8) with ESMTP id MAA20678 for ; Wed, 12 Aug 1998 12:20:09 -0400 (EDT) Received: from research10.phys.vt.edu (dhcp9.phys.vt.edu [128.173.176.166]) by sable.cc.vt.edu (8.8.8/8.8.8) with SMTP id MAA05159 for ; Wed, 12 Aug 1998 12:13:51 -0400 (EDT) Message-Id: <3.0.5.32.19980812121345.00796960@mail.vt.edu> X-Sender: mawalla3@mail.vt.edu (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Wed, 12 Aug 1998 12:13:45 -0400 To: Handyboard@media.mit.edu From: Mark Wallace Subject: serial library for C++ Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, I have a handy board with poloroid transducers and I am trying use the results of my distance measurments in a C++ program on the computer. I have found programs on the handyboard web page that should alow the handyboard to transmit information over the serial line. What I am looking for is if anyone knows were I could find a serial for Microsofts Visual C++ 5.0. I would like to find one that is free or sharware but any information on any serial that will work would be appreciated. Thanks. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu web page http://sps1.phys.vt.ede/~mwallace "What a waist it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-distruction" Carl Sagan number: 10 line: 1316 offset: 50578 bytes: 1515 From aarone@sirius.com Wed Sep 30 12:35:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v4.0/1.1/06Jun95-8.2MPM) id AA09172; Wed, 30 Sep 1998 12:35:05 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id KAA02849 for ; Wed, 30 Sep 1998 10:46:53 -0400 (EDT) Received: from aarone (ppp-asfm03--129.sirius.net [205.134.240.129]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id HAA08635; Wed, 30 Sep 1998 07:46:49 -0700 (PDT) Message-Id: <008901bdec9a$76f469d0$63f186cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Keith - Lui" Cc: "handy" Subject: Re: output to file Date: Wed, 30 Sep 1998 10:47:58 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Yes, Write a dos/windows client that reads the serial line and then writes it to file using the C stdio library. -----Original Message----- From: Keith - Lui To: handyboard@media.mit.edu Date: Wednesday, September 30, 1998 6:55 AM Subject: output to file >Dear all, > >I would like to output some HB data to a file, is that possible? > >Keith > number: 11 line: 1361 offset: 52093 bytes: 2316 From aarone@sirius.com Wed Aug 12 13:42:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA13439; Wed, 12 Aug 1998 13:42:19 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA10630 for ; Wed, 12 Aug 1998 12:48:27 -0400 (EDT) Received: from aarone (ppp-asfm05--041.sirius.net [205.134.241.41]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id JAA20821; Wed, 12 Aug 1998 09:48:24 -0700 (PDT) Message-Id: <004401bdc62a$e8ecc8c0$70f086cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Mark Wallace" Cc: "handy" Subject: Re: serial library for C++ Date: Wed, 12 Aug 1998 12:53:41 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Check out this site. It works well. The only problem I had was timing issues when trying to read and write to the port too quickly. http://www.codeguru.com/show.cgi?general=/misc/misc_toc.shtml -----Original Message----- From: Mark Wallace To: Handyboard@media.mit.edu Date: Wednesday, August 12, 1998 9:25 AM Subject: serial library for C++ >Hello, > I have a handy board with poloroid transducers and I am trying use the >results of my distance measurments in a C++ program on the computer. I >have found programs on the handyboard web page that should alow the >handyboard to transmit information over the serial line. What I am looking >for is if anyone knows were I could find a serial library for Microsofts >Visual C++ 5.0. I would like to find one that is free or sharware but any >information on any serial librarys that will work would be appreciated. >Thanks. >Mark Wallace > > e-mail mawalla3@vt.edu > mwallace@sps1.phys.vt.edu >web page http://sps1.phys.vt.ede/~mwallace > >"What a waist it would be after 4 billion tortuous years of evolution if >the dominant organism contrived its own self-distruction" > Carl Sagan > number: 12 line: 1419 offset: 54409 bytes: 4211 From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- number: 13 line: 1509 offset: 58620 bytes: 7889 From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA03667; Mon, 6 Jul 1998 11:54:19 -0400 Received: from web04.globecomm.net (web04.globecomm.net [207.51.48.104]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30534 for ; Mon, 6 Jul 1998 19:24:28 -0400 (EDT) From: brian-c@technologist.com Received: (from root@localhost) by web04.globecomm.net (8.8.8/8.8.0) id TAA03097; Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Date: Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Message-Id: <199807062324.TAA03097@web04.globecomm.net> Content-Type: multipart/mixed; boundary="0-0-0-0-0-0-0-0-____====$%&" Mime-Version: 1.0 To: Terri A Mortvedt , handyboard@media.mit.edu Subject: Re: Steppers --0-0-0-0-0-0-0-0-____====$%& Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aleve.media.mit.edu id TAA30534 Dear Terri, If the motors turn sparatically, that means the coils are probably not hooked up in the correct order. Try swapping them around and see if anything improves. The motors you are using are the bipolar type. There=20 is a decent way of hooking up unipolar steppers to the HB at http://www.cctc.demon.co.uk/stepper.htm A basic difference between bipolar and unipolar is that unipolar motors have additional wires are=20 connected to the power supply. Bipolars also have more torque. Using fd(); and bk(); commands to power steppers is probably a lot to handle. I recommend trying the=20 method found on that link. There's even sample coding. You will have to modify some variables for the turn functions because your turning radius varies according to your distance between motors. I modified the step(); function to produce a gradual=20 increase in speed, and a gradual decrease in speed once the specified steps are almost complete.=20 I will attach my motors.c file as is. _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Brian Carvalho [ brian-c@ieee.org ] DeVRY Institute New Jersey _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF --------------------------------------------------- Get free personalized email at http://www.iname.com --0-0-0-0-0-0-0-0-____====$%& Content-Type: application/octet-stream Content-disposition: inline; filename=Motors.c Content-Transfer-Encoding: base64 LyogTW90b3JzLmMgKi8NCg0KLyoqKiBERUNMQVJBVElPTlMgKioqLw0KDQppbnQgRk9SV0FSRFMg PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpYWJsZXMgZm9yIGRpcmVj dGlvbiAqLw0KaW50IEJBQ0tXQVJEUyA9IDE7DQogDQppbnQgSEFMRlRVUk4gPSA3MDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlcyBmb3IgdHVybmluZyAqLw0KaW50IFFV QVJURVJUVVJOID0gSEFMRlRVUk4gLyAyOw0KIA0KaW50IFJJR0hUID0gMjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmFsdWVzIGZvciB0dXJucyAqLw0KaW50IExFRlQgPSA4 Ow0KDQppbnQgcmlnaHRfbW90b3JfcG9pbnRlciA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBt b3RvciBjb250cm9sIHZhbHVlcyAqLw0KaW50IGxlZnRfbW90b3JfcG9pbnRlciA9IDA7DQogDQog DQppbnQgY3ljbGVfbGVuZ3RoID0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBoYWxm IHN0ZXBwaW5nIHZhbHVlcyAqLw0KaW50IGxlZnRfc3RlcF90YWJsZVs0XSA9IHs0OCw0OSw1MSw1 MH07DQppbnQgcmlnaHRfc3RlcF90YWJsZVs0XSA9IHsxOTIsMTk2LDIwNCwyMDB9Ow0KDQpsb25n IFNMT1cgPSAyNUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWlsbGlzZWNv bmQgcGF1c2VzICovDQpsb25nIEZBU1QgPSA4TDsNCg0KLyoqKiBGVU5DVElPTlMgKioqLw0KDQoN CnZvaWQgc2V0ZmFzdChsb25nIEYpDQp7DQoJCQlGQVNUID0gRjsNCn0NCg0Kdm9pZCBzZXRzbG93 KGxvbmcgUykNCnsNCgkJCVNMT1cgPSBTOw0KfQ0KDQoNCnZvaWQgc3RlcHBlcnNfb3V0KHZvaWQp DQp7DQoJCQlpbnQgY29udHJvbF9ieXRlID0gMDsNCgkJCWNvbnRyb2xfYnl0ZSArPSBsZWZ0X3N0 ZXBfdGFibGVbbGVmdF9tb3Rvcl9wb2ludGVyXTsNCgkJCWNvbnRyb2xfYnl0ZSArPSByaWdodF9z dGVwX3RhYmxlW3JpZ2h0X21vdG9yX3BvaW50ZXJdOw0KCQkJcG9rZSgweDBlLGNvbnRyb2xfYnl0 ZSk7DQp9DQoNCnZvaWQgcmlnaHRfc3RlcChpbnQgZGlyZWN0aW9uKSAgICAgICAgICAgICAgICAg IC8qIHJpZ2h0IG1vdG9yIGNvbnRyb2wgKi8NCnsNCgkJCWlmIChkaXJlY3Rpb24gPT0gRk9SV0FS RFMpDQoJCQkJCSAgcmlnaHRfbW90b3JfcG9pbnRlciArPTE7DQoJCQllbHNlDQoJCQkJCSAgcmln aHRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVuZ3RoIC0gMSk7DQoNCgkJCXJpZ2h0X21vdG9y X3BvaW50ZXIgJj0gKGN5Y2xlX2xlbmd0aCAtIDEpOw0KDQp9DQoNCnZvaWQgbGVmdF9zdGVwKGlu dCBkaXJlY3Rpb24pICAgICAgICAgICAgICAgICAgIC8qIGxlZnQgbW90b3IgY29udHJvbCovDQp7 DQoJCQlpZiAoZGlyZWN0aW9uID09IEZPUldBUkRTKQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRl ciArPSAxOw0KCQkJZWxzZQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVu Z3RoIC0gMSk7DQoNCgkJCWxlZnRfbW90b3JfcG9pbnRlciAmPSAoY3ljbGVfbGVuZ3RoIC0gMSk7 DQoNCn0NCg0Kdm9pZCBhYm91dF9mYWNlKGludCBkaXIpICAgICAgICAgICAgICAgIC8qIDE4MCBk ZWdyZWUgdHVybiBvbiBhIGRpbWUgKi8NCnsNCglpbnQgaTsNCg0KCWlmIChkaXIgPT0gUklHSFQp DQoJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2krKykNCgkJew0KCQkJbGVmdF9zdGVwKEZPUldBUkRT KTsNCgkJCXJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXN0ZXBwZXJzX291dCgpOw0KCQkJbXNs ZWVwKFNMT1cpOw0KCQkJYW8oKTsNCgkJIH0NCg0KCSBlbHNlDQoJCSBmb3IgKGk9MDtpPD1IQUxG VFVSTjtpKyspDQoJCSB7DQoJCQlsZWZ0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXJpZ2h0X3N0ZXAo Rk9SV0FSRFMpOw0KCQkJc3RlcHBlcnNfb3V0KCk7DQoJCQltc2xlZXAoU0xPVyk7DQoJCQlhbygp Ow0KCQkgIH0NCn0NCg0Kdm9pZCByaWdodF90dXJuKCkgICAgICAgICAgICAgICAgICAgICAgIC8q IDkwIGRlZ3JlZSByaWdodCB0dXJuIG9uIGEgZGltZSAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZv ciAoaT0wO2k8PVFVQVJURVJUVVJOO2krKykNCgkJCXsNCgkJCQkJICBsZWZ0X3N0ZXAoRk9SV0FS RFMpOw0KCQkJCQkgIHJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQo KTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQkJCSAgYW8oKTsNCgkJCX0NCg0KfQ0KDQp2b2lk IGxlZnRfdHVybigpICAgICAgICAgICAgICAgICAgICAgICAgLyogOTAgZGVncmVlIGxlZnQgdHVy biBvbiBhIGRpbWUgKi8NCnsNCgkJCWludCBpOw0KDQoJCQlmb3IgKGk9MDtpPD1RVUFSVEVSVFVS TjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEJBQ0tXQVJEUyk7DQoJCQkJCSAgcmlnaHRf c3RlcChGT1JXQVJEUyk7DQoJCQkJCSAgc3RlcHBlcnNfb3V0KCk7DQoJCQkJCSAgbXNsZWVwKFNM T1cpOw0KCQkJCQkgIGFvKCk7DQoJCQl9DQp9DQoNCnZvaWQgcmlnaHRfd2hlZWwoKSAgICAgICAg ICAgICAgICAgICAgICAvKiBncmFkdWFsIHJpZ2h0IHR1cm4gKi8NCnsNCgkJCWludCBpOw0KDQoJ CQlmb3IgKGk9MDtpPD1IQUxGVFVSTjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEZPUldB UkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9 DQp9DQoNCnZvaWQgbGVmdF93aGVlbCgpICAgICAgICAgICAgICAgICAgICAgICAvKiBncmFkdWFs IGxlZnQgdHVybiAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2kr KykNCgkJCXsNCgkJCQkJICByaWdodF9zdGVwKEZPUldBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19v dXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9DQp9DQoNCg0Kdm9pZCBzdGVwIChpbnQg ZGlyLCBpbnQgbnVtc3RlcHMsIGludCBkZWxheSkNCnsNCiAgICAgICAgaW50IHN0ZXAsc3RwOw0K ICAgICAgICBpbnQgYmVnaW49bnVtc3RlcHMvMTA7DQoJaW50IGNvbnRpbnVlOw0KICAgICAgICBs b25nIGdyYWQ9KGxvbmcpYmVnaW47DQoNCglzeXN0ZW1fcHdtX29mZigpOw0KDQoJZm9yIChzdGVw PTA7c3RlcDxiZWdpbjtzdGVwKyspDQoJew0KCQltc2xlZXAoZ3JhZCk7DQoJCWxlZnRfc3RlcChk aXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51ZT1z dGVwOw0KICAgICAgICAgICAgICAgIGdyYWQ9Z3JhZC0xTDsNCg0KCX0NCiAgICAgICAgd2hpbGUo Y29udGludWU8YmVnaW4qOSkNCgl7DQoJCW1zbGVlcCgobG9uZylkZWxheSk7DQoJCWxlZnRfc3Rl cChkaXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51 ZSsrOw0KICAgICAgICAgICAgICAgIHN0cD1jb250aW51ZTsNCgkgfQ0KDQogICAgICAgICB3aGls ZShzdHA8bnVtc3RlcHMpDQogICAgICAgICB7DQogICAgICAgICAgICAgIGRlbGF5PWRlbGF5KzE7 DQogICAgICAgICAgICAgIG1zbGVlcCgobG9uZylkZWxheSk7DQogICAgICAgICAgICAgIGxlZnRf c3RlcChkaXIpOw0KICAgICAgICAgICAgICByaWdodF9zdGVwKGRpcik7DQogICAgICAgICAgICAg IHN0ZXBwZXJzX291dCgpOw0KICAgICAgICAgICAgICBzdHArKzsNCiAgICAgICAgIH0NCglhbygp Ow0KDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0K --0-0-0-0-0-0-0-0-____====$%&-- Mail-Mbox-MessageParser-1.5105/t/results/reset_mailarc-1.stdout000644 000765 000024 00000177675 12503672226 025006 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 15812 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Message-Id: <359A5C2E.202B4BA3@comp.uark.edu> Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== This code was written for MS C++4.0 running on Win95. //************** BEGIN: serial_HOST.c /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on a host PC. */ #include #include #include #include #include "serial_HOST.h" void main(int argc, char *argv[]) { motor(0, 100); motor(1, 100); motor(2, 100); motor(3, 100); sleep(1000); motor(0, -100); motor(1, -100); motor(2, -100); motor(3, -100); sleep(1000); ao(); print("\nThis is a test"); printf("Knob is %d\n", knob() ); printf("Analog(0) is %d\n", analog(0)); printf("Digital(0) is %d\n", digital(0)); printf("Analog(1) is %d\n", analog(1)); printf("Digital(1) is %d\n", digital(1)); printf("Analog(2) is %d\n", analog(2)); printf("Digital(2) is %d\n", digital(2)); printf("Analog(3) is %d\n", analog(3)); printf("Digital(3) is %d\n", digital(3)); printf("Analog(4) is %d\n", analog(4)); printf("Digital(4) is %d\n", digital(4)); printf("Analog(5) is %d\n", analog(5)); printf("Digital(5) is %d\n", digital(5)); printf("Analog(6) is %d\n", analog(6)); printf("Digital(6) is %d\n", digital(6)); printf("Analog(7) is %d\n", analog(7)); printf("Digital(7) is %d\n", digital(7)); printf("Analog(8) is %d\n", analog(8)); printf("Digital(8) is %d\n", digital(8)); printf("Analog(9) is %d\n", analog(9)); printf("Digital(9) is %d\n", digital(9)); printf("Analog(10) is %d\n", analog(10)); printf("Digital(10) is %d\n", digital(10)); printf("Analog(11) is %d\n", analog(11)); printf("Digital(11) is %d\n", digital(11)); printf("Analog(12) is %d\n", analog(12)); printf("Digital(12) is %d\n", digital(12)); printf("Analog(13) is %d\n", analog(13)); printf("Digital(13) is %d\n", digital(13)); printf("Analog(14) is %d\n", analog(14)); printf("Digital(14) is %d\n", digital(14)); printf("Analog(15) is %d\n", analog(15)); printf("Digital(15) is %d\n", digital(15)); beep(); sleep(1000); while (! stop_button() ) { sprintf(buffer, "%d.0", (knob() * 10)); tone( buffer, "0.1"); } } //************** END: serial_HOST.c //************** BEGIN: serial_HOST.h /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 #define sleep(NUM) _sleep(NUM) #define SERIALWAIT 5 unsigned short PORT = 0x3f8; // LPT1: 0x378 COM1: 0x3f8 int send(int i) { int retval; retval = _outp( PORT, i); _sleep(SERIALWAIT); return retval; } int receive() { int retval; retval = _inp( PORT); _sleep(SERIALWAIT); retval = _inp( PORT); return retval; } void hangup() { send(QUIT); } void print(char buffer[]) { int i; send(PRINTF); for (i = 0; buffer[i] != 0; i++) send(buffer[i]); send('\0'); } void motor(int motornum, int power) { send(MOTOR); send(motornum); send(power + 100); // taken off on the other end } int analog(int sensor) { send(ANALOG); send(sensor); return receive(); } int digital(int sensor) { send(DIGITAL); send(sensor); return receive(); } void ao() { send(AO); } int knob() { send(KNOB); return receive(); } void beep() { send(BEEP); } void tone(char f1[], char f2[]) { int i; send(TONE); for (i = 0; f1[i] != 0; i++) send(f1[i]); send('\0'); for (i = 0; f2[i] != 0; i++) send(f2[i]); send('\0'); _sleep((unsigned long) (atof(f2) * 1000)); // to keep from overflowing serial line } void interactive() { char c; char key = ' '; while (key != 'q') { key = getch(); send(key); printf("Sent %c\n", key); c = receive(); printf("Got %c as a return value\n", c); } } int start_button() { send(START_BUTTON); return receive(); } int stop_button() { send(STOP_BUTTON); return receive(); } //************** END: serial_HOST.h //************** BEGIN: serial_HB.c /* VC++4.0 HandyBoard Programming System (Parts taken from other HB programs) Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on the HB */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 int _isspace(int a) /* returns 1 for space or tab, 0 otherwise */ /* internal routine used by atof() and cgets() */ { return ((a == 32) || (a == 9)); /* 32 is space, 9 is tab */ } /*****************************************************************************/ int _isdigit(int a) /* returns 1 if a digit 0-9, 0 otherwise */ /* internal routine used by atof() */ { return ((a >= 48) && (a <= 57)); /* 48 is '0', 57 is '9' */ } float atof(char s[]) /* Convert a string containing a number in ASCII */ /* form (integer, float, or exponential float) to a */ /* float. Strips whitespace characters (space and */ /* tab) from the front of the string, but stops */ /* parsing at the first (unexpected) non-numeric */ /* character if the string has garbage at the end. */ /* This means that " 34.3foo78" translates to 34.3. */ /* Modified from atof() function in the standard */ /* library of the Hi-Tec C compiler for CP/M. */ /* Note: all string literals converted to decimal */ /* form because IC can't deal with string literals */ /* in math calculations. */ /* Also note: very ugly code because IC will not */ /* allow any math operations on pointers! Thus, the */ /* the number string has to be treated as an array! */ /* Also also note: no error handling; assumes that */ /* the string is a valid representation of a number! */ /* Valid range for exponential-format numbers is */ /* approximately 2.0e-38 to 3.4e+38. */ { int i=0; /* index into string array */ int sign=0; /* mantissa sign flag: 0=positive, 1=negative */ int exp0=0; /* mantissa exponent counter */ int eexp=0; /* E-form exponent counter */ int expsign=0; /* exponent sign flag: 0=positive, 1=negative */ float m=0.0; /* mantissa accumulator */ /* skip any leading whitespace (space, tab) */ while (_isspace(s[i])) i++; /* skip it */ /* check for mantissa sign */ if (s[i] == 45) /* 45 is '-' */ { sign = 1; /* flag minus sign */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get all digits up to either a decimal point or an e/E */ while (_isdigit(s[i])) { m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } /* no more digits, so check for decimal point */ if (s[i] == 46) /* 46 is '.' */ { i++; /* point to next */ /* get all digits after decimal point */ while (_isdigit(s[i])) { exp0--; m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } } /* check for e/E exponential form */ if ((s[i] == 101) || (s[i] == 69)) /* 101 is 'e', 69 is 'E' */ { i++; /* point to next */ /* check for exponent sign */ if (s[i] == 45) /* 45 is '-' */ { expsign = 1; /* flag negative exponent */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get exponent */ while (_isdigit(s[i])) { eexp = eexp*10 + s[i] - 48; /* 48 is '0' */ i++; /* point to next */ } /* adjust exponent sign */ if (expsign) eexp = -eexp; /* make it negative */ } /* compute absolute value of final float */ exp0 += eexp; while (exp0 < 0) /* for negative exponents */ { m = m / 10.0; exp0++; } while (exp0 > 0) /* for positive exponents */ { m = m * 10.0; exp0--; } /* adjust final float sign from mantissa */ if (sign) return (-m); /* negative */ else return (m); /* positive */ } void disable_pcode_serial() /* necessary to receive characters using serial_getchar */ { poke(0x3c, 1); } void reenable_pcode_serial() /* necessary for IC to interact with board again */ { poke(0x3c, 0); } /* ====================================================================== For sending and receiving single bytes, you can use Randy's IC code: */ void serial_putchar(int c) { while (!(peek(0x102e) & 0x80)); /* wait until serial transmit empty */ poke(0x102f, c); /* send character */ } int serial_getchar() { while (!(peek(0x102e) & 0x20)); /* wait for received character */ return peek(0x102f); } void main(void) { int pos, c = ' ', var1, var2; float f1, f2; char buffer[80]; disable_pcode_serial(); beep(); printf("\nSerial IO Mode!"); printf("Listening..."); msleep(500L); while (c != 'q') { c = serial_getchar(); /* printf("[%d] ", c); */ if (c == MOTOR) { var1 = serial_getchar(); var2 = serial_getchar() - 100; motor(var1, var2); } else if (c == AO) { ao(); } else if (c == ANALOG) { var1 = serial_getchar(); serial_putchar(analog(var1)); } else if (c == DIGITAL) { var1 = serial_getchar(); serial_putchar(digital(var1)); } else if (c == PRINTF) { pos = 0; while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; printf(buffer); } else if (c == TONE) { pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f1 = atof(buffer); pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f2 = atof(buffer); tone(f1, f2); } else if (c == START_BUTTON) { serial_putchar(start_button()); } else if (c == STOP_BUTTON) { serial_putchar(stop_button()); } else if (c == BEEP) { beep(); } else if (c == KNOB) { serial_putchar(knob()); } } reenable_pcode_serial(); printf("\nHB Mode!"); } //************** END: serial_HB.c number: 2 line: 513 offset: 15812 bytes: 8360 From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA32480; Tue, 7 Jul 1998 20:33:03 -0400 Received: from wormwood.ee.byu.edu (wormwood.ee.byu.edu [128.187.30.54]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30127 for ; Tue, 7 Jul 1998 19:48:43 -0400 (EDT) Received: from wormwood (localhost [127.0.0.1]) by wormwood.ee.byu.edu with SMTP (8.7.6/8.7.1) id RAA26916 for ; Tue, 7 Jul 1998 17:48:42 -0600 (MDT) Sender: goldt@ee.byu.edu Message-Id: <35A2B3D9.1260@et.byu.edu> Date: Tue, 07 Jul 1998 17:48:41 -0600 From: "Timothy B. Gold" X-Mailer: Mozilla 3.04Gold (X11; I; HP-UX B.10.20 9000/780) Mime-Version: 1.0 To: handyboard@media.mit.edu Subject: Interrupt Handler for Serial communication Content-Type: multipart/mixed; boundary="------------18CC6AC44E2E" This is a multi-part message in MIME format. --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Here's a bit of code that will buffer incoming serial information so that no information will be lost when transmitting to the handy board. There are two files: serial_isr.c and serial_isr.asm. You'll need to assemble the .asm file using as11_ic, and then both the .c file and the .icb file need to be loaded onto the handy board. I'm sure improvements could be made to the code to clean it up a little, but it's a start (and I haven't had any problems with it yet). Enjoy! --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii; name="serial_isr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="serial_isr.c" /* C program to read serial port with interrupt service routine */ /* First version: Written by Anton Wirsch 20 Nov 1997 */ /* Second Version: Written by Tim Gold 27 May 1998 BYU Robotics Lab goldt@et.byu.edu Really, the only thing left from the original code are a few lines in the .asm file. Everything else I pretty much had to rewrite from scratch to get it to work the way I wanted to. But the orignal code by Anton was a very helpful starting point. Needed files: serial_isr.c serial_isr.icb serial_isr.asm (needed to change the buffer size) The buffer size here is 32 bytes (probably much larger than it needs to be.) To change the buffer size, do the following: 1. Change the BUFFER_SIZE constant below to the desired number of bytes. 2. Edit the line(s) in the serial_isr.asm which contain the word "EDIT" in the comment so that the value matches that of BUFFER_SIZE. 3. Recreate the serial_isr.icb file by typing the following: > as11_ic serial_isr.asm */ #define BUFFER_SIZE 32 /* change buffer size here -- see above */ /* various constants used by the program... */ #define BAUD 0x102b /* baud rate set to 9600 */ #define SCCR2 0x102d #define SCCR1 0x102c #define SCSR 0x102e #define SCDR 0x102f int buffer[BUFFER_SIZE]; /* this is the actual buffer */ void initSerial() { /* Call this routine to activate the serial interrupt handler. */ int i,temp; /* clear out buffer */ for(i=0; i as11_ic serial_isr.asm */ /* change this line to match your library path... */ #include "/usr/local/ic/libs/6811regs.asm" ORG MAIN_START variable_CURRENT: FDB 00 * ptr to next data to be read by user variable_INCOMING: FDB 00 * number of bytes received (circular count) variable_BASE_ADDR: FDB 00 * base address of buffer (to be set by init routine) variable_DATA_FLAG: FDB 00 * flag set when data is available variable_buffer_ptr: FDB 00 * pointer to CURRENT buffer subroutine_initialize_module: /* change this line to match your library path... */ #include "/usr/local/ic/libs/ldxibase.asm" ldd SCIINT,X std interrupt_code_exit+1 ldd #interrupt_code_start std SCIINT,X rts interrupt_code_start: ldad variable_INCOMING * store INCOMING into AB cmpb #00 * compare B with 0 bhi skip * goto "skip" if (B > 0) ldx variable_BASE_ADDR * STORE ADDRESS OF ARRY IN X inx * SKIP THE FIRST (?) inx * TWO BYTES (?) inx * OFFSET TO THE HIGHER BYTE (?) stx variable_buffer_ptr * SAVE PTR VALUE bra cont skip: ldx variable_buffer_ptr * load buffer pointer into x cont: ldad variable_INCOMING * load INCOMING into AB incb * increment INCOMING cmpb #32 * compare B and 32 --EDIT TO CHANGE BUFFER SIZE-- beq reset_count * if a=32, goto reset_count bra cont1 reset_count: ldad #00 * set count to zero cont1: stad variable_INCOMING * store AB into INCOMING ldab SCSR * load SCSR (SCI status register) into B (why?) ldab SCDR * load SCSR (SCI data register) into B stab ,X * store data in array inx * increment by two bytes inx stx variable_buffer_ptr * save the pointer value ldad #01 * load 1 into AB stad variable_DATA_FLAG * store AB into DATA_FLAG (indicating data is available) interrupt_code_exit: jmp $0000 --------------18CC6AC44E2E-- number: 3 line: 791 offset: 24172 bytes: 2781 From aarone@sirius.com Wed Jul 1 02:44:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA22669; Wed, 1 Jul 1998 02:44:06 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id CAA13214 for ; Wed, 1 Jul 1998 02:01:55 -0400 (EDT) Received: from edsinger (ppp-asfm03--126.sirius.net [205.134.240.126]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with ESMTP id XAA26862 for ; Tue, 30 Jun 1998 23:01:54 -0700 (PDT) Message-Id: <199807010601.XAA26862@mail3.sirius.com> From: "Aaron Edsinger" To: "handy" Subject: Serial Interface Date: Wed, 1 Jul 1998 02:06:39 +0100 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1162 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I've been having some problems using my HandyBoard to talk directly to my PC via the serial interface. I disable Interactive C and then Poke() and Peek() as has been described on this list. I send short character strings from my PC to the HandyBoard under Windows 95. If I send strings longer than 2 characters, it seems that some of the characters get lost. This behavior seems to be affected by repositioning or slightly modifying the code, suggesting perhaps a timing issue. Why might this be? Is there any way to check for an error situation? Thanks for any help, Aaron From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA23518; Thu, 16 Jul 1998 03:13:49 -0400 Received: from hq.freegate.com ([208.226.86.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA18991 for ; Thu, 16 Jul 1998 02:17:47 -0400 (EDT) Received: (qmail+freegate 6968 invoked by alias); 16 Jul 1998 06:17:38 -0000 Received: from dialip-04.hq.freegate.com (HELO freegate.com) (208.226.86.222) by hq.freegate.com with SMTP; 16 Jul 1998 06:17:38 -0000 Message-Id: <35AD9BDA.3A9EC8F7@freegate.com> Date: Wed, 15 Jul 1998 23:21:14 -0700 From: Chuck McManis Reply-To: cmcmanis@freegate.com Organization: Freegate Corporation X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: David Rye Cc: handyboard@media.mit.edu Subject: Re: Handyboard/RWP without p-code References: <3.0.32.19980716151646.00809d20@nemo.mech.eng.usyd.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Get a copy of icc11 v5.0 or later (from www.imagecraft.com) and use the handyboard library from their site. --Chuck number: 4 line: 853 offset: 26953 bytes: 4121 From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- number: 5 line: 943 offset: 31074 bytes: 2173 From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA20653; Wed, 1 Jul 1998 05:33:51 -0400 Received: from alpha.delta.edu (alpha.delta.edu [161.133.129.3]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id EAA12514 for ; Wed, 1 Jul 1998 04:41:22 -0400 (EDT) Received: from pm295-18.dialip.mich.net by alpha.delta.edu; (5.65v3.0/1.1.8.2/06Jan97-0932AM) id AA31111; Wed, 1 Jul 1998 04:44:45 -0400 Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id WAA20239; Tue, 30 Jun 1998 22:34:32 -0400 (EDT) Date: Tue, 30 Jun 1998 22:34:31 -0400 (EDT) From: David Kott Sender: dakott@kott.my.domain To: brian-c@technologist.com Cc: handyboard@media.mit.edu Subject: Re: microcontroller In-Reply-To: <199806291430.KAA07909@web01.globecomm.net> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 29 Jun 1998 brian-c@technologist.com wrote: > -I'd like to say thanks to all the folks who replied > to my question on the microcontroller speeds. > > Here's another general question about them though. > Should any unused pins be left open or should they > be grounded? > Eeeeeeeeeeek! Outputs left floating, CMOS inputs taken to ground with a 4.7K resistor... presuming, of course, that a Logic 0 on that input won't generate adverse effects, e.g. a grounded active low interrupt line might be a problem. Such inputs should be taken to +5 with a 4.7K resistor. Floating CMOS inputs have a tendency to oscillate with the merest whisper of a voltage. TTL inputs may be left floating. Driving an output externally will just heat up your CPU.. or worse. -d -- The box said "Requires Windows 95/NT or better"... So I got Unix. Free the Source. Free your Computer... http://www.FreeBSD.org http://www.NetBSD.org http://www.OpenBSD.org number: 6 line: 998 offset: 33247 bytes: 7686 From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA06355; Sun, 22 Mar 1998 01:52:45 -0500 Received: from cyber.sfgate.com (cyber.sfgate.com [198.93.154.11]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id BAA23676 for ; Sun, 22 Mar 1998 01:08:09 -0500 (EST) Received: from localhost by cyber.sfgate.com with smtp (Smail3.2 #1) id m0yGduz-000Is1C; Sat, 21 Mar 1998 22:07:37 -0800 (PST) Date: Sat, 21 Mar 1998 22:07:37 -0800 (PST) From: Richard X-Sender: rshirk@cyber To: handyboard@media.mit.edu Subject: Frob nobs and IR Message-Id: Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-890546857=:21628" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII OK...Im now pretty happy with states of things but I still have a few questions I hope you can help me answer. The code attached works and everything, but only when i take the bit about playing the songs out. problem 1) It keeps saying that play is undefined. I saw that before and fixed it by changing the names of the labels of the songs. I tried it this time and it didnt work...i was wondering if anyone out there knows why it does this and how to correct it.... problem 2) I figured out (thanks to you guys) how to work the built in IR sensor to detect and act upon 4 signals. One is for behing hostile, 3 is for seeking, signal 5 is when it gets annoyed, and 7 it just beeps and ignores it. The signal for being Hostile responds quickly and prints H on the screen but the others lag and i was wondering if you knew why this was. -Richard ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xbump2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: LyogVGhpcyBpcyAoc2xpZ2h0bHkgbW9kaWZpZWQpIGRlZmF1bHQgdG91Y2gg bmF2aWdhdGlvbiAqLw0gICAgICAgICBjaGFyIHBuX3NvbmdbXT0gIjEjZCA0 ZTNyMSNmNGczcjEjZCAzZTEjZjNnMWMzYkQxZTNnMWIgOCZiMmIyYTJnMmUy ZDEwZSAgICAgIDdyMSNkIDRlM3IxI2Y0ZzNyMSNkIDNlMSNmM2cxYzNiMWcz YjFlIDI4JmUgRDNyMSNkIDRlM3IxI2Y0ZzNyMSNkICAgICAgM2UxI2YzZzFj M2JEMWUzZzFiIDgmYjJiMmEyZzJlMmQxMGUgMTJyIFUzZTFkM2IxYTNnMSNm ICAgICAgMSZiM2ExJmIzYTEmYjNhMSZiM2EgMmcyZTJkMjBlIjsNDSAgY2hh ciBsdHVuZV9zb25nW109ICJVM2UxZDJjMmQyZTJkMmUyYzJkMmQyZDZkMnIg M2QxYzJiMmMyZDIjYzJkMmIyYzJjMmM2YyI7DQ0Ndm9pZCBtYWluKCApDXsN ICAgLyogdGltaW5nIHBhcmFtZXRlcnMgKG1pbGxpc2Vjb25kcykgKi8NICAg bG9uZyByZXZlcnNlX3RpbWUgPSA1MDBMLCB0dXJuX3RpbWUgPSA1MDBMLCB0 dXJuYXJvdW5kX3RpbWUgPSAxMDAwTDsNICAgIHNvbnlfaW5pdCAoMSk7DSAg ICBwcmludGYoIkF1dG9ub21vdXNcbiIpOw0gICAgbXNsZWVwKDUwMEwpOw0g ICAgcHJpbnRmKCJSb2JvdGljXG4iKTsNICAgIG1zbGVlcCg1MDBMKTsNICAg IHByaW50ZigiTmF2aWdhdGlvblxuIik7DSAgICBtc2xlZXAoNTAwTCk7DSAg ICB7DSAgICAgICAgIGlmICgoIGtub2IoICkgKSA9PSAyNTUpDSAgICAgICAg IHsNICAgICAgICAgICAgICAgcGxheSAocG5fc29uZyk7DSAgICAgICAgICB9 DSAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9PSAwKQ0gICAgICAg ICAgew0gICAgICAgICAgICAgICAgcGxheSAobHR1bmVfc29uZyk7DSAgICAg ICAgICB9DSAgICAgICAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9 PSAxMTYpDSAgICAgICAgICB7DSAgICAgICAgICAgICAgICBwcmludGYoIkhF TExPLCBKVURHRVMhXG4iKTsNICAgICAgICAgICAgICAgIG1zbGVlcCg1MDBM KTsNICAgICAgICAgIH0NICAgIH0NDSAgIHByaW50ZiggIlByZXNzIFNUQVJU XG4iICk7DSAgIHN0YXJ0X3ByZXNzKCk7ICAgLyogd2FpdCAndGlsIGJ1dHRv biBpcyBwcmVzc2VkICovDSAgIGJlZXAoKTsNICAgcHJpbnRmKCAiU3RhbmQg YmFjay4uLlxuIiApOw0gICBzbGVlcCggMS4wICk7IA0gICAvKiBpbml0aWF0 ZSBmb3J3YXJkIG1vdGlvbiAqLw0gICBmZCggMiApOw0gICBmZCggMyApOw0g ICB3aGlsZSggMSApICAgLyogZmVlZGJhY2sgbG9vcCAqLw0gICB7DSAgICAg IGlmKCAhIGRpZ2l0YWwoIDcgKSApICAgLyogY2hlY2sgbGVmdCBidW1wZXIg Ki8NICAgICAgew0gICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJl ZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAg ICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUgKTsNDSAgICAgICAgIC8qIHR1 cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMg KTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNDSAgICAgICAgIC8q IHJlc2V0IGZvcndhcmQgbW90aW9uICovDSAgICAgICAgIHByaW50ZiggIjAi ICk7DSAgICAgICAgIGZkKCAyICk7DSAgICAgICAgIGZkKCAzICk7DQ0gICAg ICB9DQ0gICAgICBlbHNlIGlmKCAhIGRpZ2l0YWwoIDExICkgKSAgIC8qIGNo ZWNrIG1pZGRsZSBidW1wZXIgKi8NICAgICAgew0gICAgICAgICAvKiByZXZl cnNlICovDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAg ICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUg KTsNDSAgICAgICAgIC8qIHR1cm4gYXJvdW5kICovDSAgICAgICAgIGZkKCAy ICk7DSAgICAgICAgIGJrKCAzICk7DSAgICAgICAgIG1zbGVlcCggdHVybmFy b3VuZF90aW1lICk7DQ0gICAgICAgICAvKiByZXNldCBmb3J3YXJkIG1vdGlv biAqLw0gICAgICAgICBwcmludGYoICIxIiApOw0gICAgICAgICBmZCggMiAp Ow0gICAgICAgICBmZCggMyApOw0gICAgICB9DQ0gICAgICBlbHNlIGlmKCAh IGRpZ2l0YWwoIDE1ICkgKSAgIC8qIGNoZWNrIHJpZ2h0IGJ1bXBlciAqLw0g ICAgICB7DSAgICAgICAgIC8qIHJldmVyc2UgKi8NICAgICAgICAgYmVlcCgp Ow0gICAgICAgICBiayggMiApOw0gICAgICAgICBiayggMyApOw0gICAgICAg ICBtc2xlZXAoIHJldmVyc2VfdGltZSApOw0NICAgICAgICAgLyogdHVybiBs ZWZ0ICovDSAgICAgICAgIGJrKCAyICk7DSAgICAgICAgIGZkKCAzICk7DSAg ICAgICAgIG1zbGVlcCggdHVybl90aW1lICk7DQ0gICAgICAgICAvKiByZXNl dCBmb3J3YXJkIG1vdGlvbiAqLw0gICAgICAgICBwcmludGYoICIyIiApOw0g ICAgICAgICBmZCggMiApOw0gICAgICAgICBmZCggMyApOw0gICAgIH0NICAg ICBlbHNlIGlmKGlyX2RhdGEoIDAgKSA9PSAxMjggKSAvKkNoZWNrIElSIHJl Y2lldmVyKi8NICAgICAgew0gICAgICAgICAgcHJpbnRmKCJIIik7DSAgICAg ICAgIC8qIHR1cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAg ICAgICAgIC8qQXR0YWNrLi4uUm9ib3QgaXMgSG9zdGlsZSAqLw0gICAgICAg ICAgYmVlcCgpOyANICAgICAgICAgIGZkKCAyICk7DSAgICAgICAgICBmZCgg MyApOw0gICAgICAgICAgYmVlcCgpOw0gICAgIH0NICAgICBlbHNlIGlmKGly X2RhdGEoIDAgKSA9PSAxMzAgKSAvKkNoZWNrIElSIHJlY2lldmVyKi8NICAg ICAgew0gICAgICAgICAgcHJpbnRmKCJTIik7DSAgICAgICAgIC8qIHR1cm4g cmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMgKTsN ICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAgICAgICAgIC8qUm9i b3QgaXMgaW4gbG92ZSEgRG8gYSBsaWwgZGFuY2UhICovDSAgICAgICAgICBi ZWVwKCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgZmQoIDIgKTsN ICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBtc2xlZXAoIHR1cm5fdGlt ZSApOw0gICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgIGJrKCAzICk7DSAg ICAgICAgICBtc2xlZXAoIHJldmVyc2VfdGltZSApOyANICAgICAgICAgIC8q R28gZm9yd2FyZCEqLw0gICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgIGZk KCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7DSAg ICAgfQ0gICAgIGVsc2UgaWYoaXJfZGF0YSggMCApID09IDEzMiApIC8qQ2hl Y2sgSVIgcmVjaWV2ZXIqLw0gICAgICB7DSAgICAgICAgICBwcmludGYoIkEi KTsNICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJlZXAoKTsNICAg ICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNs ZWVwKCByZXZlcnNlX3RpbWUgKTsNICAgICAgICAgIC8qUm9ib3QgaXMgQW5u b3llZCEgVHVybnMgY29tcGxldGVseSBhcm91bmQgaW4gZGlndXN0Ki8gICAg ICAgDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmVlcCgpOyANICAgICAg ICAgYmVlcCgpOw0gICAgICAgICBmZCggMiApOw0gICAgICAgICBiayggMyAp Ow0gICAgICAgICBtc2xlZXAoIHR1cm5hcm91bmRfdGltZSApOw0gICAgICAg ICAgZmQoIDIgKTsNICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0NICAg ICB9DSAgICAgZWxzZSBpZihpcl9kYXRhKCAwICkgPT0gMTM0ICkgLypDaGVj ayBJUiByZWNpZXZlciovDSAgICAgIHsNICAgICAgICAgIHByaW50ZigiSSIp Ow0gICAgICAgICAgLypSb2JvdCBkb2Vzbid0IGNhcmUgKi8NICAgICAgICAg IGJlZXAoKTsgDSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7 IA0gICAgICAgICAgYmVlcCgpOw0gICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0gDSAg ICB9DQ0gICB9DX0N ---559023410-1804928587-890546857=:21628-- number: 7 line: 1142 offset: 40933 bytes: 3116 From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA00723; Mon, 27 Jul 1998 18:34:05 -0400 Received: from theory.phys.vt.edu (theory.phys.vt.edu [128.173.176.33]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id RAA19984 for ; Mon, 27 Jul 1998 17:22:26 -0400 (EDT) Received: from localhost (wallace@localhost) by theory.phys.vt.edu (8.8.5/8.8.5) with SMTP id RAA00312 for ; Mon, 27 Jul 1998 17:22:24 -0400 (EDT) Date: Mon, 27 Jul 1998 17:22:24 -0400 (EDT) From: Mark Wallace To: handyboard@media.mit.edu Subject: sonar.c for the handyboard Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I have a handyboard and 6500 series poloroid ultrasonic ranging system. I have downloaded the sonar.c programs used to drive the transducer for distance measurements. There appears to be a problem, or atleast I think there is, with it. The sonar device is supposed to give distances of up to 35ft but the TCNC time register is 16 bit and in the program it says "if ((peekwork(0x100e)-start_time) < 0)" too much time has elapsed and it returns -1. Therefore as soon as about 32700 counts goes by, that value will go negative. I believe hex goes from 0 to 32768 then -32768 to -1. In this case the difference will be < 0 if the object is greater then about 9 ft. I have taken this out of the program and can get accurate measurements up to atleast 30 ft but I have to look at the value given and add multiples of 2^16 to it to figure out where it is. Taking this out of the program also can get you stuck if you really are out of range. I have looked on the motorola web pages to see about this clock and it says that the clock goes till it reachs $ffff and then flags somewhere that there is an overflow and then starts over. I don't know how to find out were in the chip this information might be stored. I know the TCNT time register is at 0x100e from the notes on Simplified Sonar for the Handy Board but I don't know where that overflow flag is stored. I thought that maybe by setting this flag and using it in the loop you might be about to get a greater distance out of you measurement. Another question I have is about IC. I would like to display numbers greater then 32000 and right now there are several int type variables and normal C comands don't seem to work to make a "long" or any other type that are larger then 32000. How does IC handle larger numbers? I am only a student and don't have much experience with this stuff so I would appreciate any feedback I can get on either of these problems. Thanks. Mark Wallace e-mail mawalla3@vt.edu wallace@astro.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan number: 8 line: 1201 offset: 44049 bytes: 3288 From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA15988; Mon, 3 Aug 1998 12:05:51 -0400 Received: from sps1.phys.vt.edu (sps1.phys.vt.edu [128.173.176.53]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA12381 for ; Mon, 3 Aug 1998 11:16:53 -0400 (EDT) Received: from localhost (mwallace@localhost) by sps1.phys.vt.edu (8.8.7/8.8.7) with SMTP id LAA20283; Mon, 3 Aug 1998 11:16:50 -0400 Date: Mon, 3 Aug 1998 11:16:50 -0400 (EDT) From: Mark Wallace To: alf.kuchenbuch@usa.net Cc: handyboard@media.mit.edu Subject: Re: Polaroid trouble again In-Reply-To: <35C5C521.446B@eikon.e-technik.tu-muenchen.de> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I had this same problem when I got mine a few weeks ago. I ended up putting a capacitor from pin 1 to pin 3 on U2 of the sonar driver board. I also had to take out the 1k resistor from the BINH. It kept BINH at 1 V instead of Zero and that seamed to cause problems. As for the 6 ft problem, it should be closer to 9 ft. I think the problem there is the IC code you used. If you used the code for SONAR.C from the HB web site then there is a problem with it. What that program does is take the difference in time from the internal clock. the problem is that in the code it says that if the difference between start time and currnet time is negative too much time has elapsed. Well, this has a 16 bit counter so when the difference is greater the about 32,700 it becomes negative. If you do the math, that means at about 9 ft that happens so it tell you you are out of range. The way I fixed this was to slow the clock down. I looked up information on the motorola web page and found where the prescalers were for the clock. If you want to slow it down by a factor of four you can just add this line to you program in sonar_init() bit_set(0x1024, 1); I believe bit_set(0x1024, 2); will slow it down by a factor of 8 and bit_set(0x1024, 3); will slow it down by a factor of 16. There are better ways of fixing this problem but they appear much more complicated. For example the motorola chip has an overflow flag that says when the internal clock flips. You could incorporate that into your code instead of slowing the clock down. Good luck and I hope this helps. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan On Mon, 3 Aug 1998, Alf Kuchenbuch wrote: > Hi! > I am having trouble with my Polaroid sonar: > When I keep my HB hooked up > to external power, I will only get correct readings up to 20 inches. As > soon as I use battery power without hooking it up to external power, the > readings are correct up to 6 feet, not more! This sound like EMI, I > guess. I tried all the capacitor tricks from HB mailing list, but in > vain. Do you know a fix that works? > > Alf H. Kuchenbuch > number: 9 line: 1274 offset: 47337 bytes: 1926 From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA07529; Wed, 12 Aug 1998 13:10:06 -0400 Received: from quackerjack.cc.vt.edu (root@quackerjack.cc.vt.edu [198.82.160.250]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA05729 for ; Wed, 12 Aug 1998 12:13:53 -0400 (EDT) Received: from sable.cc.vt.edu (sable.cc.vt.edu [128.173.16.30]) by quackerjack.cc.vt.edu (8.8.8/8.8.8) with ESMTP id MAA20678 for ; Wed, 12 Aug 1998 12:20:09 -0400 (EDT) Received: from research10.phys.vt.edu (dhcp9.phys.vt.edu [128.173.176.166]) by sable.cc.vt.edu (8.8.8/8.8.8) with SMTP id MAA05159 for ; Wed, 12 Aug 1998 12:13:51 -0400 (EDT) Message-Id: <3.0.5.32.19980812121345.00796960@mail.vt.edu> X-Sender: mawalla3@mail.vt.edu (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Wed, 12 Aug 1998 12:13:45 -0400 To: Handyboard@media.mit.edu From: Mark Wallace Subject: serial library for C++ Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, I have a handy board with poloroid transducers and I am trying use the results of my distance measurments in a C++ program on the computer. I have found programs on the handyboard web page that should alow the handyboard to transmit information over the serial line. What I am looking for is if anyone knows were I could find a serial for Microsofts Visual C++ 5.0. I would like to find one that is free or sharware but any information on any serial that will work would be appreciated. Thanks. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu web page http://sps1.phys.vt.ede/~mwallace "What a waist it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-distruction" Carl Sagan number: 10 line: 1316 offset: 49263 bytes: 1470 From aarone@sirius.com Wed Sep 30 12:35:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v4.0/1.1/06Jun95-8.2MPM) id AA09172; Wed, 30 Sep 1998 12:35:05 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id KAA02849 for ; Wed, 30 Sep 1998 10:46:53 -0400 (EDT) Received: from aarone (ppp-asfm03--129.sirius.net [205.134.240.129]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id HAA08635; Wed, 30 Sep 1998 07:46:49 -0700 (PDT) Message-Id: <008901bdec9a$76f469d0$63f186cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Keith - Lui" Cc: "handy" Subject: Re: output to file Date: Wed, 30 Sep 1998 10:47:58 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Yes, Write a dos/windows client that reads the serial line and then writes it to file using the C stdio library. -----Original Message----- From: Keith - Lui To: handyboard@media.mit.edu Date: Wednesday, September 30, 1998 6:55 AM Subject: output to file >Dear all, > >I would like to output some HB data to a file, is that possible? > >Keith > number: 11 line: 1361 offset: 50733 bytes: 2258 From aarone@sirius.com Wed Aug 12 13:42:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA13439; Wed, 12 Aug 1998 13:42:19 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA10630 for ; Wed, 12 Aug 1998 12:48:27 -0400 (EDT) Received: from aarone (ppp-asfm05--041.sirius.net [205.134.241.41]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id JAA20821; Wed, 12 Aug 1998 09:48:24 -0700 (PDT) Message-Id: <004401bdc62a$e8ecc8c0$70f086cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Mark Wallace" Cc: "handy" Subject: Re: serial library for C++ Date: Wed, 12 Aug 1998 12:53:41 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Check out this site. It works well. The only problem I had was timing issues when trying to read and write to the port too quickly. http://www.codeguru.com/show.cgi?general=/misc/misc_toc.shtml -----Original Message----- From: Mark Wallace To: Handyboard@media.mit.edu Date: Wednesday, August 12, 1998 9:25 AM Subject: serial library for C++ >Hello, > I have a handy board with poloroid transducers and I am trying use the >results of my distance measurments in a C++ program on the computer. I >have found programs on the handyboard web page that should alow the >handyboard to transmit information over the serial line. What I am looking >for is if anyone knows were I could find a serial library for Microsofts >Visual C++ 5.0. I would like to find one that is free or sharware but any >information on any serial librarys that will work would be appreciated. >Thanks. >Mark Wallace > > e-mail mawalla3@vt.edu > mwallace@sps1.phys.vt.edu >web page http://sps1.phys.vt.ede/~mwallace > >"What a waist it would be after 4 billion tortuous years of evolution if >the dominant organism contrived its own self-distruction" > Carl Sagan > number: 12 line: 1419 offset: 52991 bytes: 4121 From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- number: 13 line: 1509 offset: 57112 bytes: 7753 From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA03667; Mon, 6 Jul 1998 11:54:19 -0400 Received: from web04.globecomm.net (web04.globecomm.net [207.51.48.104]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30534 for ; Mon, 6 Jul 1998 19:24:28 -0400 (EDT) From: brian-c@technologist.com Received: (from root@localhost) by web04.globecomm.net (8.8.8/8.8.0) id TAA03097; Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Date: Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Message-Id: <199807062324.TAA03097@web04.globecomm.net> Content-Type: multipart/mixed; boundary="0-0-0-0-0-0-0-0-____====$%&" Mime-Version: 1.0 To: Terri A Mortvedt , handyboard@media.mit.edu Subject: Re: Steppers --0-0-0-0-0-0-0-0-____====$%& Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aleve.media.mit.edu id TAA30534 Dear Terri, If the motors turn sparatically, that means the coils are probably not hooked up in the correct order. Try swapping them around and see if anything improves. The motors you are using are the bipolar type. There=20 is a decent way of hooking up unipolar steppers to the HB at http://www.cctc.demon.co.uk/stepper.htm A basic difference between bipolar and unipolar is that unipolar motors have additional wires are=20 connected to the power supply. Bipolars also have more torque. Using fd(); and bk(); commands to power steppers is probably a lot to handle. I recommend trying the=20 method found on that link. There's even sample coding. You will have to modify some variables for the turn functions because your turning radius varies according to your distance between motors. I modified the step(); function to produce a gradual=20 increase in speed, and a gradual decrease in speed once the specified steps are almost complete.=20 I will attach my motors.c file as is. _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Brian Carvalho [ brian-c@ieee.org ] DeVRY Institute New Jersey _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF --------------------------------------------------- Get free personalized email at http://www.iname.com --0-0-0-0-0-0-0-0-____====$%& Content-Type: application/octet-stream Content-disposition: inline; filename=Motors.c Content-Transfer-Encoding: base64 LyogTW90b3JzLmMgKi8NCg0KLyoqKiBERUNMQVJBVElPTlMgKioqLw0KDQppbnQgRk9SV0FSRFMg PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpYWJsZXMgZm9yIGRpcmVj dGlvbiAqLw0KaW50IEJBQ0tXQVJEUyA9IDE7DQogDQppbnQgSEFMRlRVUk4gPSA3MDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlcyBmb3IgdHVybmluZyAqLw0KaW50IFFV QVJURVJUVVJOID0gSEFMRlRVUk4gLyAyOw0KIA0KaW50IFJJR0hUID0gMjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmFsdWVzIGZvciB0dXJucyAqLw0KaW50IExFRlQgPSA4 Ow0KDQppbnQgcmlnaHRfbW90b3JfcG9pbnRlciA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBt b3RvciBjb250cm9sIHZhbHVlcyAqLw0KaW50IGxlZnRfbW90b3JfcG9pbnRlciA9IDA7DQogDQog DQppbnQgY3ljbGVfbGVuZ3RoID0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBoYWxm IHN0ZXBwaW5nIHZhbHVlcyAqLw0KaW50IGxlZnRfc3RlcF90YWJsZVs0XSA9IHs0OCw0OSw1MSw1 MH07DQppbnQgcmlnaHRfc3RlcF90YWJsZVs0XSA9IHsxOTIsMTk2LDIwNCwyMDB9Ow0KDQpsb25n IFNMT1cgPSAyNUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWlsbGlzZWNv bmQgcGF1c2VzICovDQpsb25nIEZBU1QgPSA4TDsNCg0KLyoqKiBGVU5DVElPTlMgKioqLw0KDQoN CnZvaWQgc2V0ZmFzdChsb25nIEYpDQp7DQoJCQlGQVNUID0gRjsNCn0NCg0Kdm9pZCBzZXRzbG93 KGxvbmcgUykNCnsNCgkJCVNMT1cgPSBTOw0KfQ0KDQoNCnZvaWQgc3RlcHBlcnNfb3V0KHZvaWQp DQp7DQoJCQlpbnQgY29udHJvbF9ieXRlID0gMDsNCgkJCWNvbnRyb2xfYnl0ZSArPSBsZWZ0X3N0 ZXBfdGFibGVbbGVmdF9tb3Rvcl9wb2ludGVyXTsNCgkJCWNvbnRyb2xfYnl0ZSArPSByaWdodF9z dGVwX3RhYmxlW3JpZ2h0X21vdG9yX3BvaW50ZXJdOw0KCQkJcG9rZSgweDBlLGNvbnRyb2xfYnl0 ZSk7DQp9DQoNCnZvaWQgcmlnaHRfc3RlcChpbnQgZGlyZWN0aW9uKSAgICAgICAgICAgICAgICAg IC8qIHJpZ2h0IG1vdG9yIGNvbnRyb2wgKi8NCnsNCgkJCWlmIChkaXJlY3Rpb24gPT0gRk9SV0FS RFMpDQoJCQkJCSAgcmlnaHRfbW90b3JfcG9pbnRlciArPTE7DQoJCQllbHNlDQoJCQkJCSAgcmln aHRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVuZ3RoIC0gMSk7DQoNCgkJCXJpZ2h0X21vdG9y X3BvaW50ZXIgJj0gKGN5Y2xlX2xlbmd0aCAtIDEpOw0KDQp9DQoNCnZvaWQgbGVmdF9zdGVwKGlu dCBkaXJlY3Rpb24pICAgICAgICAgICAgICAgICAgIC8qIGxlZnQgbW90b3IgY29udHJvbCovDQp7 DQoJCQlpZiAoZGlyZWN0aW9uID09IEZPUldBUkRTKQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRl ciArPSAxOw0KCQkJZWxzZQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVu Z3RoIC0gMSk7DQoNCgkJCWxlZnRfbW90b3JfcG9pbnRlciAmPSAoY3ljbGVfbGVuZ3RoIC0gMSk7 DQoNCn0NCg0Kdm9pZCBhYm91dF9mYWNlKGludCBkaXIpICAgICAgICAgICAgICAgIC8qIDE4MCBk ZWdyZWUgdHVybiBvbiBhIGRpbWUgKi8NCnsNCglpbnQgaTsNCg0KCWlmIChkaXIgPT0gUklHSFQp DQoJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2krKykNCgkJew0KCQkJbGVmdF9zdGVwKEZPUldBUkRT KTsNCgkJCXJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXN0ZXBwZXJzX291dCgpOw0KCQkJbXNs ZWVwKFNMT1cpOw0KCQkJYW8oKTsNCgkJIH0NCg0KCSBlbHNlDQoJCSBmb3IgKGk9MDtpPD1IQUxG VFVSTjtpKyspDQoJCSB7DQoJCQlsZWZ0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXJpZ2h0X3N0ZXAo Rk9SV0FSRFMpOw0KCQkJc3RlcHBlcnNfb3V0KCk7DQoJCQltc2xlZXAoU0xPVyk7DQoJCQlhbygp Ow0KCQkgIH0NCn0NCg0Kdm9pZCByaWdodF90dXJuKCkgICAgICAgICAgICAgICAgICAgICAgIC8q IDkwIGRlZ3JlZSByaWdodCB0dXJuIG9uIGEgZGltZSAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZv ciAoaT0wO2k8PVFVQVJURVJUVVJOO2krKykNCgkJCXsNCgkJCQkJICBsZWZ0X3N0ZXAoRk9SV0FS RFMpOw0KCQkJCQkgIHJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQo KTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQkJCSAgYW8oKTsNCgkJCX0NCg0KfQ0KDQp2b2lk IGxlZnRfdHVybigpICAgICAgICAgICAgICAgICAgICAgICAgLyogOTAgZGVncmVlIGxlZnQgdHVy biBvbiBhIGRpbWUgKi8NCnsNCgkJCWludCBpOw0KDQoJCQlmb3IgKGk9MDtpPD1RVUFSVEVSVFVS TjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEJBQ0tXQVJEUyk7DQoJCQkJCSAgcmlnaHRf c3RlcChGT1JXQVJEUyk7DQoJCQkJCSAgc3RlcHBlcnNfb3V0KCk7DQoJCQkJCSAgbXNsZWVwKFNM T1cpOw0KCQkJCQkgIGFvKCk7DQoJCQl9DQp9DQoNCnZvaWQgcmlnaHRfd2hlZWwoKSAgICAgICAg ICAgICAgICAgICAgICAvKiBncmFkdWFsIHJpZ2h0IHR1cm4gKi8NCnsNCgkJCWludCBpOw0KDQoJ CQlmb3IgKGk9MDtpPD1IQUxGVFVSTjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEZPUldB UkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9 DQp9DQoNCnZvaWQgbGVmdF93aGVlbCgpICAgICAgICAgICAgICAgICAgICAgICAvKiBncmFkdWFs IGxlZnQgdHVybiAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2kr KykNCgkJCXsNCgkJCQkJICByaWdodF9zdGVwKEZPUldBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19v dXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9DQp9DQoNCg0Kdm9pZCBzdGVwIChpbnQg ZGlyLCBpbnQgbnVtc3RlcHMsIGludCBkZWxheSkNCnsNCiAgICAgICAgaW50IHN0ZXAsc3RwOw0K ICAgICAgICBpbnQgYmVnaW49bnVtc3RlcHMvMTA7DQoJaW50IGNvbnRpbnVlOw0KICAgICAgICBs b25nIGdyYWQ9KGxvbmcpYmVnaW47DQoNCglzeXN0ZW1fcHdtX29mZigpOw0KDQoJZm9yIChzdGVw PTA7c3RlcDxiZWdpbjtzdGVwKyspDQoJew0KCQltc2xlZXAoZ3JhZCk7DQoJCWxlZnRfc3RlcChk aXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51ZT1z dGVwOw0KICAgICAgICAgICAgICAgIGdyYWQ9Z3JhZC0xTDsNCg0KCX0NCiAgICAgICAgd2hpbGUo Y29udGludWU8YmVnaW4qOSkNCgl7DQoJCW1zbGVlcCgobG9uZylkZWxheSk7DQoJCWxlZnRfc3Rl cChkaXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51 ZSsrOw0KICAgICAgICAgICAgICAgIHN0cD1jb250aW51ZTsNCgkgfQ0KDQogICAgICAgICB3aGls ZShzdHA8bnVtc3RlcHMpDQogICAgICAgICB7DQogICAgICAgICAgICAgIGRlbGF5PWRlbGF5KzE7 DQogICAgICAgICAgICAgIG1zbGVlcCgobG9uZylkZWxheSk7DQogICAgICAgICAgICAgIGxlZnRf c3RlcChkaXIpOw0KICAgICAgICAgICAgICByaWdodF9zdGVwKGRpcik7DQogICAgICAgICAgICAg IHN0ZXBwZXJzX291dCgpOw0KICAgICAgICAgICAgICBzdHArKzsNCiAgICAgICAgIH0NCglhbygp Ow0KDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0K --0-0-0-0-0-0-0-0-____====$%&-- Mail-Mbox-MessageParser-1.5105/t/results/reset_mailarc-2.stdout000644 000765 000024 00000027527 12503672226 024775 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 3728 From jrh@jack.securepipe.com Tue Jan 13 03:19:47 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA08834; Tue, 13 Jan 1998 03:19:47 -0500 Received: from splat.securepipe.com (splat.securepipe.com [169.207.51.74]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA00703 for ; Tue, 13 Jan 1998 02:15:36 -0500 (EST) Message-Id: <199801130715.CAA00703@aleve.media.mit.edu> Received: (qmail 7615 invoked from network); 13 Jan 1998 07:23:07 -0000 Received: from jack.securepipe.com (network-user@169.207.51.75) by splat.securepipe.com with SMTP; 13 Jan 1998 07:23:07 -0000 X-Mailer: exmh version 2.0zeta 7/24/97 From: Joshua Heling To: handyboard@media.mit.edu Subject: questions re: unix version of IC Reply-To: Joshua Heling Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 13 Jan 1998 01:23:12 -0600 Sender: jrh@jack.securepipe.com Hi - I'm a handy-board/ic newbie, so please excuse this question if it's answers seem obvious. After two weeks of writing code in DOS/Windows (yuck), I downloaded the ic-2.860beta source code, which compiled without significant trouble in linux (redhat 5). The version is, of course, a bit different from that which came with the handy-board (from Gleason Rsch, was version 2.851). My question is, can I just copy the library files that came from Gleason Rsch. into the lib directory on the unix ic installation (it seems that I can, I just want to be sure)? Are there any other issues I should be aware of (w.r.t. the beta, or using ic from unix, end-of-line conventions on library files, etc.). I'm not particularly concerned with being able to download the pcode in unix - I do have DOS easily available... BTW, thanks to all that have contributed to this really neat project - this is my first exposure to robotics, and it's been great fun so far. ----- Begin Included Message ----- From owner-laser@ns1.qsl.net Thu May 1 09:58:06 1997 X-Authentication-Warning: ns1.qsl.net: majordom set sender to owner-laser@qsl.net using -f From: "Guy Hamblen" To: "Laser" Subject: [LASER] Which Circuit for OPT210? Date: Thu, 1 May 1997 12:53:29 -0400 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1155 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: owner-laser@qsl.net Reply-To: "Guy Hamblen" Content-Length: 1037 Thanks everyone for sourcing information on this device. I've got several in hand, feedback resistors are in the mail. Now can I get existing OPT1210 user experience re: the following questions: 1) I assume (dangerous I know...) that the easiest circuit (per the Burr-Brown App Notes) is the Fig. 3 "Single Power Supply Operation"? 2) Is 12v operation recommended? 3) If 12v operation, did you use a 5.6v zener or lower value? 4) Did you use electrolytics to bypass to ground pins 1 & 8? 5) Did you build this circuit in a shielded box? 6) Does the on-board opamp provide sufficient output to drive a set of headphones or did you add another opamp gain circuit? If so what low noise device? Any highpass filter circuits? Is there any need for a bandpass filter circuit to get rid of audio highs? I am using a 3" PVC with a focusing lens (f/4") - - how did you mechanically place the OPT210 so the focused light source falls on the photodiode? My approach would be trial-versus-error.... Thanks in advance....Guy N7UN/2 ----- End Included Message ----- - Joshua -------- Joshua Heling jrh@securepipe.com SecurePipe Communications, Inc. number: 2 line: 89 offset: 3728 bytes: 2506 From fredm@ml.media.mit.edu Tue Jan 13 10:41:57 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA21129; Tue, 13 Jan 1998 10:41:57 -0500 Received: from ml.media.mit.edu (ml.media.mit.edu [18.85.13.107]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id JAA22423 for ; Tue, 13 Jan 1998 09:10:43 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by ml.media.mit.edu (8.8.7/8.8.7) with SMTP id JAA26699; Tue, 13 Jan 1998 09:10:37 -0500 (EST) Message-Id: <199801131410.JAA26699@ml.media.mit.edu> X-Authentication-Warning: ml.media.mit.edu: localhost [127.0.0.1] didn't use HELO protocol To: Joshua Heling Cc: handyboard@media.mit.edu Subject: Re: questions re: unix version of IC In-Reply-To: Your message of "Tue, 13 Jan 98 01:23:12 CST." <199801130715.CAA00703@aleve.media.mit.edu> Date: Tue, 13 Jan 98 09:10:37 -0500 From: "Fred G. Martin" X-Mts: smtp Joshua - There should be no problems using the Gleason Research libraries (or any of the libraries that are on the web site). There are no differences between version 2.851 and 2.860 from the point of view of the libraries. There is a pre-compiled version for Linux. See ftp://cher.media.mit.edu/pub/projects/interactive-c/unix/ Fred In your message you said: > Hi - > > I'm a handy-board/ic newbie, so please excuse this question if it's answers > seem obvious. After two weeks of writing code in DOS/Windows (yuck), I > downloaded the ic-2.860beta source code, which compiled without significant > trouble in linux (redhat 5). The version is, of course, a bit different from > that which came with the handy-board (from Gleason Rsch, was version 2.851). > > My question is, can I just copy the library files that came from Gleason Rsch . > into the lib directory on the unix ic installation (it seems that I can, I > just want to be sure)? Are there any other issues I should be aware of > (w.r.t. the beta, or using ic from unix, end-of-line conventions on library > files, etc.). I'm not particularly concerned with being able to download the > pcode in unix - I do have DOS easily available... > > BTW, thanks to all that have contributed to this really neat project - this i s > my first exposure to robotics, and it's been great fun so far. > > > - Joshua > > -------- > Joshua Heling jrh@securepipe.com > SecurePipe Communications, Inc. > > > number: 3 line: 156 offset: 6234 bytes: 4602 From dakott@alpha.delta.edu Thu Jan 1 05:56:53 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA29720; Thu, 1 Jan 1998 05:56:53 -0500 Received: from kott.my.domain (root@pm233-26.dialip.mich.net [198.110.144.127]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id FAA31795 for ; Thu, 1 Jan 1998 05:06:14 -0500 (EST) Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id FAA01072 for ; Thu, 1 Jan 1998 05:06:33 -0500 (EST) Date: Thu, 1 Jan 1998 05:06:32 -0500 (EST) From: David Kott Sender: dakott@kott.my.domain To: handyboard@media.mit.edu Subject: Re: Digital outputs. In-Reply-To: <199712312227.QAA03595@augusta.netperceptions.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 31 Dec 1997, Tom Brusehaver wrote: > > G> Wich are the options to have 3 digital outputs in the handyboard? > G> No matter if i have to do little modifications to the Hardware. I > G> already know how to conect the keypad if you can tell me how > G> obtain 3 outputs.. :) > > > The SPI port is sitting there. I think you can get at 3 outputs from > those pins (SD/RD/CLK). > yet ANOTHER idea, if you are suitably masochistic, is to use the SPI port for a much more extensible I/O system. As you know, SPI uses 4 basic control signals, MOSI, MISO, CLK and SS... Ok, what we used to do in Embedded Controllers class is hook up a Serial In/Parallel Out (hereforward referred to as a SIPO) shift register. You must have at least ONE output available, so, this pretty much eliminates a L293 or, if you are bold enough, obtain additional outputs using a '138 as outlined in the HandyBoard FAQ. A SIPO you might use is the 8 bit 74164. Hook the DATA IN on the SIPO to the MOSI pin on the SPI. Hook the SPI's CLK output to the SIPO's clock pin. Use a transparent latch to update and hold the data on the outputs of the SIPO and update it with the one output pin, perhaps a 74373. To update the new 8 bits of data appearing at your latch's output, you load the SPI's data register with the byte value that you want to have across your new outputs. This data will be shifted out during the next 8 E-clock cycles. After the SPI's data register is empty indicating that the SIPO has the output byte on it's parallel outputs, pulse the single control output to update the latch's outputs. With this arrangement, you could, in theory, have many, many SIPO shift register/Latch pairs; the Serial Data In of the next stage connected to the last Parallel Output on the previous adjacent stage. One would just have to make sure that you coordinated the number of stages with the number of bytes outshifted by the SPI data register (naturally). The downside to this arrangement is the time it takes to update a digital output. The entire train (8 bits, 16 bits, 24 bits... more?) Need to be loaded and shifted out to change just ONE output. The upside is, the data will shift at 2 Mhz, which makes for a (250 ns * [8+2] ) 2.5 ms update time. Not suitable for time critical applications, (PWM, Communication) but not bad for bulk outputs. I don't think I have explained my little circuit here very well.. perhaps an ASCII graphic? Output originally going to an L293D +---------------------------------------+ |Or added via a '138 from the | |expansion buss. | | +--+----+ +----+---------+ +---------+ | LE | | | SPI CLK |'164 PO0|----| '373 |---- | +-----------+ CP PO1|----| |---- | 68HC11 | SPI MOSI | PO2|----| |---- | +-----------+ Data PO3|----| |---- New | | | PO4|----| |---- Digital +--------------+ | PO5|----| |---- Outputs | PO6|----| |---- | PO7|----| |---- +---------+ +-------+ Where: PO# is a "Parallel Output" on a SIPO Data is the "Serial Data Input" on a SIPO CP is the SIPO's clock -d Win95/NT - 32 bit extensions and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition. -UGU number: 4 line: 259 offset: 10836 bytes: 1108 From fredm@ml.media.mit.edu Thu Jan 1 10:20:57 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA28944; Thu, 1 Jan 1998 10:20:57 -0500 Received: from ml.media.mit.edu (ml.media.mit.edu [18.85.13.107]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id JAA23720 for ; Thu, 1 Jan 1998 09:41:01 -0500 (EST) Received: (from fredm@localhost) by ml.media.mit.edu (8.8.7/8.8.7) id JAA32741 for handyboard; Thu, 1 Jan 1998 09:41:01 -0500 (EST) From: Fred G Martin Message-Id: <199801011441.JAA32741@ml.media.mit.edu> To: handyboard@media.mit.edu Subject: Re: Digital outputs. Thanks David for a nice explanation of how to add I/O using shift registers. Let us not all forget that the HB does have two uncommitted digital output ASIDE from the four SPI pins: PA7 (a bidirectional pin which is marked as digital input #9) and PA5 (a timer output pin which is marked as TO3 on the expansion header). It would seem silly to disconnect a motor driver signal when these two signals are available. Fred Mail-Mbox-MessageParser-1.5105/t/results/reset_mailarc-3.stdout000644 000765 000024 00000201620 12503672226 024762 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 15766 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== This code was written for MS C++4.0 running on Win95. //************** BEGIN: serial_HOST.c /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on a host PC. */ #include #include #include #include #include "serial_HOST.h" void main(int argc, char *argv[]) { motor(0, 100); motor(1, 100); motor(2, 100); motor(3, 100); sleep(1000); motor(0, -100); motor(1, -100); motor(2, -100); motor(3, -100); sleep(1000); ao(); print("\nThis is a test"); printf("Knob is %d\n", knob() ); printf("Analog(0) is %d\n", analog(0)); printf("Digital(0) is %d\n", digital(0)); printf("Analog(1) is %d\n", analog(1)); printf("Digital(1) is %d\n", digital(1)); printf("Analog(2) is %d\n", analog(2)); printf("Digital(2) is %d\n", digital(2)); printf("Analog(3) is %d\n", analog(3)); printf("Digital(3) is %d\n", digital(3)); printf("Analog(4) is %d\n", analog(4)); printf("Digital(4) is %d\n", digital(4)); printf("Analog(5) is %d\n", analog(5)); printf("Digital(5) is %d\n", digital(5)); printf("Analog(6) is %d\n", analog(6)); printf("Digital(6) is %d\n", digital(6)); printf("Analog(7) is %d\n", analog(7)); printf("Digital(7) is %d\n", digital(7)); printf("Analog(8) is %d\n", analog(8)); printf("Digital(8) is %d\n", digital(8)); printf("Analog(9) is %d\n", analog(9)); printf("Digital(9) is %d\n", digital(9)); printf("Analog(10) is %d\n", analog(10)); printf("Digital(10) is %d\n", digital(10)); printf("Analog(11) is %d\n", analog(11)); printf("Digital(11) is %d\n", digital(11)); printf("Analog(12) is %d\n", analog(12)); printf("Digital(12) is %d\n", digital(12)); printf("Analog(13) is %d\n", analog(13)); printf("Digital(13) is %d\n", digital(13)); printf("Analog(14) is %d\n", analog(14)); printf("Digital(14) is %d\n", digital(14)); printf("Analog(15) is %d\n", analog(15)); printf("Digital(15) is %d\n", digital(15)); beep(); sleep(1000); while (! stop_button() ) { sprintf(buffer, "%d.0", (knob() * 10)); tone( buffer, "0.1"); } } //************** END: serial_HOST.c //************** BEGIN: serial_HOST.h /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 #define sleep(NUM) _sleep(NUM) #define SERIALWAIT 5 unsigned short PORT = 0x3f8; // LPT1: 0x378 COM1: 0x3f8 int send(int i) { int retval; retval = _outp( PORT, i); _sleep(SERIALWAIT); return retval; } int receive() { int retval; retval = _inp( PORT); _sleep(SERIALWAIT); retval = _inp( PORT); return retval; } void hangup() { send(QUIT); } void print(char buffer[]) { int i; send(PRINTF); for (i = 0; buffer[i] != 0; i++) send(buffer[i]); send('\0'); } void motor(int motornum, int power) { send(MOTOR); send(motornum); send(power + 100); // taken off on the other end } int analog(int sensor) { send(ANALOG); send(sensor); return receive(); } int digital(int sensor) { send(DIGITAL); send(sensor); return receive(); } void ao() { send(AO); } int knob() { send(KNOB); return receive(); } void beep() { send(BEEP); } void tone(char f1[], char f2[]) { int i; send(TONE); for (i = 0; f1[i] != 0; i++) send(f1[i]); send('\0'); for (i = 0; f2[i] != 0; i++) send(f2[i]); send('\0'); _sleep((unsigned long) (atof(f2) * 1000)); // to keep from overflowing serial line } void interactive() { char c; char key = ' '; while (key != 'q') { key = getch(); send(key); printf("Sent %c\n", key); c = receive(); printf("Got %c as a return value\n", c); } } int start_button() { send(START_BUTTON); return receive(); } int stop_button() { send(STOP_BUTTON); return receive(); } //************** END: serial_HOST.h //************** BEGIN: serial_HB.c /* VC++4.0 HandyBoard Programming System (Parts taken from other HB programs) Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on the HB */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 int _isspace(int a) /* returns 1 for space or tab, 0 otherwise */ /* internal routine used by atof() and cgets() */ { return ((a == 32) || (a == 9)); /* 32 is space, 9 is tab */ } /*****************************************************************************/ int _isdigit(int a) /* returns 1 if a digit 0-9, 0 otherwise */ /* internal routine used by atof() */ { return ((a >= 48) && (a <= 57)); /* 48 is '0', 57 is '9' */ } float atof(char s[]) /* Convert a string containing a number in ASCII */ /* form (integer, float, or exponential float) to a */ /* float. Strips whitespace characters (space and */ /* tab) from the front of the string, but stops */ /* parsing at the first (unexpected) non-numeric */ /* character if the string has garbage at the end. */ /* This means that " 34.3foo78" translates to 34.3. */ /* Modified from atof() function in the standard */ /* library of the Hi-Tec C compiler for CP/M. */ /* Note: all string literals converted to decimal */ /* form because IC can't deal with string literals */ /* in math calculations. */ /* Also note: very ugly code because IC will not */ /* allow any math operations on pointers! Thus, the */ /* the number string has to be treated as an array! */ /* Also also note: no error handling; assumes that */ /* the string is a valid representation of a number! */ /* Valid range for exponential-format numbers is */ /* approximately 2.0e-38 to 3.4e+38. */ { int i=0; /* index into string array */ int sign=0; /* mantissa sign flag: 0=positive, 1=negative */ int exp0=0; /* mantissa exponent counter */ int eexp=0; /* E-form exponent counter */ int expsign=0; /* exponent sign flag: 0=positive, 1=negative */ float m=0.0; /* mantissa accumulator */ /* skip any leading whitespace (space, tab) */ while (_isspace(s[i])) i++; /* skip it */ /* check for mantissa sign */ if (s[i] == 45) /* 45 is '-' */ { sign = 1; /* flag minus sign */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get all digits up to either a decimal point or an e/E */ while (_isdigit(s[i])) { m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } /* no more digits, so check for decimal point */ if (s[i] == 46) /* 46 is '.' */ { i++; /* point to next */ /* get all digits after decimal point */ while (_isdigit(s[i])) { exp0--; m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } } /* check for e/E exponential form */ if ((s[i] == 101) || (s[i] == 69)) /* 101 is 'e', 69 is 'E' */ { i++; /* point to next */ /* check for exponent sign */ if (s[i] == 45) /* 45 is '-' */ { expsign = 1; /* flag negative exponent */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get exponent */ while (_isdigit(s[i])) { eexp = eexp*10 + s[i] - 48; /* 48 is '0' */ i++; /* point to next */ } /* adjust exponent sign */ if (expsign) eexp = -eexp; /* make it negative */ } /* compute absolute value of final float */ exp0 += eexp; while (exp0 < 0) /* for negative exponents */ { m = m / 10.0; exp0++; } while (exp0 > 0) /* for positive exponents */ { m = m * 10.0; exp0--; } /* adjust final float sign from mantissa */ if (sign) return (-m); /* negative */ else return (m); /* positive */ } void disable_pcode_serial() /* necessary to receive characters using serial_getchar */ { poke(0x3c, 1); } void reenable_pcode_serial() /* necessary for IC to interact with board again */ { poke(0x3c, 0); } /* ====================================================================== For sending and receiving single bytes, you can use Randy's IC code: */ void serial_putchar(int c) { while (!(peek(0x102e) & 0x80)); /* wait until serial transmit empty */ poke(0x102f, c); /* send character */ } int serial_getchar() { while (!(peek(0x102e) & 0x20)); /* wait for received character */ return peek(0x102f); } void main(void) { int pos, c = ' ', var1, var2; float f1, f2; char buffer[80]; disable_pcode_serial(); beep(); printf("\nSerial IO Mode!"); printf("Listening..."); msleep(500L); while (c != 'q') { c = serial_getchar(); /* printf("[%d] ", c); */ if (c == MOTOR) { var1 = serial_getchar(); var2 = serial_getchar() - 100; motor(var1, var2); } else if (c == AO) { ao(); } else if (c == ANALOG) { var1 = serial_getchar(); serial_putchar(analog(var1)); } else if (c == DIGITAL) { var1 = serial_getchar(); serial_putchar(digital(var1)); } else if (c == PRINTF) { pos = 0; while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; printf(buffer); } else if (c == TONE) { pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f1 = atof(buffer); pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f2 = atof(buffer); tone(f1, f2); } else if (c == START_BUTTON) { serial_putchar(start_button()); } else if (c == STOP_BUTTON) { serial_putchar(stop_button()); } else if (c == BEEP) { beep(); } else if (c == KNOB) { serial_putchar(knob()); } } reenable_pcode_serial(); printf("\nHB Mode!"); } //************** END: serial_HB.c number: 2 line: 512 offset: 15766 bytes: 8328 From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 WETDST Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA32480; Tue, 7 Jul 1998 20:33:03 -0400 Received: from wormwood.ee.byu.edu (wormwood.ee.byu.edu [128.187.30.54]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30127 for ; Tue, 7 Jul 1998 19:48:43 -0400 (EDT) Received: from wormwood (localhost [127.0.0.1]) by wormwood.ee.byu.edu with SMTP (8.7.6/8.7.1) id RAA26916 for ; Tue, 7 Jul 1998 17:48:42 -0600 (MDT) Sender: goldt@ee.byu.edu Date: Tue, 07 Jul 1998 17:48:41 -0600 From: "Timothy B. Gold" X-Mailer: Mozilla 3.04Gold (X11; I; HP-UX B.10.20 9000/780) Mime-Version: 1.0 To: handyboard@media.mit.edu Subject: Interrupt Handler for Serial communication Content-Type: multipart/mixed; boundary="------------18CC6AC44E2E" This is a multi-part message in MIME format. --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Here's a bit of code that will buffer incoming serial information so that no information will be lost when transmitting to the handy board. There are two files: serial_isr.c and serial_isr.asm. You'll need to assemble the .asm file using as11_ic, and then both the .c file and the .icb file need to be loaded onto the handy board. I'm sure improvements could be made to the code to clean it up a little, but it's a start (and I haven't had any problems with it yet). Enjoy! --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii; name="serial_isr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="serial_isr.c" /* C program to read serial port with interrupt service routine */ /* First version: Written by Anton Wirsch 20 Nov 1997 */ /* Second Version: Written by Tim Gold 27 May 1998 BYU Robotics Lab goldt@et.byu.edu Really, the only thing left from the original code are a few lines in the .asm file. Everything else I pretty much had to rewrite from scratch to get it to work the way I wanted to. But the orignal code by Anton was a very helpful starting point. Needed files: serial_isr.c serial_isr.icb serial_isr.asm (needed to change the buffer size) The buffer size here is 32 bytes (probably much larger than it needs to be.) To change the buffer size, do the following: 1. Change the BUFFER_SIZE constant below to the desired number of bytes. 2. Edit the line(s) in the serial_isr.asm which contain the word "EDIT" in the comment so that the value matches that of BUFFER_SIZE. 3. Recreate the serial_isr.icb file by typing the following: > as11_ic serial_isr.asm */ #define BUFFER_SIZE 32 /* change buffer size here -- see above */ /* various constants used by the program... */ #define BAUD 0x102b /* baud rate set to 9600 */ #define SCCR2 0x102d #define SCCR1 0x102c #define SCSR 0x102e #define SCDR 0x102f int buffer[BUFFER_SIZE]; /* this is the actual buffer */ void initSerial() { /* Call this routine to activate the serial interrupt handler. */ int i,temp; /* clear out buffer */ for(i=0; i as11_ic serial_isr.asm */ /* change this line to match your library path... */ #include "/usr/local/ic/libs/6811regs.asm" ORG MAIN_START variable_CURRENT: FDB 00 * ptr to next data to be read by user variable_INCOMING: FDB 00 * number of bytes received (circular count) variable_BASE_ADDR: FDB 00 * base address of buffer (to be set by init routine) variable_DATA_FLAG: FDB 00 * flag set when data is available variable_buffer_ptr: FDB 00 * pointer to CURRENT buffer subroutine_initialize_module: /* change this line to match your library path... */ #include "/usr/local/ic/libs/ldxibase.asm" ldd SCIINT,X std interrupt_code_exit+1 ldd #interrupt_code_start std SCIINT,X rts interrupt_code_start: ldad variable_INCOMING * store INCOMING into AB cmpb #00 * compare B with 0 bhi skip * goto "skip" if (B > 0) ldx variable_BASE_ADDR * STORE ADDRESS OF ARRY IN X inx * SKIP THE FIRST (?) inx * TWO BYTES (?) inx * OFFSET TO THE HIGHER BYTE (?) stx variable_buffer_ptr * SAVE PTR VALUE bra cont skip: ldx variable_buffer_ptr * load buffer pointer into x cont: ldad variable_INCOMING * load INCOMING into AB incb * increment INCOMING cmpb #32 * compare B and 32 --EDIT TO CHANGE BUFFER SIZE-- beq reset_count * if a=32, goto reset_count bra cont1 reset_count: ldad #00 * set count to zero cont1: stad variable_INCOMING * store AB into INCOMING ldab SCSR * load SCSR (SCI status register) into B (why?) ldab SCDR * load SCSR (SCI data register) into B stab ,X * store data in array inx * increment by two bytes inx stx variable_buffer_ptr * save the pointer value ldad #01 * load 1 into AB stad variable_DATA_FLAG * store AB into DATA_FLAG (indicating data is available) interrupt_code_exit: jmp $0000 --------------18CC6AC44E2E-- number: 3 line: 789 offset: 24094 bytes: 2688 From aarone@sirius.com Wed Jul 1 02:44:06 1998 MEST Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA22669; Wed, 1 Jul 1998 02:44:06 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id CAA13214 for ; Wed, 1 Jul 1998 02:01:55 -0400 (EDT) Received: from edsinger (ppp-asfm03--126.sirius.net [205.134.240.126]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with ESMTP id XAA26862 for ; Tue, 30 Jun 1998 23:01:54 -0700 (PDT) From: "Aaron Edsinger" To: "handy" Subject: Serial Interface Date: Wed, 1 Jul 1998 02:06:39 +0100 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1162 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I've been having some problems using my HandyBoard to talk directly to my PC via the serial interface. I disable Interactive C and then Poke() and Peek() as has been described on this list. I send short character strings from my PC to the HandyBoard under Windows 95. If I send strings longer than 2 characters, it seems that some of the characters get lost. This behavior seems to be affected by repositioning or slightly modifying the code, suggesting perhaps a timing issue. Why might this be? Is there any way to check for an error situation? Thanks for any help, Aaron From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA23518; Thu, 16 Jul 1998 03:13:49 -0400 Received: from hq.freegate.com ([208.226.86.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA18991 for ; Thu, 16 Jul 1998 02:17:47 -0400 (EDT) Received: (qmail+freegate 6968 invoked by alias); 16 Jul 1998 06:17:38 -0000 Received: from dialip-04.hq.freegate.com (HELO freegate.com) (208.226.86.222) by hq.freegate.com with SMTP; 16 Jul 1998 06:17:38 -0000 Date: Wed, 15 Jul 1998 23:21:14 -0700 From: Chuck McManis Reply-To: cmcmanis@freegate.com Organization: Freegate Corporation X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: David Rye Cc: handyboard@media.mit.edu Subject: Re: Handyboard/RWP without p-code References: <3.0.32.19980716151646.00809d20@nemo.mech.eng.usyd.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Get a copy of icc11 v5.0 or later (from www.imagecraft.com) and use the handyboard library from their site. --Chuck number: 4 line: 849 offset: 26782 bytes: 5890 From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com From someone2@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com2> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available 2 Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- number: 5 line: 977 offset: 32672 bytes: 2103 From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA20653; Wed, 1 Jul 1998 05:33:51 -0400 Received: from alpha.delta.edu (alpha.delta.edu [161.133.129.3]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id EAA12514 for ; Wed, 1 Jul 1998 04:41:22 -0400 (EDT) Received: from pm295-18.dialip.mich.net by alpha.delta.edu; (5.65v3.0/1.1.8.2/06Jan97-0932AM) id AA31111; Wed, 1 Jul 1998 04:44:45 -0400 Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id WAA20239; Tue, 30 Jun 1998 22:34:32 -0400 (EDT) Date: Tue, 30 Jun 1998 22:34:31 -0400 (EDT) From: David Kott Sender: dakott@kott.my.domain To: brian-c@technologist.com Cc: handyboard@media.mit.edu Subject: Re: microcontroller In-Reply-To: <199806291430.KAA07909@web01.globecomm.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 29 Jun 1998 brian-c@technologist.com wrote: > -I'd like to say thanks to all the folks who replied > to my question on the microcontroller speeds. > > Here's another general question about them though. > Should any unused pins be left open or should they > be grounded? > Eeeeeeeeeeek! Outputs left floating, CMOS inputs taken to ground with a 4.7K resistor... presuming, of course, that a Logic 0 on that input won't generate adverse effects, e.g. a grounded active low interrupt line might be a problem. Such inputs should be taken to +5 with a 4.7K resistor. Floating CMOS inputs have a tendency to oscillate with the merest whisper of a voltage. TTL inputs may be left floating. Driving an output externally will just heat up your CPU.. or worse. -d -- The box said "Requires Windows 95/NT or better"... So I got Unix. Free the Source. Free your Computer... http://www.FreeBSD.org http://www.NetBSD.org http://www.OpenBSD.org number: 6 line: 1031 offset: 34775 bytes: 7625 From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA06355; Sun, 22 Mar 1998 01:52:45 -0500 Received: from cyber.sfgate.com (cyber.sfgate.com [198.93.154.11]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id BAA23676 for ; Sun, 22 Mar 1998 01:08:09 -0500 (EST) Received: from localhost by cyber.sfgate.com with smtp (Smail3.2 #1) id m0yGduz-000Is1C; Sat, 21 Mar 1998 22:07:37 -0800 (PST) Date: Sat, 21 Mar 1998 22:07:37 -0800 (PST) From: Richard X-Sender: rshirk@cyber To: handyboard@media.mit.edu Subject: Frob nobs and IR Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-890546857=:21628" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII OK...Im now pretty happy with states of things but I still have a few questions I hope you can help me answer. The code attached works and everything, but only when i take the bit about playing the songs out. problem 1) It keeps saying that play is undefined. I saw that before and fixed it by changing the names of the labels of the songs. I tried it this time and it didnt work...i was wondering if anyone out there knows why it does this and how to correct it.... problem 2) I figured out (thanks to you guys) how to work the built in IR sensor to detect and act upon 4 signals. One is for behing hostile, 3 is for seeking, signal 5 is when it gets annoyed, and 7 it just beeps and ignores it. The signal for being Hostile responds quickly and prints H on the screen but the others lag and i was wondering if you knew why this was. -Richard ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xbump2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: LyogVGhpcyBpcyAoc2xpZ2h0bHkgbW9kaWZpZWQpIGRlZmF1bHQgdG91Y2gg bmF2aWdhdGlvbiAqLw0gICAgICAgICBjaGFyIHBuX3NvbmdbXT0gIjEjZCA0 ZTNyMSNmNGczcjEjZCAzZTEjZjNnMWMzYkQxZTNnMWIgOCZiMmIyYTJnMmUy ZDEwZSAgICAgIDdyMSNkIDRlM3IxI2Y0ZzNyMSNkIDNlMSNmM2cxYzNiMWcz YjFlIDI4JmUgRDNyMSNkIDRlM3IxI2Y0ZzNyMSNkICAgICAgM2UxI2YzZzFj M2JEMWUzZzFiIDgmYjJiMmEyZzJlMmQxMGUgMTJyIFUzZTFkM2IxYTNnMSNm ICAgICAgMSZiM2ExJmIzYTEmYjNhMSZiM2EgMmcyZTJkMjBlIjsNDSAgY2hh ciBsdHVuZV9zb25nW109ICJVM2UxZDJjMmQyZTJkMmUyYzJkMmQyZDZkMnIg M2QxYzJiMmMyZDIjYzJkMmIyYzJjMmM2YyI7DQ0Ndm9pZCBtYWluKCApDXsN ICAgLyogdGltaW5nIHBhcmFtZXRlcnMgKG1pbGxpc2Vjb25kcykgKi8NICAg bG9uZyByZXZlcnNlX3RpbWUgPSA1MDBMLCB0dXJuX3RpbWUgPSA1MDBMLCB0 dXJuYXJvdW5kX3RpbWUgPSAxMDAwTDsNICAgIHNvbnlfaW5pdCAoMSk7DSAg ICBwcmludGYoIkF1dG9ub21vdXNcbiIpOw0gICAgbXNsZWVwKDUwMEwpOw0g ICAgcHJpbnRmKCJSb2JvdGljXG4iKTsNICAgIG1zbGVlcCg1MDBMKTsNICAg IHByaW50ZigiTmF2aWdhdGlvblxuIik7DSAgICBtc2xlZXAoNTAwTCk7DSAg ICB7DSAgICAgICAgIGlmICgoIGtub2IoICkgKSA9PSAyNTUpDSAgICAgICAg IHsNICAgICAgICAgICAgICAgcGxheSAocG5fc29uZyk7DSAgICAgICAgICB9 DSAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9PSAwKQ0gICAgICAg ICAgew0gICAgICAgICAgICAgICAgcGxheSAobHR1bmVfc29uZyk7DSAgICAg ICAgICB9DSAgICAgICAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9 PSAxMTYpDSAgICAgICAgICB7DSAgICAgICAgICAgICAgICBwcmludGYoIkhF TExPLCBKVURHRVMhXG4iKTsNICAgICAgICAgICAgICAgIG1zbGVlcCg1MDBM KTsNICAgICAgICAgIH0NICAgIH0NDSAgIHByaW50ZiggIlByZXNzIFNUQVJU XG4iICk7DSAgIHN0YXJ0X3ByZXNzKCk7ICAgLyogd2FpdCAndGlsIGJ1dHRv biBpcyBwcmVzc2VkICovDSAgIGJlZXAoKTsNICAgcHJpbnRmKCAiU3RhbmQg YmFjay4uLlxuIiApOw0gICBzbGVlcCggMS4wICk7IA0gICAvKiBpbml0aWF0 ZSBmb3J3YXJkIG1vdGlvbiAqLw0gICBmZCggMiApOw0gICBmZCggMyApOw0g ICB3aGlsZSggMSApICAgLyogZmVlZGJhY2sgbG9vcCAqLw0gICB7DSAgICAg IGlmKCAhIGRpZ2l0YWwoIDcgKSApICAgLyogY2hlY2sgbGVmdCBidW1wZXIg Ki8NICAgICAgew0gICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJl ZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAg ICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUgKTsNDSAgICAgICAgIC8qIHR1 cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMg KTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNDSAgICAgICAgIC8q IHJlc2V0IGZvcndhcmQgbW90aW9uICovDSAgICAgICAgIHByaW50ZiggIjAi ICk7DSAgICAgICAgIGZkKCAyICk7DSAgICAgICAgIGZkKCAzICk7DQ0gICAg ICB9DQ0gICAgICBlbHNlIGlmKCAhIGRpZ2l0YWwoIDExICkgKSAgIC8qIGNo ZWNrIG1pZGRsZSBidW1wZXIgKi8NICAgICAgew0gICAgICAgICAvKiByZXZl cnNlICovDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAg ICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUg KTsNDSAgICAgICAgIC8qIHR1cm4gYXJvdW5kICovDSAgICAgICAgIGZkKCAy ICk7DSAgICAgICAgIGJrKCAzICk7DSAgICAgICAgIG1zbGVlcCggdHVybmFy b3VuZF90aW1lICk7DQ0gICAgICAgICAvKiByZXNldCBmb3J3YXJkIG1vdGlv biAqLw0gICAgICAgICBwcmludGYoICIxIiApOw0gICAgICAgICBmZCggMiAp Ow0gICAgICAgICBmZCggMyApOw0gICAgICB9DQ0gICAgICBlbHNlIGlmKCAh IGRpZ2l0YWwoIDE1ICkgKSAgIC8qIGNoZWNrIHJpZ2h0IGJ1bXBlciAqLw0g ICAgICB7DSAgICAgICAgIC8qIHJldmVyc2UgKi8NICAgICAgICAgYmVlcCgp Ow0gICAgICAgICBiayggMiApOw0gICAgICAgICBiayggMyApOw0gICAgICAg ICBtc2xlZXAoIHJldmVyc2VfdGltZSApOw0NICAgICAgICAgLyogdHVybiBs ZWZ0ICovDSAgICAgICAgIGJrKCAyICk7DSAgICAgICAgIGZkKCAzICk7DSAg ICAgICAgIG1zbGVlcCggdHVybl90aW1lICk7DQ0gICAgICAgICAvKiByZXNl dCBmb3J3YXJkIG1vdGlvbiAqLw0gICAgICAgICBwcmludGYoICIyIiApOw0g ICAgICAgICBmZCggMiApOw0gICAgICAgICBmZCggMyApOw0gICAgIH0NICAg ICBlbHNlIGlmKGlyX2RhdGEoIDAgKSA9PSAxMjggKSAvKkNoZWNrIElSIHJl Y2lldmVyKi8NICAgICAgew0gICAgICAgICAgcHJpbnRmKCJIIik7DSAgICAg ICAgIC8qIHR1cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAg ICAgICAgIC8qQXR0YWNrLi4uUm9ib3QgaXMgSG9zdGlsZSAqLw0gICAgICAg ICAgYmVlcCgpOyANICAgICAgICAgIGZkKCAyICk7DSAgICAgICAgICBmZCgg MyApOw0gICAgICAgICAgYmVlcCgpOw0gICAgIH0NICAgICBlbHNlIGlmKGly X2RhdGEoIDAgKSA9PSAxMzAgKSAvKkNoZWNrIElSIHJlY2lldmVyKi8NICAg ICAgew0gICAgICAgICAgcHJpbnRmKCJTIik7DSAgICAgICAgIC8qIHR1cm4g cmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMgKTsN ICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAgICAgICAgIC8qUm9i b3QgaXMgaW4gbG92ZSEgRG8gYSBsaWwgZGFuY2UhICovDSAgICAgICAgICBi ZWVwKCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgZmQoIDIgKTsN ICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBtc2xlZXAoIHR1cm5fdGlt ZSApOw0gICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgIGJrKCAzICk7DSAg ICAgICAgICBtc2xlZXAoIHJldmVyc2VfdGltZSApOyANICAgICAgICAgIC8q R28gZm9yd2FyZCEqLw0gICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgIGZk KCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7DSAg ICAgfQ0gICAgIGVsc2UgaWYoaXJfZGF0YSggMCApID09IDEzMiApIC8qQ2hl Y2sgSVIgcmVjaWV2ZXIqLw0gICAgICB7DSAgICAgICAgICBwcmludGYoIkEi KTsNICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJlZXAoKTsNICAg ICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNs ZWVwKCByZXZlcnNlX3RpbWUgKTsNICAgICAgICAgIC8qUm9ib3QgaXMgQW5u b3llZCEgVHVybnMgY29tcGxldGVseSBhcm91bmQgaW4gZGlndXN0Ki8gICAg ICAgDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmVlcCgpOyANICAgICAg ICAgYmVlcCgpOw0gICAgICAgICBmZCggMiApOw0gICAgICAgICBiayggMyAp Ow0gICAgICAgICBtc2xlZXAoIHR1cm5hcm91bmRfdGltZSApOw0gICAgICAg ICAgZmQoIDIgKTsNICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0NICAg ICB9DSAgICAgZWxzZSBpZihpcl9kYXRhKCAwICkgPT0gMTM0ICkgLypDaGVj ayBJUiByZWNpZXZlciovDSAgICAgIHsNICAgICAgICAgIHByaW50ZigiSSIp Ow0gICAgICAgICAgLypSb2JvdCBkb2Vzbid0IGNhcmUgKi8NICAgICAgICAg IGJlZXAoKTsgDSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7 IA0gICAgICAgICAgYmVlcCgpOw0gICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0gDSAg ICB9DQ0gICB9DX0N ---559023410-1804928587-890546857=:21628-- number: 7 line: 1174 offset: 42400 bytes: 3044 From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA00723; Mon, 27 Jul 1998 18:34:05 -0400 Received: from theory.phys.vt.edu (theory.phys.vt.edu [128.173.176.33]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id RAA19984 for ; Mon, 27 Jul 1998 17:22:26 -0400 (EDT) Received: from localhost (wallace@localhost) by theory.phys.vt.edu (8.8.5/8.8.5) with SMTP id RAA00312 for ; Mon, 27 Jul 1998 17:22:24 -0400 (EDT) Date: Mon, 27 Jul 1998 17:22:24 -0400 (EDT) From: Mark Wallace To: handyboard@media.mit.edu Subject: sonar.c for the handyboard Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I have a handyboard and 6500 series poloroid ultrasonic ranging system. I have downloaded the sonar.c programs used to drive the transducer for distance measurements. There appears to be a problem, or atleast I think there is, with it. The sonar device is supposed to give distances of up to 35ft but the TCNC time register is 16 bit and in the program it says "if ((peekwork(0x100e)-start_time) < 0)" too much time has elapsed and it returns -1. Therefore as soon as about 32700 counts goes by, that value will go negative. I believe hex goes from 0 to 32768 then -32768 to -1. In this case the difference will be < 0 if the object is greater then about 9 ft. I have taken this out of the program and can get accurate measurements up to atleast 30 ft but I have to look at the value given and add multiples of 2^16 to it to figure out where it is. Taking this out of the program also can get you stuck if you really are out of range. I have looked on the motorola web pages to see about this clock and it says that the clock goes till it reachs $ffff and then flags somewhere that there is an overflow and then starts over. I don't know how to find out were in the chip this information might be stored. I know the TCNT time register is at 0x100e from the notes on Simplified Sonar for the Handy Board but I don't know where that overflow flag is stored. I thought that maybe by setting this flag and using it in the loop you might be about to get a greater distance out of you measurement. Another question I have is about IC. I would like to display numbers greater then 32000 and right now there are several int type variables and normal C comands don't seem to work to make a "long" or any other type that are larger then 32000. How does IC handle larger numbers? I am only a student and don't have much experience with this stuff so I would appreciate any feedback I can get on either of these problems. Thanks. Mark Wallace e-mail mawalla3@vt.edu wallace@astro.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan number: 8 line: 1232 offset: 45444 bytes: 3216 From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA15988; Mon, 3 Aug 1998 12:05:51 -0400 Received: from sps1.phys.vt.edu (sps1.phys.vt.edu [128.173.176.53]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA12381 for ; Mon, 3 Aug 1998 11:16:53 -0400 (EDT) Received: from localhost (mwallace@localhost) by sps1.phys.vt.edu (8.8.7/8.8.7) with SMTP id LAA20283; Mon, 3 Aug 1998 11:16:50 -0400 Date: Mon, 3 Aug 1998 11:16:50 -0400 (EDT) From: Mark Wallace To: alf.kuchenbuch@usa.net Cc: handyboard@media.mit.edu Subject: Re: Polaroid trouble again In-Reply-To: <35C5C521.446B@eikon.e-technik.tu-muenchen.de> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I had this same problem when I got mine a few weeks ago. I ended up putting a capacitor from pin 1 to pin 3 on U2 of the sonar driver board. I also had to take out the 1k resistor from the BINH. It kept BINH at 1 V instead of Zero and that seamed to cause problems. As for the 6 ft problem, it should be closer to 9 ft. I think the problem there is the IC code you used. If you used the code for SONAR.C from the HB web site then there is a problem with it. What that program does is take the difference in time from the internal clock. the problem is that in the code it says that if the difference between start time and currnet time is negative too much time has elapsed. Well, this has a 16 bit counter so when the difference is greater the about 32,700 it becomes negative. If you do the math, that means at about 9 ft that happens so it tell you you are out of range. The way I fixed this was to slow the clock down. I looked up information on the motorola web page and found where the prescalers were for the clock. If you want to slow it down by a factor of four you can just add this line to you program in sonar_init() bit_set(0x1024, 1); I believe bit_set(0x1024, 2); will slow it down by a factor of 8 and bit_set(0x1024, 3); will slow it down by a factor of 16. There are better ways of fixing this problem but they appear much more complicated. For example the motorola chip has an overflow flag that says when the internal clock flips. You could incorporate that into your code instead of slowing the clock down. Good luck and I hope this helps. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan On Mon, 3 Aug 1998, Alf Kuchenbuch wrote: > Hi! > I am having trouble with my Polaroid sonar: > When I keep my HB hooked up > to external power, I will only get correct readings up to 20 inches. As > soon as I use battery power without hooking it up to external power, the > readings are correct up to 6 feet, not more! This sound like EMI, I > guess. I tried all the capacitor tricks from HB mailing list, but in > vain. Do you know a fix that works? > > Alf H. Kuchenbuch > number: 9 line: 1304 offset: 48660 bytes: 1867 From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA07529; Wed, 12 Aug 1998 13:10:06 -0400 Received: from quackerjack.cc.vt.edu (root@quackerjack.cc.vt.edu [198.82.160.250]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA05729 for ; Wed, 12 Aug 1998 12:13:53 -0400 (EDT) Received: from sable.cc.vt.edu (sable.cc.vt.edu [128.173.16.30]) by quackerjack.cc.vt.edu (8.8.8/8.8.8) with ESMTP id MAA20678 for ; Wed, 12 Aug 1998 12:20:09 -0400 (EDT) Received: from research10.phys.vt.edu (dhcp9.phys.vt.edu [128.173.176.166]) by sable.cc.vt.edu (8.8.8/8.8.8) with SMTP id MAA05159 for ; Wed, 12 Aug 1998 12:13:51 -0400 (EDT) X-Sender: mawalla3@mail.vt.edu (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Wed, 12 Aug 1998 12:13:45 -0400 To: Handyboard@media.mit.edu From: Mark Wallace Subject: serial library for C++ Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, I have a handy board with poloroid transducers and I am trying use the results of my distance measurments in a C++ program on the computer. I have found programs on the handyboard web page that should alow the handyboard to transmit information over the serial line. What I am looking for is if anyone knows were I could find a serial for Microsofts Visual C++ 5.0. I would like to find one that is free or sharware but any information on any serial that will work would be appreciated. Thanks. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu web page http://sps1.phys.vt.ede/~mwallace "What a waist it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-distruction" Carl Sagan number: 10 line: 1345 offset: 50527 bytes: 1407 From aarone@sirius.com Wed Sep 30 12:35:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v4.0/1.1/06Jun95-8.2MPM) id AA09172; Wed, 30 Sep 1998 12:35:05 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id KAA02849 for ; Wed, 30 Sep 1998 10:46:53 -0400 (EDT) Received: from aarone (ppp-asfm03--129.sirius.net [205.134.240.129]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id HAA08635; Wed, 30 Sep 1998 07:46:49 -0700 (PDT) From: "Aaron Edsinger" To: "Keith - Lui" Cc: "handy" Subject: Re: output to file Date: Wed, 30 Sep 1998 10:47:58 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Yes, Write a dos/windows client that reads the serial line and then writes it to file using the C stdio library. -----Original Message----- From: Keith - Lui To: handyboard@media.mit.edu Date: Wednesday, September 30, 1998 6:55 AM Subject: output to file >Dear all, > >I would like to output some HB data to a file, is that possible? > >Keith > number: 11 line: 1389 offset: 51934 bytes: 2195 From aarone@sirius.com Wed Aug 12 13:42:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA13439; Wed, 12 Aug 1998 13:42:19 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA10630 for ; Wed, 12 Aug 1998 12:48:27 -0400 (EDT) Received: from aarone (ppp-asfm05--041.sirius.net [205.134.241.41]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id JAA20821; Wed, 12 Aug 1998 09:48:24 -0700 (PDT) From: "Aaron Edsinger" To: "Mark Wallace" Cc: "handy" Subject: Re: serial library for C++ Date: Wed, 12 Aug 1998 12:53:41 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Check out this site. It works well. The only problem I had was timing issues when trying to read and write to the port too quickly. http://www.codeguru.com/show.cgi?general=/misc/misc_toc.shtml -----Original Message----- From: Mark Wallace To: Handyboard@media.mit.edu Date: Wednesday, August 12, 1998 9:25 AM Subject: serial library for C++ >Hello, > I have a handy board with poloroid transducers and I am trying use the >results of my distance measurments in a C++ program on the computer. I >have found programs on the handyboard web page that should alow the >handyboard to transmit information over the serial line. What I am looking >for is if anyone knows were I could find a serial library for Microsofts >Visual C++ 5.0. I would like to find one that is free or sharware but any >information on any serial librarys that will work would be appreciated. >Thanks. >Mark Wallace > > e-mail mawalla3@vt.edu > mwallace@sps1.phys.vt.edu >web page http://sps1.phys.vt.ede/~mwallace > >"What a waist it would be after 4 billion tortuous years of evolution if >the dominant organism contrived its own self-distruction" > Carl Sagan > number: 12 line: 1446 offset: 54129 bytes: 4017 From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- number: 13 line: 1534 offset: 58146 bytes: 7697 From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA03667; Mon, 6 Jul 1998 11:54:19 -0400 Received: from web04.globecomm.net (web04.globecomm.net [207.51.48.104]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30534 for ; Mon, 6 Jul 1998 19:24:28 -0400 (EDT) From: brian-c@technologist.com Received: (from root@localhost) by web04.globecomm.net (8.8.8/8.8.0) id TAA03097; Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Date: Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Content-Type: multipart/mixed; boundary="0-0-0-0-0-0-0-0-____====$%&" Mime-Version: 1.0 To: Terri A Mortvedt , handyboard@media.mit.edu Subject: Re: Steppers --0-0-0-0-0-0-0-0-____====$%& Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aleve.media.mit.edu id TAA30534 Dear Terri, If the motors turn sparatically, that means the coils are probably not hooked up in the correct order. Try swapping them around and see if anything improves. The motors you are using are the bipolar type. There=20 is a decent way of hooking up unipolar steppers to the HB at http://www.cctc.demon.co.uk/stepper.htm A basic difference between bipolar and unipolar is that unipolar motors have additional wires are=20 connected to the power supply. Bipolars also have more torque. Using fd(); and bk(); commands to power steppers is probably a lot to handle. I recommend trying the=20 method found on that link. There's even sample coding. You will have to modify some variables for the turn functions because your turning radius varies according to your distance between motors. I modified the step(); function to produce a gradual=20 increase in speed, and a gradual decrease in speed once the specified steps are almost complete.=20 I will attach my motors.c file as is. _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Brian Carvalho [ brian-c@ieee.org ] DeVRY Institute New Jersey _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF --------------------------------------------------- Get free personalized email at http://www.iname.com --0-0-0-0-0-0-0-0-____====$%& Content-Type: application/octet-stream Content-disposition: inline; filename=Motors.c Content-Transfer-Encoding: base64 LyogTW90b3JzLmMgKi8NCg0KLyoqKiBERUNMQVJBVElPTlMgKioqLw0KDQppbnQgRk9SV0FSRFMg PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpYWJsZXMgZm9yIGRpcmVj dGlvbiAqLw0KaW50IEJBQ0tXQVJEUyA9IDE7DQogDQppbnQgSEFMRlRVUk4gPSA3MDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlcyBmb3IgdHVybmluZyAqLw0KaW50IFFV QVJURVJUVVJOID0gSEFMRlRVUk4gLyAyOw0KIA0KaW50IFJJR0hUID0gMjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmFsdWVzIGZvciB0dXJucyAqLw0KaW50IExFRlQgPSA4 Ow0KDQppbnQgcmlnaHRfbW90b3JfcG9pbnRlciA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBt b3RvciBjb250cm9sIHZhbHVlcyAqLw0KaW50IGxlZnRfbW90b3JfcG9pbnRlciA9IDA7DQogDQog DQppbnQgY3ljbGVfbGVuZ3RoID0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBoYWxm IHN0ZXBwaW5nIHZhbHVlcyAqLw0KaW50IGxlZnRfc3RlcF90YWJsZVs0XSA9IHs0OCw0OSw1MSw1 MH07DQppbnQgcmlnaHRfc3RlcF90YWJsZVs0XSA9IHsxOTIsMTk2LDIwNCwyMDB9Ow0KDQpsb25n IFNMT1cgPSAyNUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWlsbGlzZWNv bmQgcGF1c2VzICovDQpsb25nIEZBU1QgPSA4TDsNCg0KLyoqKiBGVU5DVElPTlMgKioqLw0KDQoN CnZvaWQgc2V0ZmFzdChsb25nIEYpDQp7DQoJCQlGQVNUID0gRjsNCn0NCg0Kdm9pZCBzZXRzbG93 KGxvbmcgUykNCnsNCgkJCVNMT1cgPSBTOw0KfQ0KDQoNCnZvaWQgc3RlcHBlcnNfb3V0KHZvaWQp DQp7DQoJCQlpbnQgY29udHJvbF9ieXRlID0gMDsNCgkJCWNvbnRyb2xfYnl0ZSArPSBsZWZ0X3N0 ZXBfdGFibGVbbGVmdF9tb3Rvcl9wb2ludGVyXTsNCgkJCWNvbnRyb2xfYnl0ZSArPSByaWdodF9z dGVwX3RhYmxlW3JpZ2h0X21vdG9yX3BvaW50ZXJdOw0KCQkJcG9rZSgweDBlLGNvbnRyb2xfYnl0 ZSk7DQp9DQoNCnZvaWQgcmlnaHRfc3RlcChpbnQgZGlyZWN0aW9uKSAgICAgICAgICAgICAgICAg IC8qIHJpZ2h0IG1vdG9yIGNvbnRyb2wgKi8NCnsNCgkJCWlmIChkaXJlY3Rpb24gPT0gRk9SV0FS RFMpDQoJCQkJCSAgcmlnaHRfbW90b3JfcG9pbnRlciArPTE7DQoJCQllbHNlDQoJCQkJCSAgcmln aHRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVuZ3RoIC0gMSk7DQoNCgkJCXJpZ2h0X21vdG9y X3BvaW50ZXIgJj0gKGN5Y2xlX2xlbmd0aCAtIDEpOw0KDQp9DQoNCnZvaWQgbGVmdF9zdGVwKGlu dCBkaXJlY3Rpb24pICAgICAgICAgICAgICAgICAgIC8qIGxlZnQgbW90b3IgY29udHJvbCovDQp7 DQoJCQlpZiAoZGlyZWN0aW9uID09IEZPUldBUkRTKQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRl ciArPSAxOw0KCQkJZWxzZQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVu Z3RoIC0gMSk7DQoNCgkJCWxlZnRfbW90b3JfcG9pbnRlciAmPSAoY3ljbGVfbGVuZ3RoIC0gMSk7 DQoNCn0NCg0Kdm9pZCBhYm91dF9mYWNlKGludCBkaXIpICAgICAgICAgICAgICAgIC8qIDE4MCBk ZWdyZWUgdHVybiBvbiBhIGRpbWUgKi8NCnsNCglpbnQgaTsNCg0KCWlmIChkaXIgPT0gUklHSFQp DQoJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2krKykNCgkJew0KCQkJbGVmdF9zdGVwKEZPUldBUkRT KTsNCgkJCXJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXN0ZXBwZXJzX291dCgpOw0KCQkJbXNs ZWVwKFNMT1cpOw0KCQkJYW8oKTsNCgkJIH0NCg0KCSBlbHNlDQoJCSBmb3IgKGk9MDtpPD1IQUxG VFVSTjtpKyspDQoJCSB7DQoJCQlsZWZ0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXJpZ2h0X3N0ZXAo Rk9SV0FSRFMpOw0KCQkJc3RlcHBlcnNfb3V0KCk7DQoJCQltc2xlZXAoU0xPVyk7DQoJCQlhbygp Ow0KCQkgIH0NCn0NCg0Kdm9pZCByaWdodF90dXJuKCkgICAgICAgICAgICAgICAgICAgICAgIC8q IDkwIGRlZ3JlZSByaWdodCB0dXJuIG9uIGEgZGltZSAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZv ciAoaT0wO2k8PVFVQVJURVJUVVJOO2krKykNCgkJCXsNCgkJCQkJICBsZWZ0X3N0ZXAoRk9SV0FS RFMpOw0KCQkJCQkgIHJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQo KTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQkJCSAgYW8oKTsNCgkJCX0NCg0KfQ0KDQp2b2lk IGxlZnRfdHVybigpICAgICAgICAgICAgICAgICAgICAgICAgLyogOTAgZGVncmVlIGxlZnQgdHVy biBvbiBhIGRpbWUgKi8NCnsNCgkJCWludCBpOw0KDQoJCQlmb3IgKGk9MDtpPD1RVUFSVEVSVFVS TjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEJBQ0tXQVJEUyk7DQoJCQkJCSAgcmlnaHRf c3RlcChGT1JXQVJEUyk7DQoJCQkJCSAgc3RlcHBlcnNfb3V0KCk7DQoJCQkJCSAgbXNsZWVwKFNM T1cpOw0KCQkJCQkgIGFvKCk7DQoJCQl9DQp9DQoNCnZvaWQgcmlnaHRfd2hlZWwoKSAgICAgICAg ICAgICAgICAgICAgICAvKiBncmFkdWFsIHJpZ2h0IHR1cm4gKi8NCnsNCgkJCWludCBpOw0KDQoJ CQlmb3IgKGk9MDtpPD1IQUxGVFVSTjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEZPUldB UkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9 DQp9DQoNCnZvaWQgbGVmdF93aGVlbCgpICAgICAgICAgICAgICAgICAgICAgICAvKiBncmFkdWFs IGxlZnQgdHVybiAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2kr KykNCgkJCXsNCgkJCQkJICByaWdodF9zdGVwKEZPUldBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19v dXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9DQp9DQoNCg0Kdm9pZCBzdGVwIChpbnQg ZGlyLCBpbnQgbnVtc3RlcHMsIGludCBkZWxheSkNCnsNCiAgICAgICAgaW50IHN0ZXAsc3RwOw0K ICAgICAgICBpbnQgYmVnaW49bnVtc3RlcHMvMTA7DQoJaW50IGNvbnRpbnVlOw0KICAgICAgICBs b25nIGdyYWQ9KGxvbmcpYmVnaW47DQoNCglzeXN0ZW1fcHdtX29mZigpOw0KDQoJZm9yIChzdGVw PTA7c3RlcDxiZWdpbjtzdGVwKyspDQoJew0KCQltc2xlZXAoZ3JhZCk7DQoJCWxlZnRfc3RlcChk aXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51ZT1z dGVwOw0KICAgICAgICAgICAgICAgIGdyYWQ9Z3JhZC0xTDsNCg0KCX0NCiAgICAgICAgd2hpbGUo Y29udGludWU8YmVnaW4qOSkNCgl7DQoJCW1zbGVlcCgobG9uZylkZWxheSk7DQoJCWxlZnRfc3Rl cChkaXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51 ZSsrOw0KICAgICAgICAgICAgICAgIHN0cD1jb250aW51ZTsNCgkgfQ0KDQogICAgICAgICB3aGls ZShzdHA8bnVtc3RlcHMpDQogICAgICAgICB7DQogICAgICAgICAgICAgIGRlbGF5PWRlbGF5KzE7 DQogICAgICAgICAgICAgIG1zbGVlcCgobG9uZylkZWxheSk7DQogICAgICAgICAgICAgIGxlZnRf c3RlcChkaXIpOw0KICAgICAgICAgICAgICByaWdodF9zdGVwKGRpcik7DQogICAgICAgICAgICAg IHN0ZXBwZXJzX291dCgpOw0KICAgICAgICAgICAgICBzdHArKzsNCiAgICAgICAgIH0NCglhbygp Ow0KDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0K --0-0-0-0-0-0-0-0-____====$%&-- Mail-Mbox-MessageParser-1.5105/t/results/reset_mailbox with space.stdout000644 000765 000024 00000013763 12521305626 026663 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 1416 From xxx8x@ares.cs.Virginia.EDU Thu Sep 13 12:30:05 2001 -0400 Return-Path: Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id MAA13111 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) Received: from localhost (bmb5v@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id MAA07898 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: xxx8x owned process doing -bs Date: Thu, 13 Sep 2001 12:30:05 -0400 (EDT) From: David Coppit To: Subject: Debugging Compiled Libraries Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO X-Status: X-Keywords: X-UID: 193 xxxxx x xxxxxxx x xxxxxx xxxxxxx xxx x xxx xx xxx xxx xxxxxxxx, xx xxxxx xxxxxx xx xxxx xxxxxxx xxx xxxx xxxx xx xxxxxxx. x'x xxxxxx xx xxxxxxx x xxxxx xxxxxxxx xx x xxxxx xxxxx xxxxx xxx xxxxxxx xxx xxx xxxxxxx xxxx xx xx xxxx xx xx xxx xxxxxxx x xxx'x xxx xx xx xxx xx x xxxxxx xxxxx xxxx xx xxxxxxxxx xxxxx xxxxx. xxx xxxxx? xxxxx xxxx xxxx xxxxx xxx xxxxx xxxxxxxxxxxxxxx, xx xxxxx (xxx) xxx-xxxx xxxxx@xxxxxxxx.xxx number: 2 line: 35 offset: 1416 bytes: 2254 From david@coppit.org Sat Sep 1 20:58 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id UAA25603 for ; Sat, 1 Sep 2001 20:58:43 -0400 (EDT) Received: from ares.cs.virginia.edu by mail.virginia.edu id aa21233; 1 Sep 2001 20:58 EDT Received: from mamba.cs.Virginia.EDU (mamba.cs.Virginia.EDU [128.143.137.15]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id UAA25598; Sat, 1 Sep 2001 20:58:40 -0400 (EDT) Received: from localhost (dwc3q@localhost) by mamba.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id UAA17581; Sat, 1 Sep 2001 20:58:38 -0400 (EDT) X-Authentication-Warning: mamba.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Sat, 1 Sep 2001 20:58:38 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: foobar@coppit.org MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: To Make an Appointment for assignment checking In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 846 Status: RO X-Status: X-Keywords: X-UID: 25 xx xxx, x xxx xxxx, xxxxxx xx xxxxx: > xx xxx xxxxxx xx xxx xxxx xxxxx, xxx xxxx xxxxx xx xxx xxxxx. > xx xxxx xxxxxxxx xxx xxxxxxxxxxx xx xxxxxxx xxxxxx xxx > xxx xxxxxxx xxx xxxx xxxxxxxx. x xxxxxxx xxxxxxxxxx, xxx xx xxxxx xxxx. xxx xxxx xxxxxxxxx xx xxxx x xxxx xx xxx xxx xxx xxxxxxxxx. xxx xxx xxxx xx xxxx xx xxxxxxx xxxxxxxx xx xxx'x xxxx. xxxx xxx xxx xxxxx xxxx xxxx xxx xx xxxxx. x xxxx xxx (xxxxxxxxxxx) xxxxxxxxx xx xxx xxxxx. xxx'xx xxxx xx xxx xxxx xxxxx xxx xxxx xxxx xx xx xxxxxxxx xx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." number: 3 line: 87 offset: 3670 bytes: 2333 From owner-cs650-discussion-fall01@virginia.edu Fri Sep 28 13:34 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id NAA04122; Fri, 28 Sep 2001 13:34:07 -0400 (EDT) Received: from Virginia.EDU by mail.virginia.edu id ab08855; 28 Sep 2001 13:33 EDT Received: from ares.cs.virginia.edu by mail.virginia.edu id ab08851; 28 Sep 2001 13:33 EDT Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id NAA04110; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) Received: from localhost (dwc3q@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id NAA01261; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Fri, 28 Sep 2001 13:33:57 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: cs650-discussion-fall01@virginia.edu MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: where is document In-Reply-To: <023b01c14839$b2f57110$30438f80@cs.virginia.edu> Message-ID: MIME-Version: 1.0 Precedence: bulk Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 840 Status: RO X-Status: X-Keywords: X-UID: 331 xx xxx, xx xxx xxxx, xxxxxxx xxxxx xxxxx: > xx xxx xxxxxxxxxx xxxx, xx xxxx 'xxxx xx xxxxxxxxx xxx xxxxxxxxx xx > xxxxxxx x.x xx xxx xxxxxxxxxxx xxxxxxxxxxxxx, xxxxxxxx xxxxx xx > xxxx...'. xxx xxxxx xx xxx xxxxxxxxxxxxx. xx'x xxxxxx xxxxxxxxx xxxx > xxxx ' xxxxxxxxxxx xxxxxxxxxxxxx' xxxxx. xxxxx xxx xxxx xx > xxxxxxxxxxxxxx. xxx xxxxxx xxxx xx xxx xxx? xxxxxx. xxxx xxx xxxxx xxxx xx xxx xxx. xxx xx-xxxxxxxxxxx xxxxxxxxxxxxx xx xx xxx xx-xxxxxxxxxxx xxxxxxxxxxxx xxxx xxx xxxxxxxx xxxx xx.xxx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." Mail-Mbox-MessageParser-1.5105/t/results/reset_mailseparators.stdout000644 000765 000024 00000013763 12503672226 026251 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 1416 From xxx8x@ares.cs.Virginia.EDU Thu Sep 13 12:30:05 2001 -0400 Return-Path: Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id MAA13111 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) Received: from localhost (bmb5v@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id MAA07898 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: xxx8x owned process doing -bs Date: Thu, 13 Sep 2001 12:30:05 -0400 (EDT) From: David Coppit To: Subject: Debugging Compiled Libraries Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO X-Status: X-Keywords: X-UID: 193 xxxxx x xxxxxxx x xxxxxx xxxxxxx xxx x xxx xx xxx xxx xxxxxxxx, xx xxxxx xxxxxx xx xxxx xxxxxxx xxx xxxx xxxx xx xxxxxxx. x'x xxxxxx xx xxxxxxx x xxxxx xxxxxxxx xx x xxxxx xxxxx xxxxx xxx xxxxxxx xxx xxx xxxxxxx xxxx xx xx xxxx xx xx xxx xxxxxxx x xxx'x xxx xx xx xxx xx x xxxxxx xxxxx xxxx xx xxxxxxxxx xxxxx xxxxx. xxx xxxxx? xxxxx xxxx xxxx xxxxx xxx xxxxx xxxxxxxxxxxxxxx, xx xxxxx (xxx) xxx-xxxx xxxxx@xxxxxxxx.xxx number: 2 line: 35 offset: 1416 bytes: 2254 From david@coppit.org Sat Sep 1 20:58 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id UAA25603 for ; Sat, 1 Sep 2001 20:58:43 -0400 (EDT) Received: from ares.cs.virginia.edu by mail.virginia.edu id aa21233; 1 Sep 2001 20:58 EDT Received: from mamba.cs.Virginia.EDU (mamba.cs.Virginia.EDU [128.143.137.15]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id UAA25598; Sat, 1 Sep 2001 20:58:40 -0400 (EDT) Received: from localhost (dwc3q@localhost) by mamba.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id UAA17581; Sat, 1 Sep 2001 20:58:38 -0400 (EDT) X-Authentication-Warning: mamba.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Sat, 1 Sep 2001 20:58:38 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: foobar@coppit.org MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: To Make an Appointment for assignment checking In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 846 Status: RO X-Status: X-Keywords: X-UID: 25 xx xxx, x xxx xxxx, xxxxxx xx xxxxx: > xx xxx xxxxxx xx xxx xxxx xxxxx, xxx xxxx xxxxx xx xxx xxxxx. > xx xxxx xxxxxxxx xxx xxxxxxxxxxx xx xxxxxxx xxxxxx xxx > xxx xxxxxxx xxx xxxx xxxxxxxx. x xxxxxxx xxxxxxxxxx, xxx xx xxxxx xxxx. xxx xxxx xxxxxxxxx xx xxxx x xxxx xx xxx xxx xxx xxxxxxxxx. xxx xxx xxxx xx xxxx xx xxxxxxx xxxxxxxx xx xxx'x xxxx. xxxx xxx xxx xxxxx xxxx xxxx xxx xx xxxxx. x xxxx xxx (xxxxxxxxxxx) xxxxxxxxx xx xxx xxxxx. xxx'xx xxxx xx xxx xxxx xxxxx xxx xxxx xxxx xx xx xxxxxxxx xx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." number: 3 line: 87 offset: 3670 bytes: 2333 From owner-cs650-discussion-fall01@virginia.edu Fri Sep 28 13:34 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id NAA04122; Fri, 28 Sep 2001 13:34:07 -0400 (EDT) Received: from Virginia.EDU by mail.virginia.edu id ab08855; 28 Sep 2001 13:33 EDT Received: from ares.cs.virginia.edu by mail.virginia.edu id ab08851; 28 Sep 2001 13:33 EDT Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id NAA04110; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) Received: from localhost (dwc3q@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id NAA01261; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Fri, 28 Sep 2001 13:33:57 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: cs650-discussion-fall01@virginia.edu MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: where is document In-Reply-To: <023b01c14839$b2f57110$30438f80@cs.virginia.edu> Message-ID: MIME-Version: 1.0 Precedence: bulk Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 840 Status: RO X-Status: X-Keywords: X-UID: 331 xx xxx, xx xxx xxxx, xxxxxxx xxxxx xxxxx: > xx xxx xxxxxxxxxx xxxx, xx xxxx 'xxxx xx xxxxxxxxx xxx xxxxxxxxx xx > xxxxxxx x.x xx xxx xxxxxxxxxxx xxxxxxxxxxxxx, xxxxxxxx xxxxx xx > xxxx...'. xxx xxxxx xx xxx xxxxxxxxxxxxx. xx'x xxxxxx xxxxxxxxx xxxx > xxxx ' xxxxxxxxxxx xxxxxxxxxxxxx' xxxxx. xxxxx xxx xxxx xx > xxxxxxxxxxxxxx. xxx xxxxxx xxxx xx xxx xxx? xxxxxx. xxxx xxx xxxxx xxxx xx xxx xxx. xxx xx-xxxxxxxxxxx xxxxxxxxxxxxx xx xx xxx xx-xxxxxxxxxxx xxxxxxxxxxxx xxxx xxx xxxxxxxx xxxx xx.xxx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." Mail-Mbox-MessageParser-1.5105/t/results/reset_malformed.stdout000644 000765 000024 00000167326 12503674227 025201 0ustar00coppitstaff000000 000000 number: 1 line: 1 offset: 0 bytes: 22612 From upi at papat.org Wed Feb 1 19:06:04 2006 From: upi at papat.org (Pasi Pirhonen) Date: Wed Feb 1 19:06:09 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XX - security update Message-ID: <20060201190604.GA4423@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Wed Feb 1 19:07:19 2006 From: upi at papat.org (Pasi Pirhonen) Date: Wed Feb 1 19:07:21 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XX - security update Message-ID: <20060201190719.GA4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Wed Feb 1 19:08:13 2006 From: upi at papat.org (Pasi Pirhonen) Date: Wed Feb 1 19:08:15 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XX - security update Message-ID: <20060201190813.GB4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 22:53:55 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 22:53:57 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XX - security update Message-ID: <1138834435.3712.96.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XX-X.X.XX-X.XX.X.XXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXX: XX-X.X.XX-X.XX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 22:54:05 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 22:54:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XX - security update Message-ID: <1138834445.3712.98.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XX-X.X.XX-X.XX.X.XXXXXX.XXX XX-X.X.XX-X.XX.X.XXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXXXX.XXX XXX: XX-X.X.XX-X.XX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 23:07:42 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 23:07:44 2006 Subject: [XXXXXX-XXXXXXXX] XXXX:XXXX-XXXX-X XXXXXX X XXXXXX XXXXXXX XXXXX / Global File System update (csgfs repo only) Message-ID: <1138835262.3712.115.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX-X XXXXXX X XXXXXX XXXXXXX XXXXX / XXXXXX XXXX XXXXXX XXXXXX XXX XXXX XX XX XXXXXX XX XXX XXXXX XXXXXXXXXX XXXX XXX XXX XXX XXXX XXXXXX-X XXXXXXXXXX. XXXX XXXX XX XXXXXX XX XXXXXXX XXXXXXX XXXXX X XXX XXXXXX XXXX XXXXXX X.X XX XXX XXX X.X.X-XX.X.X.XX XXXXXX-X XXXXXX. XX XXXXXXX XX XXX XX/XXX XXXXXXXX XX XXX XXXXXX XXXXXXXX. XXX XXXXXXXXX XXXXX XXX XXXXXXXX XXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXX-X.X.X-X.XXXXXX.XXX XXXX-XXXXX-X.X.X-X.XXXXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXXX-X.XX.XX-X.XXXXXX.XXX XXX-X.X.X-X.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXX-X.X.X-X.XXXXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.XXXXXXX.XXXXXX.XXX XXXXX-X.X.X-X.XXXXXX.XXX XXXXX-XXXXX-X.X.X-X.XXXXXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXXXXX.XXX XXXXXXXXX-X.X.XX-X.XXXXXX.XXX XXX: XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXXX-X.XX.XX-X.XXX.XXX XXX-X.X.X-X.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXX.XXX XXXXX-X.X.X-X.XXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXX.XXX XXXXXXXXX-X.X.XX-X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 23:07:44 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 23:07:46 2006 Subject: [XXXXXX-XXXXXXXX] XXXX:XXXX-XXXX-X XXXXXX X XXXX XXXXXXX XXXXX / Global File System update (csgfs repo only) Message-ID: <1138835264.3712.117.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX-X XXXXXX X XXXX XXXXXXX XXXXX / XXXXXX XXXX XXXXXX XXXXXX XXX XXXX XX XX XXXXXX XX XXX XXXXX XXXXXXXXXX XXXX XXX XXX XXX XXXX XXXXXX-X XXXXXXXXXX. XXXX XXXX XX XXXXXX XX XXXXXXX XXXXXXX XXXXX X XXX XXXXXX XXXX XXXXXX X.X XX XXX XXX X.X.X-XX.X.X.XX XXXXXX-X XXXXXX. XX XXXXXXX XX XXX XX/XXX XXXXXXXX XX XXX XXXXXX XXXXXXXX. XXX XXXXXXXXX XXXXX XXX XXXXXXXX XXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXX-X.X.X-X.XXXX.XXX XXXX-XXXXX-X.X.X-X.XXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXXX-X.XX.XX-X.XXXX.XXX XXX-X.X.X-X.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-X.X.X-X.XXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXXX-X.X.X-X.XXXX.XXX XXXXX-XXXXX-X.X.X-X.XXXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXXX.XXX XXXXXXXXX-X.X.XX-X.XXXX.XXX XXX: XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXXX-X.XX.XX-X.XXX.XXX XXX-X.X.X-X.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXX.XXX XXXXX-X.X.X-X.XXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXX.XXX XXXXXXXXX-X.X.XX-X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 18:17:59 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 18:18:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202181758.GC4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 18:23:47 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 18:23:51 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202182347.GD4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 19:37:08 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 19:37:17 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202193707.GE4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 19:39:05 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 19:39:09 2006 Subject: [XXXXXX-XXXXXXXX] XXXXXXXXXX XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX firefox - security update Message-ID: <20060202193905.GF4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXXX: XXXXXXXXXX/XXXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:23:57 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:24:01 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202212357.GA15169@sillage.bis.pasteur.fr> XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - XXXXXXXX XXXXXX XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX XXXXXXXX XXXXXX XXX XXXXXX X XXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX\* XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:27:43 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:27:46 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update Message-ID: <20060202212743.GB15169@sillage.bis.pasteur.fr> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX XXXXXXXX XXXXXX XXX XXXXXX X XXXXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXX/XXXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX\* XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:37:05 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:37:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update (CENTOSPLUS only) Message-ID: <20060202213705.GC15169@sillage.bis.pasteur.fr> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX (XXXXXXXXXX XXXX) XXXXXXXX XXXXXX XXX XXXXXX X XXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXXX: XXXXXXXXXX/XXXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:37:50 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:37:53 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update (CENTOSPLUS only) Message-ID: <20060202213750.GD15169@sillage.bis.pasteur.fr> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX (XXXXXXXXXX XXXX) XXXXXXXX XXXXXX XXX XXXXXX X XXXXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXXXXX/XXXXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXX: XXXXXXXXXX/XXXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From jnewbigin at ict.swin.edu.au Thu Feb 2 22:07:50 2006 From: jnewbigin at ict.swin.edu.au (John Newbigin) Date: Thu Feb 2 22:07:54 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX-XX: XXXXXXXXX XXXXXX X XXXX XXXXXX security update Message-ID: <43E282B6.3040801@ict.swin.edu.au> XXX XXXXXXXXX XXXXXX XXX XXXXXX-X XXXX XXXX XXXXX XXX XXXXXXXX XX XXX XXXXXX XXXXXX: XXXX-XXXX:XXXX-XX XXXXXXXXX: XXXXXX XXXXXXXX XXXXXX XXXXX XXXXXXXXX: XXXXXX-X.X.X-X.XX.XXXXXX.XXX XXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXX-X.X.X-X.XX.XXXXXX.XXX XXXXXX-XXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXX-X.X.X-X.XX.XXXX.XXX XXXX XXXXXXX XXX XXXXXXXXX XXXX XXX XXXXXX XXX XXXX XX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXXXX-XXXXXX.XXXX XXX XXXX XXX XX XXXX XXXX XXX XXX XX XX XXXX XXXX XXX XXX XXXXXX XXXXXXX XX XX XXX: # XXX XXXXXX -- XXXX XXXXXXXX XXXXXXXX XXXXXXX XXXXXXX XXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXX XXXXXXXXXX XX XXXXXXXXXX XXXXXXXXX, XXXXXXXXX XXXX://XXX.XXX.XXXX.XXX.XX/XXXXX/XXXXXXXXX number: 2 line: 661 offset: 22612 bytes: 3401 From upi at papat.org Fri Feb 3 00:31:40 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 00:31:43 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXXX - security update Message-ID: <20060203003140.GG4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From jnewbigin at ict.swin.edu.au Fri Feb 3 00:37:23 2006 From: jnewbigin at ict.swin.edu.au (John Newbigin) Date: Fri Feb 3 00:37:29 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX-XX: XXXXXXXX XXXXXX X XXXX XXXXXXX security update Message-ID: <43E2A5C3.10503@ict.swin.edu.au> XXX XXXXXXXXX XXXXXX XXX XXXXXX-X XXXX XXXX XXXXX XXX XXXXXXXX XX XXX XXXXXX XXXXXX: XXXX-XXXX:XXXX-XX XXXXXXXX: XXXXXXX XXXXXXXX XXXXXX XXXXX XXXXXXXXX: XXXXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXX XXXXXXX XXX XXXXXXXXX XXXX XXX XXXXXX XXX XXXX XX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXXXX-XXXXXX.XXXX XXX XXXX XXX XX XXXX XXXX XXX XXX XX XX XXXX XXXX XXX XXX XXXXXX XXXXXXX XX XX XXX: # XXX XXXXXX -- XXXX XXXXXXXX XXXXXXXX XXXXXXX XXXXXXX XXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXX XXXXXXXXXX XX XXXXXXXXXX XXXXXXXXX, XXXXXXXXX XXXX://XXX.XXX.XXXX.XXX.XX/XXXXX/XXXXXXXXX number: 3 line: 755 offset: 26013 bytes: 34995 From johnny at centos.org Fri Feb 3 02:54:57 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:54:59 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <1138935297.8942.16.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Fri Feb 3 02:55:08 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:55:10 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update Message-ID: <1138935308.8942.17.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXXX.XXX XXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Fri Feb 3 02:56:01 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:56:03 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update Message-ID: <1138935361.8942.18.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Fri Feb 3 02:56:03 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:56:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <1138935363.8942.19.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 04:48:39 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 04:48:52 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XXXXXXX - security update Message-ID: <20060203044839.GH4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.X-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXX/XXXXXXX-X.X.X-X.X.XXXX.XXXXXXX.XXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 04:58:35 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 04:58:43 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XXXXXXX - security update Message-ID: <20060203045835.GI4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXX/XXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 14:50:00 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 14:50:10 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXXX - security update Message-ID: <20060203145000.GJ4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 14:57:25 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 14:57:27 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXXX - security update Message-ID: <20060203145725.GK4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 15:02:13 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 15:02:16 2006 Subject: [XXXXXX-XXXXXXXX] XXXXXXXXXX XXXX-XXXX:XXXX XXXXXXXX XXXXXX X s390(x) firefox - security update Message-ID: <20060203150213.GL4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 10 22:21:21 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 10 22:21:23 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <20060210222121.GM4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 10 22:48:28 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 10 22:48:30 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXX XXXXXX - security update Message-ID: <20060210224828.GN4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 10 22:58:39 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 10 22:58:42 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX(X) XXXXXX - security update Message-ID: <20060210225839.GO4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Sun Feb 12 01:21:58 2006 From: johnny at centos.org (Johnny Hughes) Date: Sun Feb 12 01:22:00 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXXXX XXXXXX - security update Message-ID: <1139707318.21151.76.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXX-X.X.XX-X.X.X.XXXXXX.XXX XXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXX.XXX XXX: XXXXXX-X.X.XX-X.X.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Sun Feb 12 01:22:09 2006 From: johnny at centos.org (Johnny Hughes) Date: Sun Feb 12 01:22:12 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <1139707329.21151.78.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXX-XXXXX-X.X.XX-X.X.X.XXXX.XXX XXX: XXXXXX-X.X.XX-X.X.X.XXXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:47:20 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:47:22 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXX - security update Message-ID: <1139852840.10641.32.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXX-X.XX-XX.XX.XXXXXX.XXX XXX XXXX-X.XX-XX.XX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:47:32 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:47:34 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXX - security update Message-ID: <1139852852.10641.33.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXX-X.XX-XX.XX.XXXX.XXX XXX XXXX-X.XX-XX.XX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:50:51 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:50:54 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <1139853051.10641.37.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXX.XXX XXX: XXXXXX-X.X.X-X.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:50:57 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:50:59 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <1139853057.10641.38.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXX-X.X.X-X.XXX.X.XXXXXX.XXX XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXXXXXXX XXX: XXXXXX-X.X.X-X.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:53:27 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:53:30 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX kdegraphics - security update Message-ID: <1139853207.10641.42.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXXX-X.X.X-X.X.XXXX.XXX XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXX.XXX XXX: XXXXXXXXXXX-X.X.X-X.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:53:40 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:53:42 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXXXX kdegraphics - security update Message-ID: <1139853220.10641.43.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXXX-X.X.X-X.X.XXXXXX.XXX XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXXXX.XXX XXX: XXXXXXXXXXX-X.X.X-X.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:56:43 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:56:45 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXXXX XXXXX - security update Message-ID: <1139853403.10641.46.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXX-X.X.X-XX.XXX.X.XXXXXX.XXX XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXXXX.XXX XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX-XXXX-X.X.X-XX.XXX.X.XXXXXX.XXX XXX: XXXXX-X.X.X-XX.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:56:53 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:56:55 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXX XXXXX - XXXXXXXX update Message-ID: <1139853413.10641.48.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX XXX: XXXXX-X.X.X-XX.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 18:00:54 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 18:00:56 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXXXX XXXX - security update Message-ID: <1139853654.10641.49.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXX-X.XX-XX.XX.XXXXXX.XXX XXX XXXX-X.XX-XX.XX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 18:02:24 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 18:02:26 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXX - security update Message-ID: <1139853744.10641.52.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXX-X.X.X-X.XXX.X.XXXXXX.XXX XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXXX.XXX XXX: XXXXXX-X.X.X-X.XXX.X.XXX.XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX-XXXXXXXX XXXXXXX XXXX XXXXXX-XXXXXXXX@XXXXXX.XXX XXXX://XXXXX.XXXXXX.XXX/XXXXXXX/XXXXXXXX/XXXXXX-XXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:35:45 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:35:51 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXX - security update Message-ID: <20060214023545.GP4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXX-X.XX-XX.XX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:37:22 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:37:25 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX kdegraphics - security update Message-ID: <20060214023722.GQ4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:38:16 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:38:19 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <20060214023816.GR4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:40:00 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:40:03 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXX XXXXX - XXXXXXXX update Message-ID: <20060214024000.GS4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:40:36 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:40:38 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXX XXXX - security update Message-ID: <20060214024036.GT4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXX-X.XX-XX.XX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:41:28 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:41:30 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXX XXXXXXXXXXX - security update Message-ID: <20060214024128.GU4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:42:22 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:42:24 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XXXXXX - security update Message-ID: <20060214024222.GV4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:43:15 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:43:18 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXX XXXXX - XXXXXXXX update Message-ID: <20060214024315.GW4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:44:28 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:44:32 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX(X) XXXX - security update Message-ID: <20060214024428.GX4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXX-X.XX-XX.XX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXX-X.XX-XX.XX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:45:13 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:45:17 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX(X) kdegraphics - security update Message-ID: <20060214024513.GY4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:46:08 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:46:11 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXX - security update Message-ID: <20060214024608.GZ4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:46:56 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:46:59 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXX(X) XXXXX - security update Message-ID: <20060214024656.GA4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX Mail-Mbox-MessageParser-1.5105/t/results/reset_newlines_at_beginning.stdout000644 000765 000024 00000004567 12503672226 027555 0ustar00coppitstaff000000 000000 number: 1 line: 2 offset: 1 bytes: 2382 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Message-Id: <359A5C2E.202B4BA3@comp.uark.edu> Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== Mail-Mbox-MessageParser-1.5105/t/mailboxes/binary_body.txt000644 000765 000024 00000005227 12503672226 024075 0ustar00coppitstaff000000 000000 From gerry@wongfaye.com Sun Dec 26 20:47:37 2004 Return-Path: Received: from bandsman.co.uk (gateway.bandsman.co.uk [192.168.1.1]) by sian.bandsman.co.uk (8.13.1/8.12.10) with ESMTP id iBQL9pYT024672 for ; Sun, 26 Dec 2004 21:09:52 GMT Received: from 218.239.184.234 ([218.239.184.234]) by bandsman.co.uk (8.12.8/8.12.8) with SMTP id iBQL9Ts2027649 for ; Sun, 26 Dec 2004 21:09:44 GMT Date: Sun, 26 Dec 2004 20:47:37 +0000 From: =?Windows-1251?B?0OXq6+Ds7e7lIO/w5eTr7ubl7ejl?= X-Mailer: The Bat! (v2.01) Reply-To: =?Windows-1251?B?0OXq6+Ds7e7lIO/w5eTr7ubl7ejl?= X-Priority: 3 (Normal) Message-ID: <193350569.20041226205237@> To: njh@bandsman.co.uk Subject: =?Windows-1251?B?0OXq6+Ds4DogxOjn4OntIOTr/yDC4PEhISE=?= MIME-Version: 1.0 Content-Type: text/plain; charset=Windows-1251 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.1 required=5.0 tests=ALL_TRUSTED,BAYES_80, INVALID_MSGID,MSGID_NO_HOST,PLING_PLING autolearn=no version=3.0.1 X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on sian.bandsman.co.uk X-Virus-Scanned: ClamAV devel-20041222/643/Sat Dec 25 22:47:31 2004 on sian.bandsman.co.uk X-Virus-Status: Clean Received-SPF: none (bandsman.co.uk: domain of gerry@wongfaye.com does not designate permitted sender hosts) X-UID: 195446 X-Length: 2697 ! ! , / ! 300 . ... ! 2800 . ///// :))) ( :)) , - 450 .. ... "" (25 ..) 2500 .. , , - . - ( ) 500 .. , Corbis, Fotobank . 70 .. - ! 700 .. ! ! , ! ! , -!!! ! ! ! .: (095) 101-3527 , ! , , , : otkaz2000@yahoo.com , . 20 . Mail-Mbox-MessageParser-1.5105/t/mailboxes/hessbug.txt000644 000765 000024 00000001175 12503672226 023232 0ustar00coppitstaff000000 000000 From VM Mon Mar 1 17:26:34 2004 Message-ID: <403B2ED7.8050407@none.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040300050603040500030007" From: Dr. No To: bug@bug.debian Subject: bug report Date: Tue, 24 Feb 2004 12:00:39 +0100 This is a multi-part message in MIME format. --------------040300050603040500030007 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Bien cordialement tous. Dr. No --------------040300050603040500030007 Content-Type: text/plain; charset=us-ascii [Deleted Word document] --------------040300050603040500030007-- Mail-Mbox-MessageParser-1.5105/t/mailboxes/invalid-boundaries.txt000644 000765 000024 00000104040 12503672226 025344 0ustar00coppitstaff000000 000000 From realtyseguros@jmail.co.za Thu Jun 1 10:25:40 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: ********** X-Spam-Status: Yes, score=11.0 required=3.0 tests=ADVANCE_FEE_1,ADVANCE_FEE_2, ADVANCE_FEE_3,BAYES_99,DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST, UNDISC_RECIPS autolearn=no version=3.1.0 X-Spam-Report: * 0.8 UNDISC_RECIPS Valid-looking To "undisclosed-recipients" * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 1.7 DNS_FROM_RFC_POST RBL: Envelope sender in * postmaster.rfc-ignorant.org * 1.4 ADVANCE_FEE_2 Appears to be advance fee fraud (Nigerian 419) * 3.3 ADVANCE_FEE_3 Appears to be advance fee fraud (Nigerian 419) * 0.0 ADVANCE_FEE_1 Appears to be advance fee fraud (Nigerian 419) Delivered-To: user@paradise.net.nz X-Envelope-To: user@paradise.net.nz Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 10:25:40 +1200 (NZST) Received: (qmail 9071 invoked from network); 31 May 2006 14:25:07 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-2.paradise.net.nz) (203.96.152.172) by internal-pop3-1.paradise.net.nz with SMTP; 31 May 2006 14:25:07 -0000 Received: from smtp-1.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0J040013NW1R9I@linda-2.paradise.net.nz> for user@paradise.net.nz; Thu, 01 Jun 2006 02:25:03 +1200 (NZST) Received: from sentechsa.net (unknown [66.18.69.76]) by smtp-1.paradise.net.nz (Postfix) with ESMTP id B77036DCAD9 for ; Thu, 01 Jun 2006 02:25:01 +1200 (NZST) Received: from [88.8.140.233] (account realtyseguros@jmail.co.za) by cgp8.sentechsa.net (CommuniGate Pro WebUser 4.3.8) with HTTP id 23547502; Wed, 31 May 2006 16:24:50 +0200 Date: Wed, 31 May 2006 16:24:50 +0200 From: realty seguros Subject: **SPAM 11.0** URGENT To: undisclosed-recipients: ; Message-id: MIME-version: 1.0 X-Mailer: CommuniGate Pro WebUser Interface v.4.3.8 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 8BIT X-SpamCatcher-Score: 30 [XXXX] X-Spam-Prev-Subject: URGENT Status: O Content-Length: 1932 Lines: 77 Customer Services ACCL. Inter Cooperate Head Office Spain, Ref: ES/9420X2/T008 Batch: ES/05/M009 31st May, 2006 INITIATION OF AWARD CLAIM PROCESSES We are pleased to inform you of the result of our 2006 International prize Award. Your email address, attached to ticket number 04142331354124, with serial number 5368/02 drew the lucky numbers 37-13-34-85-56-42, won in category C (third category). CONGRATULATIONS!!! You have therefore been approved for a lump sum pay of 150,000.00 Euros credited to security file number ES/4080318306/AL. This is from total prize money of E15,000,000.00 shared among the ten(10) international winners in all categories. All participants were selected through a computer ballot system drawn from 30,000 names from Australia, New Zealand, Africa, America, Asia, Europe,USA and North America as part our International Promotions Program, which is conducted annually. CONGRATULATIONS! Your fund is now insured awaiting claim. Due to the mix up of some numbers and names, we ask that you keep this award strictly from public notice until your claim has been processed and your money remitted to your account. This is part of our security protocol to avoid double claiming. You are at this point advised to contact our claims officer below to begin your claim: Name: MR MIGUEL FREY Email . realtyseguros@excite.com Tel:+ +34 692 354 358 You will be given a form to complete and return same to our lawyer whose details will be given after you have confirmed the receipt of this winning notification .He will thereafter forward claims to any one of our appointed financial trustees.You are advised to initiate contact with our agent within three weeks of the receipt of this mail. Any prize whose collection is not initiated within the stipulated time will be deemed unclaimed. Yours Sincerely, Mrs.Maria Gonzales For Claims Manager From vap@atlantic-ploughshares.com Thu Jun 1 10:26:21 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: ********************* X-Spam-Status: Yes, score=21.1 required=3.0 tests=BAYES_99,EXTRA_MPART_TYPE, HTML_90_100,HTML_IMAGE_ONLY_08,HTML_MESSAGE,MIME_HTML_MOSTLY, RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_NJABL_DUL,RCVD_IN_SORBS_DUL, RCVD_IN_XBL autolearn=spam version=3.1.0 X-Spam-Report: * 1.1 EXTRA_MPART_TYPE Header has extraneous Content-type:...type= entry * 1.3 HTML_90_100 BODY: Message is 90% to 100% HTML * 1.1 MIME_HTML_MOSTLY BODY: Multipart message mostly text/html MIME * 1.5 HTML_MESSAGE BODY: HTML included in message * 3.1 HTML_IMAGE_ONLY_08 BODY: HTML: images with 400-800 bytes of words * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 2.0 RCVD_IN_SORBS_DUL RBL: SORBS: sent directly from dynamic IP address * [24.58.96.194 listed in dnsbl.sorbs.net] * 1.6 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net * [Blocked - see ] * 3.9 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL * [24.58.96.194 listed in sbl-xbl.spamhaus.org] * 1.9 RCVD_IN_NJABL_DUL RBL: NJABL: dialup sender did non-local SMTP * [24.58.96.194 listed in combined.njabl.org] Delivered-To: user@paradise.net.nz X-Envelope-To: user@paradise.net.nz Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 10:26:21 +1200 (NZST) Received: (qmail 17558 invoked from network); 31 May 2006 16:53:38 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-2.paradise.net.nz) (203.96.152.172) by internal-pop3-1.paradise.net.nz with SMTP; 31 May 2006 16:53:38 -0000 Received: from smtp-3.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0J050048M2XEMU@linda-2.paradise.net.nz> for user@paradise.net.nz; Thu, 01 Jun 2006 04:53:38 +1200 (NZST) Received: from cpe-24-58-96-194.twcny.res.rr.com (cpe-24-58-96-194.twcny.res.rr.com [24.58.96.194]) by smtp-3.paradise.net.nz (Postfix) with SMTP id CDB5F165FC15 for ; Thu, 01 Jun 2006 04:53:36 +1200 (NZST) Received: from bhucz.oisjk ([24.58.176.176]) by cpe-24-58-96-194.twcny.res.rr.com (8.13.5/8.13.5) with SMTP id k4VGsvGI004509; Wed, 31 May 2006 12:54:57 -0400 Date: Wed, 31 May 2006 12:52:18 -0400 From: Lucas Downey Subject: **SPAM 21.1** haste To: user@paradise.net.nz Message-id: <000c01c684d2$b80a9e70$b0b03a18@bhucz.oisjk> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1158 X-Mailer: Microsoft Outlook Express 6.00.2800.1158 Content-type: multipart/related; boundary="----=_NextPart_000_0008_01C684B1.30F8FE30"; type="multipart/alternative" X-Priority: 3 X-MSMail-priority: Normal X-Spam-Prev-Subject: haste Status: O Content-Length: 2207 Lines: 56 This is a multi-part message in MIME format. ------=_NextPart_000_0008_01C684B1.30F8FE30 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0009_01C684B1.30F8FE40" ------=_NextPart_001_0009_01C684B1.30F8FE40 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable ------=_NextPart_001_0009_01C684B1.30F8FE40 Content-Type: text/html; charset="windows-1252" Content-Transfer-Encoding: quoted-printable
3D""
------=_NextPart_001_0009_01C684B1.30F8FE40-- ------=_NextPart_000_0008_01C684B1.30F8FE30 Content-Type: image/gif; name="demo.gif" Content-Transfer-Encoding: base64 Content-ID: <000701c684d2$b80a9e20$b0b03a18@bhucz.oisjk> R0lGODdhWQNZAaUAAP///xYTAevl8U5ERyIyPQEPHo+Elmp+crWkrd7WwCYqIFNPR451iJqbpFaC QU4NTNTniIby89vJeekQZnqAJIGog5F3sgHZwTAvRHF+Ub1TOUbZLDq19bOeBhoZhz+aMMMsp3Ut gTddsXvOL82MggfTXDMOEinCsC/cybccZOffkY5Vvw+NHMEJ6/DXeHPeTNARWuI6HJNq+V0hFcII 9VOXSxKn2S9o4htZuQAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAWQNZAQAG/kCBcEgsGo/IpHLJ SOMEDELETEDHERE OBUlBLAh8eHpwS0pCgpMHm1a9j1tulVK3nmKjp16qoKF+q1ydWqWvsLO0grlFeWS3rLa9ibFAg8T k7khIEYuCX8hMA5UJhzK0jEfuQq1jiodJ2djq2UORRUNEPwSWRthj0/XMaqhBiALJGCpq5vlf/dt G+2HSRWQXTFg2gpysgWQ2MIzBAmmQ4ewSMNeFSdiLPZI0ThGBehdYXTgnEc/9p7hCmBgQAB39fwM KLCogJ9T/jGNnCTAhmQjATxlrWyJyCPIlxy/0TlQad6TAW7iBRL5c5w5nYsCMCJCgCadTInUOGNU FCmUAEd/jtxq5WeTrchorixwAEHMaW0/CoDL8tBPA4wIFP35dK+QtICm5p2jVyhNJxvrVY0kqrHR ekSNxGSk2I9fsUOqzuVqgKuAzoCFmH5rMnLKoNNSE6GcyChXwSoJD4G71bJb1H9Vx410FyRoxGxZ x75dgI1umTmx+DV5OSqBkVi3rkaZ2LVvz0SeX80aHrDo2tcRlN/s1/n0jr1lm+WNdzHf66V/FzFs pbn8ovSTaYdYRgMSaIdZIJ022iJYPDLJKVb5dA9Tcnwn/pMs/ciyFQH+QAghO60gQ6FPIVqYRQAH 9oGdHgJJspYyVjX4S4dsQCRKg4U55scBJSJC2hEG4nXhS6i9sUmCMnUjR4h3HCnLkkI+QocBRY ***** ===> msg truncated after 20 kbytes (antispam.rc) ***** From Michael@aon.at Thu Jun 1 10:26:50 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: **************** X-Spam-Status: Yes, score=16.3 required=3.0 tests=BAYES_50,DNS_FROM_RFC_ABUSE, FROM_NO_LOWER,HTML_40_50,HTML_MESSAGE,SUBJ_HAS_UNIQ_ID,URIBL_JP_SURBL, URIBL_OB_SURBL,URIBL_SC_SURBL,URIBL_WS_SURBL autolearn=no version=3.1.0 X-Spam-Report: * 0.1 FROM_NO_LOWER From address has no lower-case characters * 0.2 SUBJ_HAS_UNIQ_ID Subject contains a unique ID * 0.5 HTML_40_50 BODY: Message is 40% to 50% HTML * 1.5 HTML_MESSAGE BODY: HTML included in message * 0.0 BAYES_50 BODY: Bayesian spam probability is 40 to 60% * [score: 0.5906] * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 4.1 URIBL_JP_SURBL Contains an URL listed in the JP SURBL blocklist * [URIs: owaguide.com] * 2.1 URIBL_WS_SURBL Contains an URL listed in the WS SURBL blocklist * [URIs: owaguide.com] * 3.0 URIBL_OB_SURBL Contains an URL listed in the OB SURBL blocklist * [URIs: owaguide.com] * 4.5 URIBL_SC_SURBL Contains an URL listed in the SC SURBL blocklist * [URIs: owaguide.com] Delivered-To: user@paradise.net.nz X-Envelope-To: user@paradise.net.nz Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 10:26:50 +1200 (NZST) Received: (qmail 24160 invoked from network); 31 May 2006 19:18:09 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-5.paradise.net.nz) (203.96.152.172) by internal-pop3-4.paradise.net.nz with SMTP; 31 May 2006 19:18:09 -0000 Received: from smtp-2.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-5.paradise.net.nz (Paradise.net.nz) with ESMTP id <0J050080L9M97X@linda-5.paradise.net.nz> for user@paradise.net.nz; Thu, 01 Jun 2006 07:18:09 +1200 (NZST) Received: from pool-151-196-27-57.balt.east.verizon.net (pool-151-196-27-57.balt.east.verizon.net [151.196.27.57]) by smtp-2.paradise.net.nz (Postfix) with SMTP id 8B3963208E3 for ; Thu, 01 Jun 2006 07:18:08 +1200 (NZST) Date: Wed, 31 May 2006 15:18:08 -0400 From: Daniel Subject: **SPAM 16.3** owaguide.com/?23561194 To: user@paradise.net.nz Message-id: <60E3B2B3.0429197@panhandle.rr.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary=------------090602060506090900030105 X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050716) X-Spam-Prev-Subject: owaguide.com/?23561194 Status: O Content-Length: 2480 Lines: 71 This is a multi-part message in MIME format. --------------090602060506090900030105 Content-Type: text/plain; charset=windows-1251; format=flowed Content-Transfer-Encoding: 8bit Hi, C i A L / S X & N A X V / A G R A V A L / U M P R O Z & C L E V / T R A A M B / E N M E R / D / A S O M & [1]net/?23878966 'gage rate or for de'bt consolidation ecord) of Kansas complained about the CIA's performance on Iraq. While "nobody bats 1,000 in the intelligence world," Roberts cited "a terribly flawed trade craft" in the CIA's intelligence suggestin idden loan costs list, he said. ons have been made by policymakers in the U.S. government who are most knowledagble about al-Qaida. References 1. file://localhost/home/cmf2/tasks/s_fr/net/?23878966 --------------090602060506090900030105 Content-Type: text/html; charset=windows-1251 Content-Transfer-Encoding: 8bit owaguide.com/?23561194
Hi,
C i A L / S
X & N A X
V / A G R A
V A L / U M
P R O Z & C
L E V / T R A
A M B / E N
M E R / D / A
S O M &






knowledged a series of intelligence failures in the months preceding the U.S. attack on Iraq and promised that if confirmed by the Senate he would take steps to guard against a repeat of such errors.
ons have been made by policymakers in the U.S. government who are most knowledagble about al-Qaida.
knowledged a series of intelligence failures in the months preceding the U.S. attack on Iraq and promised that if confirmed by the Senate he would take steps to guard against a repeat of such errors.
list, he said.
and promised that if confirmed by the Senate he would take steps to guard against a repeat of such errors.

--------------090602060506090900030105-- From carissaxo0u@hotmail.com Thu Jun 1 11:16:14 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: *************** X-Spam-Status: Yes, score=15.6 required=4.2 tests=BAYES_99,DATE_IN_PAST_06_12, DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST,FORGED_HOTMAIL_RCVD, FORGED_RCVD_HELO,HTML_10_20,HTML_MESSAGE,HTML_OBFUSCATE_10_20, MIME_HTML_ONLY,RCVD_IN_XBL autolearn=spam version=3.1.0 X-Spam-Report: * 0.1 FORGED_RCVD_HELO Received: contains a forged HELO * 0.8 DATE_IN_PAST_06_12 Date: is 6 to 12 hours before Received: date * 2.3 FORGED_HOTMAIL_RCVD Forged hotmail.com 'Received:' header found * 1.8 HTML_OBFUSCATE_10_20 BODY: Message is 10% to 20% HTML obfuscation * 0.0 HTML_MESSAGE BODY: HTML included in message * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 1.4 HTML_10_20 BODY: Message is 10% to 20% HTML * 0.0 MIME_HTML_ONLY BODY: Message only has text/html MIME parts * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 3.9 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL * [70.232.5.226 listed in sbl-xbl.spamhaus.org] * 1.7 DNS_FROM_RFC_POST RBL: Envelope sender in * postmaster.rfc-ignorant.org Received: from mail.orcon.net.nz [219.88.242.10] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 11:16:14 +1200 (NZST) Received: from SMART99.8snj.com (70-232-5-226.smartmtgs.net [70.232.5.226]) by dbmail-mx3.orcon.co.nz (8.13.6/8.13.6/Debian-1) with ESMTP id k4V1OtJ3024493; Wed, 31 May 2006 13:25:03 +1200 Received: from unknown (HELO mx2.hotmail.com) (65.54.245.40) by SMART99.8snj.com with SMTP; Tue, 30 May 2006 20:12:09 +0600 From: "Michael" To: Subject: **SPAM 15.6** SPAM: pay attention to the email "HYWI.P K" Recently added Date: Tue, 30 May 2006 20:12:09 +0600 MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Thread-Index: lHIkdIlLvV7b1HaMwJAJnCS4A4Q7mpeXCp9x Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.2, clamav-milter version 0.88.2 on dbmail-mx3.orcon.co.nz X-Virus-Status: Clean X-DSPAM-Improbability: 1 in 150 chance of being ham X-DSPAM-Confidence: 0.5988 X-DSPAM-Probability: 1.0000 Message-ID: X-Spam-Prev-Subject: SPAM: pay attention to the email "HYWI.P K" Recently added Status: O Content-Length: 1711 Lines: 21 sstock analysis and short term recommendations

Earn more with sstock prices going to the roof


Get HYWI.PK First Thing Tomorrow, This sotck Going To Explode!


Check out for Hot News!
Hollywood Intermediate, Inc.



Symbol: HYWI.PK
Current price: 1.30$ and Should be at 2.00-2.10 on Wednesday
Don't forget to buy and earn on this stcok!

Current sttock data analyzed by experts for earning more

Read great new on this sotck





____________________________

A fair exchange is no robbery. Marry in haste, and repent at leisure Better to be envied than pitied He that stays in the valley shall never get over the hill! At the end of the game, the King and the pawn go back in the same box A proverb never lies, it is only its meaning which deceives. Listen to advice and accept instruction, and in the end you will be wise

Opportunities always look bigger going than coming A drowning man will clutch at straws.
Never eat an oyster unless there is an R in the month Make love not war What you see in yourself is what you see in the world Man cannot live on bread alone
Might as well be hanged for a sheep as a lamb . Have you ever noticed? anybody going slower than you is an idiot, and anyone going faster than you is a maniac Every Soldier has the Baton of a Field Marshal in his Knapsack To err is human, to forgive divine When two big bottle deh ah table lil one nah business deh.

From dabiniznc@hotmail.com Thu Jun 1 11:16:18 2006 Return-Path: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on linux.site X-Spam-Level: ************** X-Spam-Status: Yes, score=14.1 required=4.2 tests=BAYES_99, DATE_IN_FUTURE_06_12,DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST, FORGED_HOTMAIL_RCVD2,INVALID_DATE,INVESTMENT_ADVICE autolearn=spam version=3.1.0 X-Spam-Report: * 2.2 INVALID_DATE Invalid Date: header (not RFC 2822) * 1.7 DATE_IN_FUTURE_06_12 Date: is 6 to 12 hours after Received: date * 1.2 FORGED_HOTMAIL_RCVD2 hotmail.com 'From' address, but no 'Received:' * 3.7 INVESTMENT_ADVICE BODY: Message mentions investment advice * 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% * [score: 1.0000] * 0.2 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org * 1.7 DNS_FROM_RFC_POST RBL: Envelope sender in * postmaster.rfc-ignorant.org Received: from mail.orcon.net.nz [219.88.242.10] by localhost with POP3 (fetchmail-6.2.5.2) for user@localhost (single-drop); Thu, 01 Jun 2006 11:16:17 +1200 (NZST) Received: from smtp2.orcon.net.nz (smtp2.orcon.net.nz [219.88.242.60]) by dbmail-mx2.orcon.net.nz (8.13.6/8.13.6/Debian-1) with ESMTP id k4V6qsXV032243 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 31 May 2006 18:53:43 +1200 Received-SPF: none Received: from TEACHER (ppp-58.10.219.253.revip2.asianet.co.th [58.10.219.253]) by smtp2.orcon.net.nz (8.13.6/8.13.6/Debian-1) with ESMTP id k4V29r6L016910; Wed, 31 May 2006 14:10:37 +1200 Message-Id: <200605310210.k4V29r6L016910@smtp2.orcon.net.nz> From: "Jamar" To: Subject: **SPAM 14.1** SPAM: proceed to watching HYWI.PK see it working out Date: Wen, 31 May 2006 09:10:36 -0700 MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Thread-Index: 7sMMS0A4Mj9lyLtz1EE9JzAN7hUqrYN5uVCv Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.2, clamav-milter version 0.88.2 on dbmail-mx2.orcon.net.nz X-Virus-Status: Clean X-DSPAM-Improbability: 1 in 120 chance of being ham X-DSPAM-Confidence: 0.5434 X-DSPAM-Probability: 1.0000 X-Spam-Prev-Subject: SPAM: proceed to watching HYWI.PK see it working out Status: O Content-Length: 1549 Lines: 29 Beneficial cooperation based on expert stokc advice Get HYWI First Thing on MOnday, This sotck Going To Explode for at least 30% Check out for Hot News! Hollyowod Intremediate, Inc. Symbol: H Y W I Current prise: $1.28 , but will increase at least 30-50 % on Monday! More earning opportunities with expert stokc analysis Let your trading profits jump with insider stokc info Don't forget to include this sotck to you daily trade! stokc market highlights and investment advice Read great news on this stcok A quarrelsome wife is like a constant dripping on a rainy day. He shall die without instruction; and in the greatness of his folly he shall go astray. April is the cruellest month Hatred stirs up dissension, but love covers over all wrongs Sticks and stones may break my bones but names will never hurt me Flies never visit an egg that has no crack You can throw a cat however you want; it always lands on its feet A Good Tongue is a Good Weapon. A conscience is what hurts when all your other parts feel so good. Hard work never did anyone any harm Still waters run deep They that dance must pay the fiddler Lest strangers be filled with thy wealth; and thy labours be in the house of a stranger. A friend in need is a friend indeed. Promises are like babies Easy to make, hard to deliver He knows best what good is that has endured evil Sex takes up the least amount of time and causes the most amount of trouble Man strength deh ah he hand, woman strength deh a she mouth. Rain, Rain, go away, come back another day From linux-kernel-owner@vger.kernel.org Sun Jun 11 20:15:20 2006 Return-path: Envelope-to: ed@localhost Delivery-date: Sun, 11 Jun 2006 20:15:20 +0200 Received: from localhost ([127.0.0.1] helo=zombie) by zombie with esmtp (Exim 4.62) (envelope-from ) id 1FpUT2-0002YV-Pj for ed@localhost; Sun, 11 Jun 2006 20:15:20 +0200 X-Flags: 0000 Delivered-To: GMX delivery to edi@gmx.de Received: from pop.gmx.net [213.165.64.22] by zombie with POP3 (fetchmail-6.3.4) for (single-drop); Sun, 11 Jun 2006 20:15:20 +0200 (CEST) Received: (qmail invoked by alias); 11 Jun 2006 18:14:27 -0000 Received: from vger.kernel.org (EHLO vger.kernel.org) [209.132.176.167] by mx0.gmx.net (mx010) with SMTP; 11 Jun 2006 20:14:27 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750726AbWFKSHr (ORCPT + 47 others); Sun, 11 Jun 2006 14:07:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750732AbWFKSHr (ORCPT ); Sun, 11 Jun 2006 14:07:47 -0400 Received: from anchor-post-35.mail.demon.net ([194.217.242.85]:57093 "EHLO anchor-post-35.mail.demon.net") by vger.kernel.org with ESMTP id S1750726AbWFKSHq (ORCPT ); Sun, 11 Jun 2006 14:07:46 -0400 Received: from superbug.demon.co.uk ([80.176.146.252] helo=[192.168.0.10]) by anchor-post-35.mail.demon.net with esmtp (Exim 4.42) id 1FpULh-0006ET-Gr for linux-kernel@vger.kernel.org; Sun, 11 Jun 2006 18:07:45 +0000 Message-ID: <448C5BF0.7070601@superbug.demon.co.uk> Date: Sun, 11 Jun 2006 19:07:44 +0100 From: James Courtier-Dutton User-Agent: Thunderbird 1.5.0.4 (X11/20060609) MIME-Version: 1.0 To: linux-kernel@vger.kernel.org Subject: Video drivers and System Management mode. X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-GMX-Antivirus: -1 (not scanned, may not use virus scanner) X-GMX-Antispam: 0 (Mail was not recognized as spam) X-GMX-UID: 6zDuEJxMbXBtk3baMTQ2YoEqLyUmZQiV Hi, I know we all laugh about the windows blue screen of death, but to be fair, when Linux oops, it is not even able to display anything on the screen, unless in dump terminal mode. I.e. Not X or some other GUI. Are there any plans to implement a sort of interactive system management mode, that would pop up a window when Linux oops. Something like the program called SoftICE for windows would be a nice addition to Linux, and help with kernel development. For those who don't know what SoftICE does, when windows wishes to display a blue screen of death (BSOD), SoftICE pops up a window showing a disassembly of the point where the crash happened, and allows users to type commands on the keyboard that will display extra information. SoftICE also has a hot key, so the user can cause it to pop up at any time they wish. During the pop-up, the entire OS is halted, and the only commands possible are within the pop-up window. Another command exits the pop-up and returns control to the OS. I imagine that this feature would be tightly linked with the work currently being done to unite all the different video drivers. Unfortunately, I think work could take a long time. For example, on my nvidia based card, even the kernel frame buffer drivers either fail to display anything, or fail to scroll up the screen when a new printk happens. I am not attending the KS this year, but I do hope that all the interested parties can use a BOF session to come to some agreement on the way forward, I would then be able to make useful contributions to at least get my system working with whatever new model is decided on. James - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ From linux-kernel-owner@vger.kernel.org Sun Jun 11 20:15:21 2006 Return-path: Envelope-to: ed@localhost Delivery-date: Sun, 11 Jun 2006 20:15:21 +0200 Received: from localhost ([127.0.0.1] helo=zombie) by zombie with esmtp (Exim 4.62) (envelope-from ) id 1FpUT3-0002YV-9D for ed@localhost; Sun, 11 Jun 2006 20:15:21 +0200 X-Flags: 0000 Delivered-To: GMX delivery to edi@gmx.de Received: from pop.gmx.net [213.165.64.22] by zombie with POP3 (fetchmail-6.3.4) for (single-drop); Sun, 11 Jun 2006 20:15:21 +0200 (CEST) Received: (qmail invoked by alias); 11 Jun 2006 18:14:34 -0000 Received: from vger.kernel.org (EHLO vger.kernel.org) [209.132.176.167] by mx0.gmx.net (mx069) with SMTP; 11 Jun 2006 20:14:34 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750732AbWFKSN6 (ORCPT + 47 others); Sun, 11 Jun 2006 14:13:58 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750729AbWFKSN4 (ORCPT ); Sun, 11 Jun 2006 14:13:56 -0400 Received: from manic.desrt.ca ([66.36.239.117]:17089 "HELO manic.desrt.ca") by vger.kernel.org with SMTP id S1750732AbWFKSN4 (ORCPT ); Sun, 11 Jun 2006 14:13:56 -0400 Subject: [patch] ICH7 SCI_EN quirk required for Macbook From: Ryan Lortie To: lkml@vger.kernel.org, linux-acpi@vger.kernel.org, Andrew Morton Cc: Matthew Garrett , Ben Collins , Frederic Riss Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-Yb3G0z+a1ZV00/YAUUh4" Message-Id: <1150048812.11072.13.camel@moonpix.desrt.ca> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Date: Sun, 11 Jun 2006 14:00:19 -0400 X-Evolution-Format: text/plain X-Evolution-Account: 1143426473.4964.20@moonpix X-Evolution-Transport: smtp://@copacetic.desrt.ca/;use_ssl=never X-Evolution-Fcc: imap://desrt@copacetic.desrt.ca/sent Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-GMX-Antivirus: -1 (not scanned, may not use virus scanner) X-GMX-Antispam: 0 (Mail was not recognized as spam) X-GMX-UID: 7zTpBbQYfW4okynydGVovtlmdmllcgXR X-E { .callback =3D init_ints_after_s1, .ident =3D "Toshiba Satellite 4030cdt", .matches =3D {DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),}, }, + { + .callback =3D init_ich7_sci_en_quirk, + .ident =3D "Intel Apple", + .matches =3D {DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer"),}, + }, {}, }; =20 --=-Yb3G0z+a1ZV00/YAUUh4 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iQG5AwUARIxaLJ96IjKvqm/2AQJcMA0eIQnj5Lm6YfYiHecouNsckBvBcZaCsYLd Arzkg/lMV7UpXwuMbcoXo5/GHDqvGorjRfqfibmg82/gL/syS2kcv3xyPqGXTSsk iyuxyP0qW442mbC8Dp1r9eps953D5--=-Yb3G0z+a1ZV00/YAUUh4-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ From linux-kernel-owner@vger.kernel.org Sun Jun 11 20:15:22 2006 Return-path: Envelope-to: ed@localhost Delivery-date: Sun, 11 Jun 2006 20:15:22 +0200 Received: from localhost ([127.0.0.1] helo=zombie) by zombie with esmtp (Exim 4.62) (envelope-from ) id 1FpUT4-0002YV-KS for ed@localhost; Sun, 11 Jun 2006 20:15:22 +0200 X-Flags: 0000 Delivered-To: GMX delivery to edi@gmx.de Received: from pop.gmx.net [213.165.64.22] by zombie with POP3 (fetchmail-6.3.4) for (single-drop); Sun, 11 Jun 2006 20:15:22 +0200 (CEST) Received: (qmail invoked by alias); 11 Jun 2006 18:14:45 -0000 Received: from vger.kernel.org (EHLO vger.kernel.org) [209.132.176.167] by mx0.gmx.net (mx069) with SMTP; 11 Jun 2006 20:14:45 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750705AbWFKSI2 (ORCPT + 47 others); Sun, 11 Jun 2006 14:08:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750732AbWFKSI2 (ORCPT ); Sun, 11 Jun 2006 14:08:28 -0400 Received: from main.gmane.org ([80.91.229.2]:5092 "EHLO ciao.gmane.org") by vger.kernel.org with ESMTP id S1750705AbWFKSI1 (ORCPT ); Sun, 11 Jun 2006 14:08:27 -0400 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1FpUMI-0004sq-B2 for linux-kernel@vger.kernel.org; Sun, 11 Jun 2006 20:08:22 +0200 Received: from cpc3-cwma2-0-0-cust739.swan.cable.ntl.com ([81.96.206.228]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 Jun 2006 20:08:22 +0200 Received: from sitsofe by cpc3-cwma2-0-0-cust739.swan.cable.ntl.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 Jun 2006 20:08:22 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: linux-kernel@vger.kernel.org From: Sitsofe Wheeler Subject: Re: [SOLVED] skge killing off snd_via686 interrupts on Fedora Core 5 Date: Sun, 11 Jun 2006 19:08:20 +0100 Lines: 25 Message-ID: References: <1149181417.12932.44.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: cpc3-cwma2-0-0-cust739.swan.cable.ntl.com User-Agent: Pan/0.14.2.91 (As She Crawled Across the Table (Debian GNU/Linux)) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org X-GMX-Antivirus: -1 (not scanned, may not use virus scanner) X-GMX-Antispam: 0 (Mail was not recognized as spam) X-GMX-UID: oWW5cJImRkketGfScGRqKdlmdWkvKJPW On Sun, 04 Jun 2006 10:45:46 +0100, Sitsofe Wheeler wrote: > (This accidentally fell off list so I'm going to see if I bodge it back) > > On Sat, 03 Jun 2006 10:55:48 +0100, Alan Cox wrote: >> Ar Sad, 2006-06-03 am 21:31 +0100, ysgrifennodd Sitsofe Wheeler: >> > As mentioned in another reply the cards aren't onbord and are a PCI >> > card upgrade. >> >> Same slot as the card you upgraded from ? Alan correctly surmised this was due to a VIA motherboard bug and moving the gigabit card to a different slot solved the problem without the need for noapic or irqpoll. The issue turned up with other network cards (e.g. a tuplip and an 8139) so it was fairly clear the issue wasn't driver related. Just for the record the motherboard in question is a Gigabyte GA-7DX+, host bridge is a AMD-760 [IGD4-1P], ISA bridge is a VIA VT82C686 [Apollo Super South] (rev 40)). At least two of the slots in the machine are "cursed". -- Sitsofe | http://sucs.org/~sits/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-1-dos.txt000644 000765 000024 00000201715 12503672226 024125 0ustar00coppitstaff000000 000000 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Message-Id: <359A5C2E.202B4BA3@comp.uark.edu> Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== This code was written for MS C++4.0 running on Win95. //************** BEGIN: serial_HOST.c /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on a host PC. */ #include #include #include #include #include "serial_HOST.h" void main(int argc, char *argv[]) { motor(0, 100); motor(1, 100); motor(2, 100); motor(3, 100); sleep(1000); motor(0, -100); motor(1, -100); motor(2, -100); motor(3, -100); sleep(1000); ao(); print("\nThis is a test"); printf("Knob is %d\n", knob() ); printf("Analog(0) is %d\n", analog(0)); printf("Digital(0) is %d\n", digital(0)); printf("Analog(1) is %d\n", analog(1)); printf("Digital(1) is %d\n", digital(1)); printf("Analog(2) is %d\n", analog(2)); printf("Digital(2) is %d\n", digital(2)); printf("Analog(3) is %d\n", analog(3)); printf("Digital(3) is %d\n", digital(3)); printf("Analog(4) is %d\n", analog(4)); printf("Digital(4) is %d\n", digital(4)); printf("Analog(5) is %d\n", analog(5)); printf("Digital(5) is %d\n", digital(5)); printf("Analog(6) is %d\n", analog(6)); printf("Digital(6) is %d\n", digital(6)); printf("Analog(7) is %d\n", analog(7)); printf("Digital(7) is %d\n", digital(7)); printf("Analog(8) is %d\n", analog(8)); printf("Digital(8) is %d\n", digital(8)); printf("Analog(9) is %d\n", analog(9)); printf("Digital(9) is %d\n", digital(9)); printf("Analog(10) is %d\n", analog(10)); printf("Digital(10) is %d\n", digital(10)); printf("Analog(11) is %d\n", analog(11)); printf("Digital(11) is %d\n", digital(11)); printf("Analog(12) is %d\n", analog(12)); printf("Digital(12) is %d\n", digital(12)); printf("Analog(13) is %d\n", analog(13)); printf("Digital(13) is %d\n", digital(13)); printf("Analog(14) is %d\n", analog(14)); printf("Digital(14) is %d\n", digital(14)); printf("Analog(15) is %d\n", analog(15)); printf("Digital(15) is %d\n", digital(15)); beep(); sleep(1000); while (! stop_button() ) { sprintf(buffer, "%d.0", (knob() * 10)); tone( buffer, "0.1"); } } //************** END: serial_HOST.c //************** BEGIN: serial_HOST.h /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 #define sleep(NUM) _sleep(NUM) #define SERIALWAIT 5 unsigned short PORT = 0x3f8; // LPT1: 0x378 COM1: 0x3f8 int send(int i) { int retval; retval = _outp( PORT, i); _sleep(SERIALWAIT); return retval; } int receive() { int retval; retval = _inp( PORT); _sleep(SERIALWAIT); retval = _inp( PORT); return retval; } void hangup() { send(QUIT); } void print(char buffer[]) { int i; send(PRINTF); for (i = 0; buffer[i] != 0; i++) send(buffer[i]); send('\0'); } void motor(int motornum, int power) { send(MOTOR); send(motornum); send(power + 100); // taken off on the other end } int analog(int sensor) { send(ANALOG); send(sensor); return receive(); } int digital(int sensor) { send(DIGITAL); send(sensor); return receive(); } void ao() { send(AO); } int knob() { send(KNOB); return receive(); } void beep() { send(BEEP); } void tone(char f1[], char f2[]) { int i; send(TONE); for (i = 0; f1[i] != 0; i++) send(f1[i]); send('\0'); for (i = 0; f2[i] != 0; i++) send(f2[i]); send('\0'); _sleep((unsigned long) (atof(f2) * 1000)); // to keep from overflowing serial line } void interactive() { char c; char key = ' '; while (key != 'q') { key = getch(); send(key); printf("Sent %c\n", key); c = receive(); printf("Got %c as a return value\n", c); } } int start_button() { send(START_BUTTON); return receive(); } int stop_button() { send(STOP_BUTTON); return receive(); } //************** END: serial_HOST.h //************** BEGIN: serial_HB.c /* VC++4.0 HandyBoard Programming System (Parts taken from other HB programs) Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on the HB */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 int _isspace(int a) /* returns 1 for space or tab, 0 otherwise */ /* internal routine used by atof() and cgets() */ { return ((a == 32) || (a == 9)); /* 32 is space, 9 is tab */ } /*****************************************************************************/ int _isdigit(int a) /* returns 1 if a digit 0-9, 0 otherwise */ /* internal routine used by atof() */ { return ((a >= 48) && (a <= 57)); /* 48 is '0', 57 is '9' */ } float atof(char s[]) /* Convert a string containing a number in ASCII */ /* form (integer, float, or exponential float) to a */ /* float. Strips whitespace characters (space and */ /* tab) from the front of the string, but stops */ /* parsing at the first (unexpected) non-numeric */ /* character if the string has garbage at the end. */ /* This means that " 34.3foo78" translates to 34.3. */ /* Modified from atof() function in the standard */ /* library of the Hi-Tec C compiler for CP/M. */ /* Note: all string literals converted to decimal */ /* form because IC can't deal with string literals */ /* in math calculations. */ /* Also note: very ugly code because IC will not */ /* allow any math operations on pointers! Thus, the */ /* the number string has to be treated as an array! */ /* Also also note: no error handling; assumes that */ /* the string is a valid representation of a number! */ /* Valid range for exponential-format numbers is */ /* approximately 2.0e-38 to 3.4e+38. */ { int i=0; /* index into string array */ int sign=0; /* mantissa sign flag: 0=positive, 1=negative */ int exp0=0; /* mantissa exponent counter */ int eexp=0; /* E-form exponent counter */ int expsign=0; /* exponent sign flag: 0=positive, 1=negative */ float m=0.0; /* mantissa accumulator */ /* skip any leading whitespace (space, tab) */ while (_isspace(s[i])) i++; /* skip it */ /* check for mantissa sign */ if (s[i] == 45) /* 45 is '-' */ { sign = 1; /* flag minus sign */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get all digits up to either a decimal point or an e/E */ while (_isdigit(s[i])) { m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } /* no more digits, so check for decimal point */ if (s[i] == 46) /* 46 is '.' */ { i++; /* point to next */ /* get all digits after decimal point */ while (_isdigit(s[i])) { exp0--; m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } } /* check for e/E exponential form */ if ((s[i] == 101) || (s[i] == 69)) /* 101 is 'e', 69 is 'E' */ { i++; /* point to next */ /* check for exponent sign */ if (s[i] == 45) /* 45 is '-' */ { expsign = 1; /* flag negative exponent */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get exponent */ while (_isdigit(s[i])) { eexp = eexp*10 + s[i] - 48; /* 48 is '0' */ i++; /* point to next */ } /* adjust exponent sign */ if (expsign) eexp = -eexp; /* make it negative */ } /* compute absolute value of final float */ exp0 += eexp; while (exp0 < 0) /* for negative exponents */ { m = m / 10.0; exp0++; } while (exp0 > 0) /* for positive exponents */ { m = m * 10.0; exp0--; } /* adjust final float sign from mantissa */ if (sign) return (-m); /* negative */ else return (m); /* positive */ } void disable_pcode_serial() /* necessary to receive characters using serial_getchar */ { poke(0x3c, 1); } void reenable_pcode_serial() /* necessary for IC to interact with board again */ { poke(0x3c, 0); } /* ====================================================================== For sending and receiving single bytes, you can use Randy's IC code: */ void serial_putchar(int c) { while (!(peek(0x102e) & 0x80)); /* wait until serial transmit empty */ poke(0x102f, c); /* send character */ } int serial_getchar() { while (!(peek(0x102e) & 0x20)); /* wait for received character */ return peek(0x102f); } void main(void) { int pos, c = ' ', var1, var2; float f1, f2; char buffer[80]; disable_pcode_serial(); beep(); printf("\nSerial IO Mode!"); printf("Listening..."); msleep(500L); while (c != 'q') { c = serial_getchar(); /* printf("[%d] ", c); */ if (c == MOTOR) { var1 = serial_getchar(); var2 = serial_getchar() - 100; motor(var1, var2); } else if (c == AO) { ao(); } else if (c == ANALOG) { var1 = serial_getchar(); serial_putchar(analog(var1)); } else if (c == DIGITAL) { var1 = serial_getchar(); serial_putchar(digital(var1)); } else if (c == PRINTF) { pos = 0; while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; printf(buffer); } else if (c == TONE) { pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f1 = atof(buffer); pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f2 = atof(buffer); tone(f1, f2); } else if (c == START_BUTTON) { serial_putchar(start_button()); } else if (c == STOP_BUTTON) { serial_putchar(stop_button()); } else if (c == BEEP) { beep(); } else if (c == KNOB) { serial_putchar(knob()); } } reenable_pcode_serial(); printf("\nHB Mode!"); } //************** END: serial_HB.c From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA32480; Tue, 7 Jul 1998 20:33:03 -0400 Received: from wormwood.ee.byu.edu (wormwood.ee.byu.edu [128.187.30.54]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30127 for ; Tue, 7 Jul 1998 19:48:43 -0400 (EDT) Received: from wormwood (localhost [127.0.0.1]) by wormwood.ee.byu.edu with SMTP (8.7.6/8.7.1) id RAA26916 for ; Tue, 7 Jul 1998 17:48:42 -0600 (MDT) Sender: goldt@ee.byu.edu Message-Id: <35A2B3D9.1260@et.byu.edu> Date: Tue, 07 Jul 1998 17:48:41 -0600 From: "Timothy B. Gold" X-Mailer: Mozilla 3.04Gold (X11; I; HP-UX B.10.20 9000/780) Mime-Version: 1.0 To: handyboard@media.mit.edu Subject: Interrupt Handler for Serial communication Content-Type: multipart/mixed; boundary="------------18CC6AC44E2E" This is a multi-part message in MIME format. --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Here's a bit of code that will buffer incoming serial information so that no information will be lost when transmitting to the handy board. There are two files: serial_isr.c and serial_isr.asm. You'll need to assemble the .asm file using as11_ic, and then both the .c file and the .icb file need to be loaded onto the handy board. I'm sure improvements could be made to the code to clean it up a little, but it's a start (and I haven't had any problems with it yet). Enjoy! --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii; name="serial_isr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="serial_isr.c" /* C program to read serial port with interrupt service routine */ /* First version: Written by Anton Wirsch 20 Nov 1997 */ /* Second Version: Written by Tim Gold 27 May 1998 BYU Robotics Lab goldt@et.byu.edu Really, the only thing left from the original code are a few lines in the .asm file. Everything else I pretty much had to rewrite from scratch to get it to work the way I wanted to. But the orignal code by Anton was a very helpful starting point. Needed files: serial_isr.c serial_isr.icb serial_isr.asm (needed to change the buffer size) The buffer size here is 32 bytes (probably much larger than it needs to be.) To change the buffer size, do the following: 1. Change the BUFFER_SIZE constant below to the desired number of bytes. 2. Edit the line(s) in the serial_isr.asm which contain the word "EDIT" in the comment so that the value matches that of BUFFER_SIZE. 3. Recreate the serial_isr.icb file by typing the following: > as11_ic serial_isr.asm */ #define BUFFER_SIZE 32 /* change buffer size here -- see above */ /* various constants used by the program... */ #define BAUD 0x102b /* baud rate set to 9600 */ #define SCCR2 0x102d #define SCCR1 0x102c #define SCSR 0x102e #define SCDR 0x102f int buffer[BUFFER_SIZE]; /* this is the actual buffer */ void initSerial() { /* Call this routine to activate the serial interrupt handler. */ int i,temp; /* clear out buffer */ for(i=0; i as11_ic serial_isr.asm */ /* change this line to match your library path... */ #include "/usr/local/ic/libs/6811regs.asm" ORG MAIN_START variable_CURRENT: FDB 00 * ptr to next data to be read by user variable_INCOMING: FDB 00 * number of bytes received (circular count) variable_BASE_ADDR: FDB 00 * base address of buffer (to be set by init routine) variable_DATA_FLAG: FDB 00 * flag set when data is available variable_buffer_ptr: FDB 00 * pointer to CURRENT buffer subroutine_initialize_module: /* change this line to match your library path... */ #include "/usr/local/ic/libs/ldxibase.asm" ldd SCIINT,X std interrupt_code_exit+1 ldd #interrupt_code_start std SCIINT,X rts interrupt_code_start: ldad variable_INCOMING * store INCOMING into AB cmpb #00 * compare B with 0 bhi skip * goto "skip" if (B > 0) ldx variable_BASE_ADDR * STORE ADDRESS OF ARRY IN X inx * SKIP THE FIRST (?) inx * TWO BYTES (?) inx * OFFSET TO THE HIGHER BYTE (?) stx variable_buffer_ptr * SAVE PTR VALUE bra cont skip: ldx variable_buffer_ptr * load buffer pointer into x cont: ldad variable_INCOMING * load INCOMING into AB incb * increment INCOMING cmpb #32 * compare B and 32 --EDIT TO CHANGE BUFFER SIZE-- beq reset_count * if a=32, goto reset_count bra cont1 reset_count: ldad #00 * set count to zero cont1: stad variable_INCOMING * store AB into INCOMING ldab SCSR * load SCSR (SCI status register) into B (why?) ldab SCDR * load SCSR (SCI data register) into B stab ,X * store data in array inx * increment by two bytes inx stx variable_buffer_ptr * save the pointer value ldad #01 * load 1 into AB stad variable_DATA_FLAG * store AB into DATA_FLAG (indicating data is available) interrupt_code_exit: jmp $0000 --------------18CC6AC44E2E-- From aarone@sirius.com Wed Jul 1 02:44:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA22669; Wed, 1 Jul 1998 02:44:06 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id CAA13214 for ; Wed, 1 Jul 1998 02:01:55 -0400 (EDT) Received: from edsinger (ppp-asfm03--126.sirius.net [205.134.240.126]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with ESMTP id XAA26862 for ; Tue, 30 Jun 1998 23:01:54 -0700 (PDT) Message-Id: <199807010601.XAA26862@mail3.sirius.com> From: "Aaron Edsinger" To: "handy" Subject: Serial Interface Date: Wed, 1 Jul 1998 02:06:39 +0100 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1162 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I've been having some problems using my HandyBoard to talk directly to my PC via the serial interface. I disable Interactive C and then Poke() and Peek() as has been described on this list. I send short character strings from my PC to the HandyBoard under Windows 95. If I send strings longer than 2 characters, it seems that some of the characters get lost. This behavior seems to be affected by repositioning or slightly modifying the code, suggesting perhaps a timing issue. Why might this be? Is there any way to check for an error situation? Thanks for any help, Aaron From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA23518; Thu, 16 Jul 1998 03:13:49 -0400 Received: from hq.freegate.com ([208.226.86.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA18991 for ; Thu, 16 Jul 1998 02:17:47 -0400 (EDT) Received: (qmail+freegate 6968 invoked by alias); 16 Jul 1998 06:17:38 -0000 Received: from dialip-04.hq.freegate.com (HELO freegate.com) (208.226.86.222) by hq.freegate.com with SMTP; 16 Jul 1998 06:17:38 -0000 Message-Id: <35AD9BDA.3A9EC8F7@freegate.com> Date: Wed, 15 Jul 1998 23:21:14 -0700 From: Chuck McManis Reply-To: cmcmanis@freegate.com Organization: Freegate Corporation X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: David Rye Cc: handyboard@media.mit.edu Subject: Re: Handyboard/RWP without p-code References: <3.0.32.19980716151646.00809d20@nemo.mech.eng.usyd.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Get a copy of icc11 v5.0 or later (from www.imagecraft.com) and use the handyboard library from their site. --Chuck From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA20653; Wed, 1 Jul 1998 05:33:51 -0400 Received: from alpha.delta.edu (alpha.delta.edu [161.133.129.3]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id EAA12514 for ; Wed, 1 Jul 1998 04:41:22 -0400 (EDT) Received: from pm295-18.dialip.mich.net by alpha.delta.edu; (5.65v3.0/1.1.8.2/06Jan97-0932AM) id AA31111; Wed, 1 Jul 1998 04:44:45 -0400 Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id WAA20239; Tue, 30 Jun 1998 22:34:32 -0400 (EDT) Date: Tue, 30 Jun 1998 22:34:31 -0400 (EDT) From: David Kott Sender: dakott@kott.my.domain To: brian-c@technologist.com Cc: handyboard@media.mit.edu Subject: Re: microcontroller In-Reply-To: <199806291430.KAA07909@web01.globecomm.net> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 29 Jun 1998 brian-c@technologist.com wrote: > -I'd like to say thanks to all the folks who replied > to my question on the microcontroller speeds. > > Here's another general question about them though. > Should any unused pins be left open or should they > be grounded? > Eeeeeeeeeeek! Outputs left floating, CMOS inputs taken to ground with a 4.7K resistor... presuming, of course, that a Logic 0 on that input won't generate adverse effects, e.g. a grounded active low interrupt line might be a problem. Such inputs should be taken to +5 with a 4.7K resistor. Floating CMOS inputs have a tendency to oscillate with the merest whisper of a voltage. TTL inputs may be left floating. Driving an output externally will just heat up your CPU.. or worse. -d -- The box said "Requires Windows 95/NT or better"... So I got Unix. Free the Source. Free your Computer... http://www.FreeBSD.org http://www.NetBSD.org http://www.OpenBSD.org From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA06355; Sun, 22 Mar 1998 01:52:45 -0500 Received: from cyber.sfgate.com (cyber.sfgate.com [198.93.154.11]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id BAA23676 for ; Sun, 22 Mar 1998 01:08:09 -0500 (EST) Received: from localhost by cyber.sfgate.com with smtp (Smail3.2 #1) id m0yGduz-000Is1C; Sat, 21 Mar 1998 22:07:37 -0800 (PST) Date: Sat, 21 Mar 1998 22:07:37 -0800 (PST) From: Richard X-Sender: rshirk@cyber To: handyboard@media.mit.edu Subject: Frob nobs and IR Message-Id: Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-890546857=:21628" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII OK...Im now pretty happy with states of things but I still have a few questions I hope you can help me answer. The code attached works and everything, but only when i take the bit about playing the songs out. problem 1) It keeps saying that play is undefined. I saw that before and fixed it by changing the names of the labels of the songs. I tried it this time and it didnt work...i was wondering if anyone out there knows why it does this and how to correct it.... problem 2) I figured out (thanks to you guys) how to work the built in IR sensor to detect and act upon 4 signals. One is for behing hostile, 3 is for seeking, signal 5 is when it gets annoyed, and 7 it just beeps and ignores it. The signal for being Hostile responds quickly and prints H on the screen but the others lag and i was wondering if you knew why this was. -Richard ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xbump2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: LyogVGhpcyBpcyAoc2xpZ2h0bHkgbW9kaWZpZWQpIGRlZmF1bHQgdG91Y2gg bmF2aWdhdGlvbiAqLw0gICAgICAgICBjaGFyIHBuX3NvbmdbXT0gIjEjZCA0 ZTNyMSNmNGczcjEjZCAzZTEjZjNnMWMzYkQxZTNnMWIgOCZiMmIyYTJnMmUy ZDEwZSAgICAgIDdyMSNkIDRlM3IxI2Y0ZzNyMSNkIDNlMSNmM2cxYzNiMWcz YjFlIDI4JmUgRDNyMSNkIDRlM3IxI2Y0ZzNyMSNkICAgICAgM2UxI2YzZzFj M2JEMWUzZzFiIDgmYjJiMmEyZzJlMmQxMGUgMTJyIFUzZTFkM2IxYTNnMSNm ICAgICAgMSZiM2ExJmIzYTEmYjNhMSZiM2EgMmcyZTJkMjBlIjsNDSAgY2hh ciBsdHVuZV9zb25nW109ICJVM2UxZDJjMmQyZTJkMmUyYzJkMmQyZDZkMnIg M2QxYzJiMmMyZDIjYzJkMmIyYzJjMmM2YyI7DQ0Ndm9pZCBtYWluKCApDXsN ICAgLyogdGltaW5nIHBhcmFtZXRlcnMgKG1pbGxpc2Vjb25kcykgKi8NICAg bG9uZyByZXZlcnNlX3RpbWUgPSA1MDBMLCB0dXJuX3RpbWUgPSA1MDBMLCB0 dXJuYXJvdW5kX3RpbWUgPSAxMDAwTDsNICAgIHNvbnlfaW5pdCAoMSk7DSAg ICBwcmludGYoIkF1dG9ub21vdXNcbiIpOw0gICAgbXNsZWVwKDUwMEwpOw0g ICAgcHJpbnRmKCJSb2JvdGljXG4iKTsNICAgIG1zbGVlcCg1MDBMKTsNICAg IHByaW50ZigiTmF2aWdhdGlvblxuIik7DSAgICBtc2xlZXAoNTAwTCk7DSAg ICB7DSAgICAgICAgIGlmICgoIGtub2IoICkgKSA9PSAyNTUpDSAgICAgICAg IHsNICAgICAgICAgICAgICAgcGxheSAocG5fc29uZyk7DSAgICAgICAgICB9 DSAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9PSAwKQ0gICAgICAg ICAgew0gICAgICAgICAgICAgICAgcGxheSAobHR1bmVfc29uZyk7DSAgICAg ICAgICB9DSAgICAgICAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9 PSAxMTYpDSAgICAgICAgICB7DSAgICAgICAgICAgICAgICBwcmludGYoIkhF TExPLCBKVURHRVMhXG4iKTsNICAgICAgICAgICAgICAgIG1zbGVlcCg1MDBM KTsNICAgICAgICAgIH0NICAgIH0NDSAgIHByaW50ZiggIlByZXNzIFNUQVJU XG4iICk7DSAgIHN0YXJ0X3ByZXNzKCk7ICAgLyogd2FpdCAndGlsIGJ1dHRv biBpcyBwcmVzc2VkICovDSAgIGJlZXAoKTsNICAgcHJpbnRmKCAiU3RhbmQg YmFjay4uLlxuIiApOw0gICBzbGVlcCggMS4wICk7IA0gICAvKiBpbml0aWF0 ZSBmb3J3YXJkIG1vdGlvbiAqLw0gICBmZCggMiApOw0gICBmZCggMyApOw0g ICB3aGlsZSggMSApICAgLyogZmVlZGJhY2sgbG9vcCAqLw0gICB7DSAgICAg IGlmKCAhIGRpZ2l0YWwoIDcgKSApICAgLyogY2hlY2sgbGVmdCBidW1wZXIg Ki8NICAgICAgew0gICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJl ZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAg ICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUgKTsNDSAgICAgICAgIC8qIHR1 cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMg KTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNDSAgICAgICAgIC8q IHJlc2V0IGZvcndhcmQgbW90aW9uICovDSAgICAgICAgIHByaW50ZiggIjAi ICk7DSAgICAgICAgIGZkKCAyICk7DSAgICAgICAgIGZkKCAzICk7DQ0gICAg ICB9DQ0gICAgICBlbHNlIGlmKCAhIGRpZ2l0YWwoIDExICkgKSAgIC8qIGNo ZWNrIG1pZGRsZSBidW1wZXIgKi8NICAgICAgew0gICAgICAgICAvKiByZXZl cnNlICovDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAg ICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUg KTsNDSAgICAgICAgIC8qIHR1cm4gYXJvdW5kICovDSAgICAgICAgIGZkKCAy ICk7DSAgICAgICAgIGJrKCAzICk7DSAgICAgICAgIG1zbGVlcCggdHVybmFy b3VuZF90aW1lICk7DQ0gICAgICAgICAvKiByZXNldCBmb3J3YXJkIG1vdGlv biAqLw0gICAgICAgICBwcmludGYoICIxIiApOw0gICAgICAgICBmZCggMiAp Ow0gICAgICAgICBmZCggMyApOw0gICAgICB9DQ0gICAgICBlbHNlIGlmKCAh IGRpZ2l0YWwoIDE1ICkgKSAgIC8qIGNoZWNrIHJpZ2h0IGJ1bXBlciAqLw0g ICAgICB7DSAgICAgICAgIC8qIHJldmVyc2UgKi8NICAgICAgICAgYmVlcCgp Ow0gICAgICAgICBiayggMiApOw0gICAgICAgICBiayggMyApOw0gICAgICAg ICBtc2xlZXAoIHJldmVyc2VfdGltZSApOw0NICAgICAgICAgLyogdHVybiBs ZWZ0ICovDSAgICAgICAgIGJrKCAyICk7DSAgICAgICAgIGZkKCAzICk7DSAg ICAgICAgIG1zbGVlcCggdHVybl90aW1lICk7DQ0gICAgICAgICAvKiByZXNl dCBmb3J3YXJkIG1vdGlvbiAqLw0gICAgICAgICBwcmludGYoICIyIiApOw0g ICAgICAgICBmZCggMiApOw0gICAgICAgICBmZCggMyApOw0gICAgIH0NICAg ICBlbHNlIGlmKGlyX2RhdGEoIDAgKSA9PSAxMjggKSAvKkNoZWNrIElSIHJl Y2lldmVyKi8NICAgICAgew0gICAgICAgICAgcHJpbnRmKCJIIik7DSAgICAg ICAgIC8qIHR1cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAg ICAgICAgIC8qQXR0YWNrLi4uUm9ib3QgaXMgSG9zdGlsZSAqLw0gICAgICAg ICAgYmVlcCgpOyANICAgICAgICAgIGZkKCAyICk7DSAgICAgICAgICBmZCgg MyApOw0gICAgICAgICAgYmVlcCgpOw0gICAgIH0NICAgICBlbHNlIGlmKGly X2RhdGEoIDAgKSA9PSAxMzAgKSAvKkNoZWNrIElSIHJlY2lldmVyKi8NICAg ICAgew0gICAgICAgICAgcHJpbnRmKCJTIik7DSAgICAgICAgIC8qIHR1cm4g cmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMgKTsN ICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAgICAgICAgIC8qUm9i b3QgaXMgaW4gbG92ZSEgRG8gYSBsaWwgZGFuY2UhICovDSAgICAgICAgICBi ZWVwKCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgZmQoIDIgKTsN ICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBtc2xlZXAoIHR1cm5fdGlt ZSApOw0gICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgIGJrKCAzICk7DSAg ICAgICAgICBtc2xlZXAoIHJldmVyc2VfdGltZSApOyANICAgICAgICAgIC8q R28gZm9yd2FyZCEqLw0gICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgIGZk KCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7DSAg ICAgfQ0gICAgIGVsc2UgaWYoaXJfZGF0YSggMCApID09IDEzMiApIC8qQ2hl Y2sgSVIgcmVjaWV2ZXIqLw0gICAgICB7DSAgICAgICAgICBwcmludGYoIkEi KTsNICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJlZXAoKTsNICAg ICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNs ZWVwKCByZXZlcnNlX3RpbWUgKTsNICAgICAgICAgIC8qUm9ib3QgaXMgQW5u b3llZCEgVHVybnMgY29tcGxldGVseSBhcm91bmQgaW4gZGlndXN0Ki8gICAg ICAgDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmVlcCgpOyANICAgICAg ICAgYmVlcCgpOw0gICAgICAgICBmZCggMiApOw0gICAgICAgICBiayggMyAp Ow0gICAgICAgICBtc2xlZXAoIHR1cm5hcm91bmRfdGltZSApOw0gICAgICAg ICAgZmQoIDIgKTsNICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0NICAg ICB9DSAgICAgZWxzZSBpZihpcl9kYXRhKCAwICkgPT0gMTM0ICkgLypDaGVj ayBJUiByZWNpZXZlciovDSAgICAgIHsNICAgICAgICAgIHByaW50ZigiSSIp Ow0gICAgICAgICAgLypSb2JvdCBkb2Vzbid0IGNhcmUgKi8NICAgICAgICAg IGJlZXAoKTsgDSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7 IA0gICAgICAgICAgYmVlcCgpOw0gICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0gDSAg ICB9DQ0gICB9DX0N ---559023410-1804928587-890546857=:21628-- From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA00723; Mon, 27 Jul 1998 18:34:05 -0400 Received: from theory.phys.vt.edu (theory.phys.vt.edu [128.173.176.33]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id RAA19984 for ; Mon, 27 Jul 1998 17:22:26 -0400 (EDT) Received: from localhost (wallace@localhost) by theory.phys.vt.edu (8.8.5/8.8.5) with SMTP id RAA00312 for ; Mon, 27 Jul 1998 17:22:24 -0400 (EDT) Date: Mon, 27 Jul 1998 17:22:24 -0400 (EDT) From: Mark Wallace To: handyboard@media.mit.edu Subject: sonar.c for the handyboard Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I have a handyboard and 6500 series poloroid ultrasonic ranging system. I have downloaded the sonar.c programs used to drive the transducer for distance measurements. There appears to be a problem, or atleast I think there is, with it. The sonar device is supposed to give distances of up to 35ft but the TCNC time register is 16 bit and in the program it says "if ((peekwork(0x100e)-start_time) < 0)" too much time has elapsed and it returns -1. Therefore as soon as about 32700 counts goes by, that value will go negative. I believe hex goes from 0 to 32768 then -32768 to -1. In this case the difference will be < 0 if the object is greater then about 9 ft. I have taken this out of the program and can get accurate measurements up to atleast 30 ft but I have to look at the value given and add multiples of 2^16 to it to figure out where it is. Taking this out of the program also can get you stuck if you really are out of range. I have looked on the motorola web pages to see about this clock and it says that the clock goes till it reachs $ffff and then flags somewhere that there is an overflow and then starts over. I don't know how to find out were in the chip this information might be stored. I know the TCNT time register is at 0x100e from the notes on Simplified Sonar for the Handy Board but I don't know where that overflow flag is stored. I thought that maybe by setting this flag and using it in the loop you might be about to get a greater distance out of you measurement. Another question I have is about IC. I would like to display numbers greater then 32000 and right now there are several int type variables and normal C comands don't seem to work to make a "long" or any other type that are larger then 32000. How does IC handle larger numbers? I am only a student and don't have much experience with this stuff so I would appreciate any feedback I can get on either of these problems. Thanks. Mark Wallace e-mail mawalla3@vt.edu wallace@astro.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA15988; Mon, 3 Aug 1998 12:05:51 -0400 Received: from sps1.phys.vt.edu (sps1.phys.vt.edu [128.173.176.53]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA12381 for ; Mon, 3 Aug 1998 11:16:53 -0400 (EDT) Received: from localhost (mwallace@localhost) by sps1.phys.vt.edu (8.8.7/8.8.7) with SMTP id LAA20283; Mon, 3 Aug 1998 11:16:50 -0400 Date: Mon, 3 Aug 1998 11:16:50 -0400 (EDT) From: Mark Wallace To: alf.kuchenbuch@usa.net Cc: handyboard@media.mit.edu Subject: Re: Polaroid trouble again In-Reply-To: <35C5C521.446B@eikon.e-technik.tu-muenchen.de> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I had this same problem when I got mine a few weeks ago. I ended up putting a capacitor from pin 1 to pin 3 on U2 of the sonar driver board. I also had to take out the 1k resistor from the BINH. It kept BINH at 1 V instead of Zero and that seamed to cause problems. As for the 6 ft problem, it should be closer to 9 ft. I think the problem there is the IC code you used. If you used the code for SONAR.C from the HB web site then there is a problem with it. What that program does is take the difference in time from the internal clock. the problem is that in the code it says that if the difference between start time and currnet time is negative too much time has elapsed. Well, this has a 16 bit counter so when the difference is greater the about 32,700 it becomes negative. If you do the math, that means at about 9 ft that happens so it tell you you are out of range. The way I fixed this was to slow the clock down. I looked up information on the motorola web page and found where the prescalers were for the clock. If you want to slow it down by a factor of four you can just add this line to you program in sonar_init() bit_set(0x1024, 1); I believe bit_set(0x1024, 2); will slow it down by a factor of 8 and bit_set(0x1024, 3); will slow it down by a factor of 16. There are better ways of fixing this problem but they appear much more complicated. For example the motorola chip has an overflow flag that says when the internal clock flips. You could incorporate that into your code instead of slowing the clock down. Good luck and I hope this helps. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan On Mon, 3 Aug 1998, Alf Kuchenbuch wrote: > Hi! > I am having trouble with my Polaroid sonar: > When I keep my HB hooked up > to external power, I will only get correct readings up to 20 inches. As > soon as I use battery power without hooking it up to external power, the > readings are correct up to 6 feet, not more! This sound like EMI, I > guess. I tried all the capacitor tricks from HB mailing list, but in > vain. Do you know a fix that works? > > Alf H. Kuchenbuch > From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA07529; Wed, 12 Aug 1998 13:10:06 -0400 Received: from quackerjack.cc.vt.edu (root@quackerjack.cc.vt.edu [198.82.160.250]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA05729 for ; Wed, 12 Aug 1998 12:13:53 -0400 (EDT) Received: from sable.cc.vt.edu (sable.cc.vt.edu [128.173.16.30]) by quackerjack.cc.vt.edu (8.8.8/8.8.8) with ESMTP id MAA20678 for ; Wed, 12 Aug 1998 12:20:09 -0400 (EDT) Received: from research10.phys.vt.edu (dhcp9.phys.vt.edu [128.173.176.166]) by sable.cc.vt.edu (8.8.8/8.8.8) with SMTP id MAA05159 for ; Wed, 12 Aug 1998 12:13:51 -0400 (EDT) Message-Id: <3.0.5.32.19980812121345.00796960@mail.vt.edu> X-Sender: mawalla3@mail.vt.edu (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Wed, 12 Aug 1998 12:13:45 -0400 To: Handyboard@media.mit.edu From: Mark Wallace Subject: serial library for C++ Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, I have a handy board with poloroid transducers and I am trying use the results of my distance measurments in a C++ program on the computer. I have found programs on the handyboard web page that should alow the handyboard to transmit information over the serial line. What I am looking for is if anyone knows were I could find a serial for Microsofts Visual C++ 5.0. I would like to find one that is free or sharware but any information on any serial that will work would be appreciated. Thanks. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu web page http://sps1.phys.vt.ede/~mwallace "What a waist it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-distruction" Carl Sagan From aarone@sirius.com Wed Sep 30 12:35:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v4.0/1.1/06Jun95-8.2MPM) id AA09172; Wed, 30 Sep 1998 12:35:05 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id KAA02849 for ; Wed, 30 Sep 1998 10:46:53 -0400 (EDT) Received: from aarone (ppp-asfm03--129.sirius.net [205.134.240.129]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id HAA08635; Wed, 30 Sep 1998 07:46:49 -0700 (PDT) Message-Id: <008901bdec9a$76f469d0$63f186cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Keith - Lui" Cc: "handy" Subject: Re: output to file Date: Wed, 30 Sep 1998 10:47:58 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Yes, Write a dos/windows client that reads the serial line and then writes it to file using the C stdio library. -----Original Message----- From: Keith - Lui To: handyboard@media.mit.edu Date: Wednesday, September 30, 1998 6:55 AM Subject: output to file >Dear all, > >I would like to output some HB data to a file, is that possible? > >Keith > From aarone@sirius.com Wed Aug 12 13:42:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA13439; Wed, 12 Aug 1998 13:42:19 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA10630 for ; Wed, 12 Aug 1998 12:48:27 -0400 (EDT) Received: from aarone (ppp-asfm05--041.sirius.net [205.134.241.41]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id JAA20821; Wed, 12 Aug 1998 09:48:24 -0700 (PDT) Message-Id: <004401bdc62a$e8ecc8c0$70f086cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Mark Wallace" Cc: "handy" Subject: Re: serial library for C++ Date: Wed, 12 Aug 1998 12:53:41 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Check out this site. It works well. The only problem I had was timing issues when trying to read and write to the port too quickly. http://www.codeguru.com/show.cgi?general=/misc/misc_toc.shtml -----Original Message----- From: Mark Wallace To: Handyboard@media.mit.edu Date: Wednesday, August 12, 1998 9:25 AM Subject: serial library for C++ >Hello, > I have a handy board with poloroid transducers and I am trying use the >results of my distance measurments in a C++ program on the computer. I >have found programs on the handyboard web page that should alow the >handyboard to transmit information over the serial line. What I am looking >for is if anyone knows were I could find a serial library for Microsofts >Visual C++ 5.0. I would like to find one that is free or sharware but any >information on any serial librarys that will work would be appreciated. >Thanks. >Mark Wallace > > e-mail mawalla3@vt.edu > mwallace@sps1.phys.vt.edu >web page http://sps1.phys.vt.ede/~mwallace > >"What a waist it would be after 4 billion tortuous years of evolution if >the dominant organism contrived its own self-distruction" > Carl Sagan > From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA03667; Mon, 6 Jul 1998 11:54:19 -0400 Received: from web04.globecomm.net (web04.globecomm.net [207.51.48.104]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30534 for ; Mon, 6 Jul 1998 19:24:28 -0400 (EDT) From: brian-c@technologist.com Received: (from root@localhost) by web04.globecomm.net (8.8.8/8.8.0) id TAA03097; Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Date: Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Message-Id: <199807062324.TAA03097@web04.globecomm.net> Content-Type: multipart/mixed; boundary="0-0-0-0-0-0-0-0-____====$%&" Mime-Version: 1.0 To: Terri A Mortvedt , handyboard@media.mit.edu Subject: Re: Steppers --0-0-0-0-0-0-0-0-____====$%& Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aleve.media.mit.edu id TAA30534 Dear Terri, If the motors turn sparatically, that means the coils are probably not hooked up in the correct order. Try swapping them around and see if anything improves. The motors you are using are the bipolar type. There=20 is a decent way of hooking up unipolar steppers to the HB at http://www.cctc.demon.co.uk/stepper.htm A basic difference between bipolar and unipolar is that unipolar motors have additional wires are=20 connected to the power supply. Bipolars also have more torque. Using fd(); and bk(); commands to power steppers is probably a lot to handle. I recommend trying the=20 method found on that link. There's even sample coding. You will have to modify some variables for the turn functions because your turning radius varies according to your distance between motors. I modified the step(); function to produce a gradual=20 increase in speed, and a gradual decrease in speed once the specified steps are almost complete.=20 I will attach my motors.c file as is. _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Brian Carvalho [ brian-c@ieee.org ] DeVRY Institute New Jersey _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF --------------------------------------------------- Get free personalized email at http://www.iname.com --0-0-0-0-0-0-0-0-____====$%& Content-Type: application/octet-stream Content-disposition: inline; filename=Motors.c Content-Transfer-Encoding: base64 LyogTW90b3JzLmMgKi8NCg0KLyoqKiBERUNMQVJBVElPTlMgKioqLw0KDQppbnQgRk9SV0FSRFMg PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpYWJsZXMgZm9yIGRpcmVj dGlvbiAqLw0KaW50IEJBQ0tXQVJEUyA9IDE7DQogDQppbnQgSEFMRlRVUk4gPSA3MDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlcyBmb3IgdHVybmluZyAqLw0KaW50IFFV QVJURVJUVVJOID0gSEFMRlRVUk4gLyAyOw0KIA0KaW50IFJJR0hUID0gMjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmFsdWVzIGZvciB0dXJucyAqLw0KaW50IExFRlQgPSA4 Ow0KDQppbnQgcmlnaHRfbW90b3JfcG9pbnRlciA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBt b3RvciBjb250cm9sIHZhbHVlcyAqLw0KaW50IGxlZnRfbW90b3JfcG9pbnRlciA9IDA7DQogDQog DQppbnQgY3ljbGVfbGVuZ3RoID0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBoYWxm IHN0ZXBwaW5nIHZhbHVlcyAqLw0KaW50IGxlZnRfc3RlcF90YWJsZVs0XSA9IHs0OCw0OSw1MSw1 MH07DQppbnQgcmlnaHRfc3RlcF90YWJsZVs0XSA9IHsxOTIsMTk2LDIwNCwyMDB9Ow0KDQpsb25n IFNMT1cgPSAyNUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWlsbGlzZWNv bmQgcGF1c2VzICovDQpsb25nIEZBU1QgPSA4TDsNCg0KLyoqKiBGVU5DVElPTlMgKioqLw0KDQoN CnZvaWQgc2V0ZmFzdChsb25nIEYpDQp7DQoJCQlGQVNUID0gRjsNCn0NCg0Kdm9pZCBzZXRzbG93 KGxvbmcgUykNCnsNCgkJCVNMT1cgPSBTOw0KfQ0KDQoNCnZvaWQgc3RlcHBlcnNfb3V0KHZvaWQp DQp7DQoJCQlpbnQgY29udHJvbF9ieXRlID0gMDsNCgkJCWNvbnRyb2xfYnl0ZSArPSBsZWZ0X3N0 ZXBfdGFibGVbbGVmdF9tb3Rvcl9wb2ludGVyXTsNCgkJCWNvbnRyb2xfYnl0ZSArPSByaWdodF9z dGVwX3RhYmxlW3JpZ2h0X21vdG9yX3BvaW50ZXJdOw0KCQkJcG9rZSgweDBlLGNvbnRyb2xfYnl0 ZSk7DQp9DQoNCnZvaWQgcmlnaHRfc3RlcChpbnQgZGlyZWN0aW9uKSAgICAgICAgICAgICAgICAg IC8qIHJpZ2h0IG1vdG9yIGNvbnRyb2wgKi8NCnsNCgkJCWlmIChkaXJlY3Rpb24gPT0gRk9SV0FS RFMpDQoJCQkJCSAgcmlnaHRfbW90b3JfcG9pbnRlciArPTE7DQoJCQllbHNlDQoJCQkJCSAgcmln aHRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVuZ3RoIC0gMSk7DQoNCgkJCXJpZ2h0X21vdG9y X3BvaW50ZXIgJj0gKGN5Y2xlX2xlbmd0aCAtIDEpOw0KDQp9DQoNCnZvaWQgbGVmdF9zdGVwKGlu dCBkaXJlY3Rpb24pICAgICAgICAgICAgICAgICAgIC8qIGxlZnQgbW90b3IgY29udHJvbCovDQp7 DQoJCQlpZiAoZGlyZWN0aW9uID09IEZPUldBUkRTKQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRl ciArPSAxOw0KCQkJZWxzZQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVu Z3RoIC0gMSk7DQoNCgkJCWxlZnRfbW90b3JfcG9pbnRlciAmPSAoY3ljbGVfbGVuZ3RoIC0gMSk7 DQoNCn0NCg0Kdm9pZCBhYm91dF9mYWNlKGludCBkaXIpICAgICAgICAgICAgICAgIC8qIDE4MCBk ZWdyZWUgdHVybiBvbiBhIGRpbWUgKi8NCnsNCglpbnQgaTsNCg0KCWlmIChkaXIgPT0gUklHSFQp DQoJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2krKykNCgkJew0KCQkJbGVmdF9zdGVwKEZPUldBUkRT KTsNCgkJCXJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXN0ZXBwZXJzX291dCgpOw0KCQkJbXNs ZWVwKFNMT1cpOw0KCQkJYW8oKTsNCgkJIH0NCg0KCSBlbHNlDQoJCSBmb3IgKGk9MDtpPD1IQUxG VFVSTjtpKyspDQoJCSB7DQoJCQlsZWZ0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXJpZ2h0X3N0ZXAo Rk9SV0FSRFMpOw0KCQkJc3RlcHBlcnNfb3V0KCk7DQoJCQltc2xlZXAoU0xPVyk7DQoJCQlhbygp Ow0KCQkgIH0NCn0NCg0Kdm9pZCByaWdodF90dXJuKCkgICAgICAgICAgICAgICAgICAgICAgIC8q IDkwIGRlZ3JlZSByaWdodCB0dXJuIG9uIGEgZGltZSAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZv ciAoaT0wO2k8PVFVQVJURVJUVVJOO2krKykNCgkJCXsNCgkJCQkJICBsZWZ0X3N0ZXAoRk9SV0FS RFMpOw0KCQkJCQkgIHJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQo KTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQkJCSAgYW8oKTsNCgkJCX0NCg0KfQ0KDQp2b2lk IGxlZnRfdHVybigpICAgICAgICAgICAgICAgICAgICAgICAgLyogOTAgZGVncmVlIGxlZnQgdHVy biBvbiBhIGRpbWUgKi8NCnsNCgkJCWludCBpOw0KDQoJCQlmb3IgKGk9MDtpPD1RVUFSVEVSVFVS TjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEJBQ0tXQVJEUyk7DQoJCQkJCSAgcmlnaHRf c3RlcChGT1JXQVJEUyk7DQoJCQkJCSAgc3RlcHBlcnNfb3V0KCk7DQoJCQkJCSAgbXNsZWVwKFNM T1cpOw0KCQkJCQkgIGFvKCk7DQoJCQl9DQp9DQoNCnZvaWQgcmlnaHRfd2hlZWwoKSAgICAgICAg ICAgICAgICAgICAgICAvKiBncmFkdWFsIHJpZ2h0IHR1cm4gKi8NCnsNCgkJCWludCBpOw0KDQoJ CQlmb3IgKGk9MDtpPD1IQUxGVFVSTjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEZPUldB UkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9 DQp9DQoNCnZvaWQgbGVmdF93aGVlbCgpICAgICAgICAgICAgICAgICAgICAgICAvKiBncmFkdWFs IGxlZnQgdHVybiAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2kr KykNCgkJCXsNCgkJCQkJICByaWdodF9zdGVwKEZPUldBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19v dXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9DQp9DQoNCg0Kdm9pZCBzdGVwIChpbnQg ZGlyLCBpbnQgbnVtc3RlcHMsIGludCBkZWxheSkNCnsNCiAgICAgICAgaW50IHN0ZXAsc3RwOw0K ICAgICAgICBpbnQgYmVnaW49bnVtc3RlcHMvMTA7DQoJaW50IGNvbnRpbnVlOw0KICAgICAgICBs b25nIGdyYWQ9KGxvbmcpYmVnaW47DQoNCglzeXN0ZW1fcHdtX29mZigpOw0KDQoJZm9yIChzdGVw PTA7c3RlcDxiZWdpbjtzdGVwKyspDQoJew0KCQltc2xlZXAoZ3JhZCk7DQoJCWxlZnRfc3RlcChk aXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51ZT1z dGVwOw0KICAgICAgICAgICAgICAgIGdyYWQ9Z3JhZC0xTDsNCg0KCX0NCiAgICAgICAgd2hpbGUo Y29udGludWU8YmVnaW4qOSkNCgl7DQoJCW1zbGVlcCgobG9uZylkZWxheSk7DQoJCWxlZnRfc3Rl cChkaXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51 ZSsrOw0KICAgICAgICAgICAgICAgIHN0cD1jb250aW51ZTsNCgkgfQ0KDQogICAgICAgICB3aGls ZShzdHA8bnVtc3RlcHMpDQogICAgICAgICB7DQogICAgICAgICAgICAgIGRlbGF5PWRlbGF5KzE7 DQogICAgICAgICAgICAgIG1zbGVlcCgobG9uZylkZWxheSk7DQogICAgICAgICAgICAgIGxlZnRf c3RlcChkaXIpOw0KICAgICAgICAgICAgICByaWdodF9zdGVwKGRpcik7DQogICAgICAgICAgICAg IHN0ZXBwZXJzX291dCgpOw0KICAgICAgICAgICAgICBzdHArKzsNCiAgICAgICAgIH0NCglhbygp Ow0KDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0K --0-0-0-0-0-0-0-0-____====$%&-- Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-1.txt000644 000765 000024 00000176541 12503672226 023352 0ustar00coppitstaff000000 000000 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Message-Id: <359A5C2E.202B4BA3@comp.uark.edu> Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== This code was written for MS C++4.0 running on Win95. //************** BEGIN: serial_HOST.c /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on a host PC. */ #include #include #include #include #include "serial_HOST.h" void main(int argc, char *argv[]) { motor(0, 100); motor(1, 100); motor(2, 100); motor(3, 100); sleep(1000); motor(0, -100); motor(1, -100); motor(2, -100); motor(3, -100); sleep(1000); ao(); print("\nThis is a test"); printf("Knob is %d\n", knob() ); printf("Analog(0) is %d\n", analog(0)); printf("Digital(0) is %d\n", digital(0)); printf("Analog(1) is %d\n", analog(1)); printf("Digital(1) is %d\n", digital(1)); printf("Analog(2) is %d\n", analog(2)); printf("Digital(2) is %d\n", digital(2)); printf("Analog(3) is %d\n", analog(3)); printf("Digital(3) is %d\n", digital(3)); printf("Analog(4) is %d\n", analog(4)); printf("Digital(4) is %d\n", digital(4)); printf("Analog(5) is %d\n", analog(5)); printf("Digital(5) is %d\n", digital(5)); printf("Analog(6) is %d\n", analog(6)); printf("Digital(6) is %d\n", digital(6)); printf("Analog(7) is %d\n", analog(7)); printf("Digital(7) is %d\n", digital(7)); printf("Analog(8) is %d\n", analog(8)); printf("Digital(8) is %d\n", digital(8)); printf("Analog(9) is %d\n", analog(9)); printf("Digital(9) is %d\n", digital(9)); printf("Analog(10) is %d\n", analog(10)); printf("Digital(10) is %d\n", digital(10)); printf("Analog(11) is %d\n", analog(11)); printf("Digital(11) is %d\n", digital(11)); printf("Analog(12) is %d\n", analog(12)); printf("Digital(12) is %d\n", digital(12)); printf("Analog(13) is %d\n", analog(13)); printf("Digital(13) is %d\n", digital(13)); printf("Analog(14) is %d\n", analog(14)); printf("Digital(14) is %d\n", digital(14)); printf("Analog(15) is %d\n", analog(15)); printf("Digital(15) is %d\n", digital(15)); beep(); sleep(1000); while (! stop_button() ) { sprintf(buffer, "%d.0", (knob() * 10)); tone( buffer, "0.1"); } } //************** END: serial_HOST.c //************** BEGIN: serial_HOST.h /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 #define sleep(NUM) _sleep(NUM) #define SERIALWAIT 5 unsigned short PORT = 0x3f8; // LPT1: 0x378 COM1: 0x3f8 int send(int i) { int retval; retval = _outp( PORT, i); _sleep(SERIALWAIT); return retval; } int receive() { int retval; retval = _inp( PORT); _sleep(SERIALWAIT); retval = _inp( PORT); return retval; } void hangup() { send(QUIT); } void print(char buffer[]) { int i; send(PRINTF); for (i = 0; buffer[i] != 0; i++) send(buffer[i]); send('\0'); } void motor(int motornum, int power) { send(MOTOR); send(motornum); send(power + 100); // taken off on the other end } int analog(int sensor) { send(ANALOG); send(sensor); return receive(); } int digital(int sensor) { send(DIGITAL); send(sensor); return receive(); } void ao() { send(AO); } int knob() { send(KNOB); return receive(); } void beep() { send(BEEP); } void tone(char f1[], char f2[]) { int i; send(TONE); for (i = 0; f1[i] != 0; i++) send(f1[i]); send('\0'); for (i = 0; f2[i] != 0; i++) send(f2[i]); send('\0'); _sleep((unsigned long) (atof(f2) * 1000)); // to keep from overflowing serial line } void interactive() { char c; char key = ' '; while (key != 'q') { key = getch(); send(key); printf("Sent %c\n", key); c = receive(); printf("Got %c as a return value\n", c); } } int start_button() { send(START_BUTTON); return receive(); } int stop_button() { send(STOP_BUTTON); return receive(); } //************** END: serial_HOST.h //************** BEGIN: serial_HB.c /* VC++4.0 HandyBoard Programming System (Parts taken from other HB programs) Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on the HB */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 int _isspace(int a) /* returns 1 for space or tab, 0 otherwise */ /* internal routine used by atof() and cgets() */ { return ((a == 32) || (a == 9)); /* 32 is space, 9 is tab */ } /*****************************************************************************/ int _isdigit(int a) /* returns 1 if a digit 0-9, 0 otherwise */ /* internal routine used by atof() */ { return ((a >= 48) && (a <= 57)); /* 48 is '0', 57 is '9' */ } float atof(char s[]) /* Convert a string containing a number in ASCII */ /* form (integer, float, or exponential float) to a */ /* float. Strips whitespace characters (space and */ /* tab) from the front of the string, but stops */ /* parsing at the first (unexpected) non-numeric */ /* character if the string has garbage at the end. */ /* This means that " 34.3foo78" translates to 34.3. */ /* Modified from atof() function in the standard */ /* library of the Hi-Tec C compiler for CP/M. */ /* Note: all string literals converted to decimal */ /* form because IC can't deal with string literals */ /* in math calculations. */ /* Also note: very ugly code because IC will not */ /* allow any math operations on pointers! Thus, the */ /* the number string has to be treated as an array! */ /* Also also note: no error handling; assumes that */ /* the string is a valid representation of a number! */ /* Valid range for exponential-format numbers is */ /* approximately 2.0e-38 to 3.4e+38. */ { int i=0; /* index into string array */ int sign=0; /* mantissa sign flag: 0=positive, 1=negative */ int exp0=0; /* mantissa exponent counter */ int eexp=0; /* E-form exponent counter */ int expsign=0; /* exponent sign flag: 0=positive, 1=negative */ float m=0.0; /* mantissa accumulator */ /* skip any leading whitespace (space, tab) */ while (_isspace(s[i])) i++; /* skip it */ /* check for mantissa sign */ if (s[i] == 45) /* 45 is '-' */ { sign = 1; /* flag minus sign */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get all digits up to either a decimal point or an e/E */ while (_isdigit(s[i])) { m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } /* no more digits, so check for decimal point */ if (s[i] == 46) /* 46 is '.' */ { i++; /* point to next */ /* get all digits after decimal point */ while (_isdigit(s[i])) { exp0--; m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } } /* check for e/E exponential form */ if ((s[i] == 101) || (s[i] == 69)) /* 101 is 'e', 69 is 'E' */ { i++; /* point to next */ /* check for exponent sign */ if (s[i] == 45) /* 45 is '-' */ { expsign = 1; /* flag negative exponent */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get exponent */ while (_isdigit(s[i])) { eexp = eexp*10 + s[i] - 48; /* 48 is '0' */ i++; /* point to next */ } /* adjust exponent sign */ if (expsign) eexp = -eexp; /* make it negative */ } /* compute absolute value of final float */ exp0 += eexp; while (exp0 < 0) /* for negative exponents */ { m = m / 10.0; exp0++; } while (exp0 > 0) /* for positive exponents */ { m = m * 10.0; exp0--; } /* adjust final float sign from mantissa */ if (sign) return (-m); /* negative */ else return (m); /* positive */ } void disable_pcode_serial() /* necessary to receive characters using serial_getchar */ { poke(0x3c, 1); } void reenable_pcode_serial() /* necessary for IC to interact with board again */ { poke(0x3c, 0); } /* ====================================================================== For sending and receiving single bytes, you can use Randy's IC code: */ void serial_putchar(int c) { while (!(peek(0x102e) & 0x80)); /* wait until serial transmit empty */ poke(0x102f, c); /* send character */ } int serial_getchar() { while (!(peek(0x102e) & 0x20)); /* wait for received character */ return peek(0x102f); } void main(void) { int pos, c = ' ', var1, var2; float f1, f2; char buffer[80]; disable_pcode_serial(); beep(); printf("\nSerial IO Mode!"); printf("Listening..."); msleep(500L); while (c != 'q') { c = serial_getchar(); /* printf("[%d] ", c); */ if (c == MOTOR) { var1 = serial_getchar(); var2 = serial_getchar() - 100; motor(var1, var2); } else if (c == AO) { ao(); } else if (c == ANALOG) { var1 = serial_getchar(); serial_putchar(analog(var1)); } else if (c == DIGITAL) { var1 = serial_getchar(); serial_putchar(digital(var1)); } else if (c == PRINTF) { pos = 0; while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; printf(buffer); } else if (c == TONE) { pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f1 = atof(buffer); pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f2 = atof(buffer); tone(f1, f2); } else if (c == START_BUTTON) { serial_putchar(start_button()); } else if (c == STOP_BUTTON) { serial_putchar(stop_button()); } else if (c == BEEP) { beep(); } else if (c == KNOB) { serial_putchar(knob()); } } reenable_pcode_serial(); printf("\nHB Mode!"); } //************** END: serial_HB.c From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA32480; Tue, 7 Jul 1998 20:33:03 -0400 Received: from wormwood.ee.byu.edu (wormwood.ee.byu.edu [128.187.30.54]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30127 for ; Tue, 7 Jul 1998 19:48:43 -0400 (EDT) Received: from wormwood (localhost [127.0.0.1]) by wormwood.ee.byu.edu with SMTP (8.7.6/8.7.1) id RAA26916 for ; Tue, 7 Jul 1998 17:48:42 -0600 (MDT) Sender: goldt@ee.byu.edu Message-Id: <35A2B3D9.1260@et.byu.edu> Date: Tue, 07 Jul 1998 17:48:41 -0600 From: "Timothy B. Gold" X-Mailer: Mozilla 3.04Gold (X11; I; HP-UX B.10.20 9000/780) Mime-Version: 1.0 To: handyboard@media.mit.edu Subject: Interrupt Handler for Serial communication Content-Type: multipart/mixed; boundary="------------18CC6AC44E2E" This is a multi-part message in MIME format. --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Here's a bit of code that will buffer incoming serial information so that no information will be lost when transmitting to the handy board. There are two files: serial_isr.c and serial_isr.asm. You'll need to assemble the .asm file using as11_ic, and then both the .c file and the .icb file need to be loaded onto the handy board. I'm sure improvements could be made to the code to clean it up a little, but it's a start (and I haven't had any problems with it yet). Enjoy! --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii; name="serial_isr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="serial_isr.c" /* C program to read serial port with interrupt service routine */ /* First version: Written by Anton Wirsch 20 Nov 1997 */ /* Second Version: Written by Tim Gold 27 May 1998 BYU Robotics Lab goldt@et.byu.edu Really, the only thing left from the original code are a few lines in the .asm file. Everything else I pretty much had to rewrite from scratch to get it to work the way I wanted to. But the orignal code by Anton was a very helpful starting point. Needed files: serial_isr.c serial_isr.icb serial_isr.asm (needed to change the buffer size) The buffer size here is 32 bytes (probably much larger than it needs to be.) To change the buffer size, do the following: 1. Change the BUFFER_SIZE constant below to the desired number of bytes. 2. Edit the line(s) in the serial_isr.asm which contain the word "EDIT" in the comment so that the value matches that of BUFFER_SIZE. 3. Recreate the serial_isr.icb file by typing the following: > as11_ic serial_isr.asm */ #define BUFFER_SIZE 32 /* change buffer size here -- see above */ /* various constants used by the program... */ #define BAUD 0x102b /* baud rate set to 9600 */ #define SCCR2 0x102d #define SCCR1 0x102c #define SCSR 0x102e #define SCDR 0x102f int buffer[BUFFER_SIZE]; /* this is the actual buffer */ void initSerial() { /* Call this routine to activate the serial interrupt handler. */ int i,temp; /* clear out buffer */ for(i=0; i as11_ic serial_isr.asm */ /* change this line to match your library path... */ #include "/usr/local/ic/libs/6811regs.asm" ORG MAIN_START variable_CURRENT: FDB 00 * ptr to next data to be read by user variable_INCOMING: FDB 00 * number of bytes received (circular count) variable_BASE_ADDR: FDB 00 * base address of buffer (to be set by init routine) variable_DATA_FLAG: FDB 00 * flag set when data is available variable_buffer_ptr: FDB 00 * pointer to CURRENT buffer subroutine_initialize_module: /* change this line to match your library path... */ #include "/usr/local/ic/libs/ldxibase.asm" ldd SCIINT,X std interrupt_code_exit+1 ldd #interrupt_code_start std SCIINT,X rts interrupt_code_start: ldad variable_INCOMING * store INCOMING into AB cmpb #00 * compare B with 0 bhi skip * goto "skip" if (B > 0) ldx variable_BASE_ADDR * STORE ADDRESS OF ARRY IN X inx * SKIP THE FIRST (?) inx * TWO BYTES (?) inx * OFFSET TO THE HIGHER BYTE (?) stx variable_buffer_ptr * SAVE PTR VALUE bra cont skip: ldx variable_buffer_ptr * load buffer pointer into x cont: ldad variable_INCOMING * load INCOMING into AB incb * increment INCOMING cmpb #32 * compare B and 32 --EDIT TO CHANGE BUFFER SIZE-- beq reset_count * if a=32, goto reset_count bra cont1 reset_count: ldad #00 * set count to zero cont1: stad variable_INCOMING * store AB into INCOMING ldab SCSR * load SCSR (SCI status register) into B (why?) ldab SCDR * load SCSR (SCI data register) into B stab ,X * store data in array inx * increment by two bytes inx stx variable_buffer_ptr * save the pointer value ldad #01 * load 1 into AB stad variable_DATA_FLAG * store AB into DATA_FLAG (indicating data is available) interrupt_code_exit: jmp $0000 --------------18CC6AC44E2E-- From aarone@sirius.com Wed Jul 1 02:44:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA22669; Wed, 1 Jul 1998 02:44:06 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id CAA13214 for ; Wed, 1 Jul 1998 02:01:55 -0400 (EDT) Received: from edsinger (ppp-asfm03--126.sirius.net [205.134.240.126]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with ESMTP id XAA26862 for ; Tue, 30 Jun 1998 23:01:54 -0700 (PDT) Message-Id: <199807010601.XAA26862@mail3.sirius.com> From: "Aaron Edsinger" To: "handy" Subject: Serial Interface Date: Wed, 1 Jul 1998 02:06:39 +0100 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1162 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I've been having some problems using my HandyBoard to talk directly to my PC via the serial interface. I disable Interactive C and then Poke() and Peek() as has been described on this list. I send short character strings from my PC to the HandyBoard under Windows 95. If I send strings longer than 2 characters, it seems that some of the characters get lost. This behavior seems to be affected by repositioning or slightly modifying the code, suggesting perhaps a timing issue. Why might this be? Is there any way to check for an error situation? Thanks for any help, Aaron From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA23518; Thu, 16 Jul 1998 03:13:49 -0400 Received: from hq.freegate.com ([208.226.86.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA18991 for ; Thu, 16 Jul 1998 02:17:47 -0400 (EDT) Received: (qmail+freegate 6968 invoked by alias); 16 Jul 1998 06:17:38 -0000 Received: from dialip-04.hq.freegate.com (HELO freegate.com) (208.226.86.222) by hq.freegate.com with SMTP; 16 Jul 1998 06:17:38 -0000 Message-Id: <35AD9BDA.3A9EC8F7@freegate.com> Date: Wed, 15 Jul 1998 23:21:14 -0700 From: Chuck McManis Reply-To: cmcmanis@freegate.com Organization: Freegate Corporation X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: David Rye Cc: handyboard@media.mit.edu Subject: Re: Handyboard/RWP without p-code References: <3.0.32.19980716151646.00809d20@nemo.mech.eng.usyd.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Get a copy of icc11 v5.0 or later (from www.imagecraft.com) and use the handyboard library from their site. --Chuck From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA20653; Wed, 1 Jul 1998 05:33:51 -0400 Received: from alpha.delta.edu (alpha.delta.edu [161.133.129.3]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id EAA12514 for ; Wed, 1 Jul 1998 04:41:22 -0400 (EDT) Received: from pm295-18.dialip.mich.net by alpha.delta.edu; (5.65v3.0/1.1.8.2/06Jan97-0932AM) id AA31111; Wed, 1 Jul 1998 04:44:45 -0400 Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id WAA20239; Tue, 30 Jun 1998 22:34:32 -0400 (EDT) Date: Tue, 30 Jun 1998 22:34:31 -0400 (EDT) From: David Kott Sender: dakott@kott.my.domain To: brian-c@technologist.com Cc: handyboard@media.mit.edu Subject: Re: microcontroller In-Reply-To: <199806291430.KAA07909@web01.globecomm.net> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 29 Jun 1998 brian-c@technologist.com wrote: > -I'd like to say thanks to all the folks who replied > to my question on the microcontroller speeds. > > Here's another general question about them though. > Should any unused pins be left open or should they > be grounded? > Eeeeeeeeeeek! Outputs left floating, CMOS inputs taken to ground with a 4.7K resistor... presuming, of course, that a Logic 0 on that input won't generate adverse effects, e.g. a grounded active low interrupt line might be a problem. Such inputs should be taken to +5 with a 4.7K resistor. Floating CMOS inputs have a tendency to oscillate with the merest whisper of a voltage. TTL inputs may be left floating. Driving an output externally will just heat up your CPU.. or worse. -d -- The box said "Requires Windows 95/NT or better"... So I got Unix. Free the Source. Free your Computer... http://www.FreeBSD.org http://www.NetBSD.org http://www.OpenBSD.org From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA06355; Sun, 22 Mar 1998 01:52:45 -0500 Received: from cyber.sfgate.com (cyber.sfgate.com [198.93.154.11]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id BAA23676 for ; Sun, 22 Mar 1998 01:08:09 -0500 (EST) Received: from localhost by cyber.sfgate.com with smtp (Smail3.2 #1) id m0yGduz-000Is1C; Sat, 21 Mar 1998 22:07:37 -0800 (PST) Date: Sat, 21 Mar 1998 22:07:37 -0800 (PST) From: Richard X-Sender: rshirk@cyber To: handyboard@media.mit.edu Subject: Frob nobs and IR Message-Id: Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-890546857=:21628" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII OK...Im now pretty happy with states of things but I still have a few questions I hope you can help me answer. The code attached works and everything, but only when i take the bit about playing the songs out. problem 1) It keeps saying that play is undefined. I saw that before and fixed it by changing the names of the labels of the songs. I tried it this time and it didnt work...i was wondering if anyone out there knows why it does this and how to correct it.... problem 2) I figured out (thanks to you guys) how to work the built in IR sensor to detect and act upon 4 signals. One is for behing hostile, 3 is for seeking, signal 5 is when it gets annoyed, and 7 it just beeps and ignores it. The signal for being Hostile responds quickly and prints H on the screen but the others lag and i was wondering if you knew why this was. -Richard ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xbump2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: LyogVGhpcyBpcyAoc2xpZ2h0bHkgbW9kaWZpZWQpIGRlZmF1bHQgdG91Y2gg bmF2aWdhdGlvbiAqLw0gICAgICAgICBjaGFyIHBuX3NvbmdbXT0gIjEjZCA0 ZTNyMSNmNGczcjEjZCAzZTEjZjNnMWMzYkQxZTNnMWIgOCZiMmIyYTJnMmUy ZDEwZSAgICAgIDdyMSNkIDRlM3IxI2Y0ZzNyMSNkIDNlMSNmM2cxYzNiMWcz YjFlIDI4JmUgRDNyMSNkIDRlM3IxI2Y0ZzNyMSNkICAgICAgM2UxI2YzZzFj M2JEMWUzZzFiIDgmYjJiMmEyZzJlMmQxMGUgMTJyIFUzZTFkM2IxYTNnMSNm ICAgICAgMSZiM2ExJmIzYTEmYjNhMSZiM2EgMmcyZTJkMjBlIjsNDSAgY2hh ciBsdHVuZV9zb25nW109ICJVM2UxZDJjMmQyZTJkMmUyYzJkMmQyZDZkMnIg M2QxYzJiMmMyZDIjYzJkMmIyYzJjMmM2YyI7DQ0Ndm9pZCBtYWluKCApDXsN ICAgLyogdGltaW5nIHBhcmFtZXRlcnMgKG1pbGxpc2Vjb25kcykgKi8NICAg bG9uZyByZXZlcnNlX3RpbWUgPSA1MDBMLCB0dXJuX3RpbWUgPSA1MDBMLCB0 dXJuYXJvdW5kX3RpbWUgPSAxMDAwTDsNICAgIHNvbnlfaW5pdCAoMSk7DSAg ICBwcmludGYoIkF1dG9ub21vdXNcbiIpOw0gICAgbXNsZWVwKDUwMEwpOw0g ICAgcHJpbnRmKCJSb2JvdGljXG4iKTsNICAgIG1zbGVlcCg1MDBMKTsNICAg IHByaW50ZigiTmF2aWdhdGlvblxuIik7DSAgICBtc2xlZXAoNTAwTCk7DSAg ICB7DSAgICAgICAgIGlmICgoIGtub2IoICkgKSA9PSAyNTUpDSAgICAgICAg IHsNICAgICAgICAgICAgICAgcGxheSAocG5fc29uZyk7DSAgICAgICAgICB9 DSAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9PSAwKQ0gICAgICAg ICAgew0gICAgICAgICAgICAgICAgcGxheSAobHR1bmVfc29uZyk7DSAgICAg ICAgICB9DSAgICAgICAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9 PSAxMTYpDSAgICAgICAgICB7DSAgICAgICAgICAgICAgICBwcmludGYoIkhF TExPLCBKVURHRVMhXG4iKTsNICAgICAgICAgICAgICAgIG1zbGVlcCg1MDBM KTsNICAgICAgICAgIH0NICAgIH0NDSAgIHByaW50ZiggIlByZXNzIFNUQVJU XG4iICk7DSAgIHN0YXJ0X3ByZXNzKCk7ICAgLyogd2FpdCAndGlsIGJ1dHRv biBpcyBwcmVzc2VkICovDSAgIGJlZXAoKTsNICAgcHJpbnRmKCAiU3RhbmQg YmFjay4uLlxuIiApOw0gICBzbGVlcCggMS4wICk7IA0gICAvKiBpbml0aWF0 ZSBmb3J3YXJkIG1vdGlvbiAqLw0gICBmZCggMiApOw0gICBmZCggMyApOw0g ICB3aGlsZSggMSApICAgLyogZmVlZGJhY2sgbG9vcCAqLw0gICB7DSAgICAg IGlmKCAhIGRpZ2l0YWwoIDcgKSApICAgLyogY2hlY2sgbGVmdCBidW1wZXIg Ki8NICAgICAgew0gICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJl ZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAg ICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUgKTsNDSAgICAgICAgIC8qIHR1 cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMg KTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNDSAgICAgICAgIC8q IHJlc2V0IGZvcndhcmQgbW90aW9uICovDSAgICAgICAgIHByaW50ZiggIjAi ICk7DSAgICAgICAgIGZkKCAyICk7DSAgICAgICAgIGZkKCAzICk7DQ0gICAg ICB9DQ0gICAgICBlbHNlIGlmKCAhIGRpZ2l0YWwoIDExICkgKSAgIC8qIGNo ZWNrIG1pZGRsZSBidW1wZXIgKi8NICAgICAgew0gICAgICAgICAvKiByZXZl cnNlICovDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAg ICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUg KTsNDSAgICAgICAgIC8qIHR1cm4gYXJvdW5kICovDSAgICAgICAgIGZkKCAy ICk7DSAgICAgICAgIGJrKCAzICk7DSAgICAgICAgIG1zbGVlcCggdHVybmFy b3VuZF90aW1lICk7DQ0gICAgICAgICAvKiByZXNldCBmb3J3YXJkIG1vdGlv biAqLw0gICAgICAgICBwcmludGYoICIxIiApOw0gICAgICAgICBmZCggMiAp Ow0gICAgICAgICBmZCggMyApOw0gICAgICB9DQ0gICAgICBlbHNlIGlmKCAh IGRpZ2l0YWwoIDE1ICkgKSAgIC8qIGNoZWNrIHJpZ2h0IGJ1bXBlciAqLw0g ICAgICB7DSAgICAgICAgIC8qIHJldmVyc2UgKi8NICAgICAgICAgYmVlcCgp Ow0gICAgICAgICBiayggMiApOw0gICAgICAgICBiayggMyApOw0gICAgICAg ICBtc2xlZXAoIHJldmVyc2VfdGltZSApOw0NICAgICAgICAgLyogdHVybiBs ZWZ0ICovDSAgICAgICAgIGJrKCAyICk7DSAgICAgICAgIGZkKCAzICk7DSAg ICAgICAgIG1zbGVlcCggdHVybl90aW1lICk7DQ0gICAgICAgICAvKiByZXNl dCBmb3J3YXJkIG1vdGlvbiAqLw0gICAgICAgICBwcmludGYoICIyIiApOw0g ICAgICAgICBmZCggMiApOw0gICAgICAgICBmZCggMyApOw0gICAgIH0NICAg ICBlbHNlIGlmKGlyX2RhdGEoIDAgKSA9PSAxMjggKSAvKkNoZWNrIElSIHJl Y2lldmVyKi8NICAgICAgew0gICAgICAgICAgcHJpbnRmKCJIIik7DSAgICAg ICAgIC8qIHR1cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAg ICAgICAgIC8qQXR0YWNrLi4uUm9ib3QgaXMgSG9zdGlsZSAqLw0gICAgICAg ICAgYmVlcCgpOyANICAgICAgICAgIGZkKCAyICk7DSAgICAgICAgICBmZCgg MyApOw0gICAgICAgICAgYmVlcCgpOw0gICAgIH0NICAgICBlbHNlIGlmKGly X2RhdGEoIDAgKSA9PSAxMzAgKSAvKkNoZWNrIElSIHJlY2lldmVyKi8NICAg ICAgew0gICAgICAgICAgcHJpbnRmKCJTIik7DSAgICAgICAgIC8qIHR1cm4g cmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMgKTsN ICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAgICAgICAgIC8qUm9i b3QgaXMgaW4gbG92ZSEgRG8gYSBsaWwgZGFuY2UhICovDSAgICAgICAgICBi ZWVwKCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgZmQoIDIgKTsN ICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBtc2xlZXAoIHR1cm5fdGlt ZSApOw0gICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgIGJrKCAzICk7DSAg ICAgICAgICBtc2xlZXAoIHJldmVyc2VfdGltZSApOyANICAgICAgICAgIC8q R28gZm9yd2FyZCEqLw0gICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgIGZk KCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7DSAg ICAgfQ0gICAgIGVsc2UgaWYoaXJfZGF0YSggMCApID09IDEzMiApIC8qQ2hl Y2sgSVIgcmVjaWV2ZXIqLw0gICAgICB7DSAgICAgICAgICBwcmludGYoIkEi KTsNICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJlZXAoKTsNICAg ICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNs ZWVwKCByZXZlcnNlX3RpbWUgKTsNICAgICAgICAgIC8qUm9ib3QgaXMgQW5u b3llZCEgVHVybnMgY29tcGxldGVseSBhcm91bmQgaW4gZGlndXN0Ki8gICAg ICAgDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmVlcCgpOyANICAgICAg ICAgYmVlcCgpOw0gICAgICAgICBmZCggMiApOw0gICAgICAgICBiayggMyAp Ow0gICAgICAgICBtc2xlZXAoIHR1cm5hcm91bmRfdGltZSApOw0gICAgICAg ICAgZmQoIDIgKTsNICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0NICAg ICB9DSAgICAgZWxzZSBpZihpcl9kYXRhKCAwICkgPT0gMTM0ICkgLypDaGVj ayBJUiByZWNpZXZlciovDSAgICAgIHsNICAgICAgICAgIHByaW50ZigiSSIp Ow0gICAgICAgICAgLypSb2JvdCBkb2Vzbid0IGNhcmUgKi8NICAgICAgICAg IGJlZXAoKTsgDSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7 IA0gICAgICAgICAgYmVlcCgpOw0gICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0gDSAg ICB9DQ0gICB9DX0N ---559023410-1804928587-890546857=:21628-- From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA00723; Mon, 27 Jul 1998 18:34:05 -0400 Received: from theory.phys.vt.edu (theory.phys.vt.edu [128.173.176.33]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id RAA19984 for ; Mon, 27 Jul 1998 17:22:26 -0400 (EDT) Received: from localhost (wallace@localhost) by theory.phys.vt.edu (8.8.5/8.8.5) with SMTP id RAA00312 for ; Mon, 27 Jul 1998 17:22:24 -0400 (EDT) Date: Mon, 27 Jul 1998 17:22:24 -0400 (EDT) From: Mark Wallace To: handyboard@media.mit.edu Subject: sonar.c for the handyboard Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I have a handyboard and 6500 series poloroid ultrasonic ranging system. I have downloaded the sonar.c programs used to drive the transducer for distance measurements. There appears to be a problem, or atleast I think there is, with it. The sonar device is supposed to give distances of up to 35ft but the TCNC time register is 16 bit and in the program it says "if ((peekwork(0x100e)-start_time) < 0)" too much time has elapsed and it returns -1. Therefore as soon as about 32700 counts goes by, that value will go negative. I believe hex goes from 0 to 32768 then -32768 to -1. In this case the difference will be < 0 if the object is greater then about 9 ft. I have taken this out of the program and can get accurate measurements up to atleast 30 ft but I have to look at the value given and add multiples of 2^16 to it to figure out where it is. Taking this out of the program also can get you stuck if you really are out of range. I have looked on the motorola web pages to see about this clock and it says that the clock goes till it reachs $ffff and then flags somewhere that there is an overflow and then starts over. I don't know how to find out were in the chip this information might be stored. I know the TCNT time register is at 0x100e from the notes on Simplified Sonar for the Handy Board but I don't know where that overflow flag is stored. I thought that maybe by setting this flag and using it in the loop you might be about to get a greater distance out of you measurement. Another question I have is about IC. I would like to display numbers greater then 32000 and right now there are several int type variables and normal C comands don't seem to work to make a "long" or any other type that are larger then 32000. How does IC handle larger numbers? I am only a student and don't have much experience with this stuff so I would appreciate any feedback I can get on either of these problems. Thanks. Mark Wallace e-mail mawalla3@vt.edu wallace@astro.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA15988; Mon, 3 Aug 1998 12:05:51 -0400 Received: from sps1.phys.vt.edu (sps1.phys.vt.edu [128.173.176.53]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA12381 for ; Mon, 3 Aug 1998 11:16:53 -0400 (EDT) Received: from localhost (mwallace@localhost) by sps1.phys.vt.edu (8.8.7/8.8.7) with SMTP id LAA20283; Mon, 3 Aug 1998 11:16:50 -0400 Date: Mon, 3 Aug 1998 11:16:50 -0400 (EDT) From: Mark Wallace To: alf.kuchenbuch@usa.net Cc: handyboard@media.mit.edu Subject: Re: Polaroid trouble again In-Reply-To: <35C5C521.446B@eikon.e-technik.tu-muenchen.de> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I had this same problem when I got mine a few weeks ago. I ended up putting a capacitor from pin 1 to pin 3 on U2 of the sonar driver board. I also had to take out the 1k resistor from the BINH. It kept BINH at 1 V instead of Zero and that seamed to cause problems. As for the 6 ft problem, it should be closer to 9 ft. I think the problem there is the IC code you used. If you used the code for SONAR.C from the HB web site then there is a problem with it. What that program does is take the difference in time from the internal clock. the problem is that in the code it says that if the difference between start time and currnet time is negative too much time has elapsed. Well, this has a 16 bit counter so when the difference is greater the about 32,700 it becomes negative. If you do the math, that means at about 9 ft that happens so it tell you you are out of range. The way I fixed this was to slow the clock down. I looked up information on the motorola web page and found where the prescalers were for the clock. If you want to slow it down by a factor of four you can just add this line to you program in sonar_init() bit_set(0x1024, 1); I believe bit_set(0x1024, 2); will slow it down by a factor of 8 and bit_set(0x1024, 3); will slow it down by a factor of 16. There are better ways of fixing this problem but they appear much more complicated. For example the motorola chip has an overflow flag that says when the internal clock flips. You could incorporate that into your code instead of slowing the clock down. Good luck and I hope this helps. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan On Mon, 3 Aug 1998, Alf Kuchenbuch wrote: > Hi! > I am having trouble with my Polaroid sonar: > When I keep my HB hooked up > to external power, I will only get correct readings up to 20 inches. As > soon as I use battery power without hooking it up to external power, the > readings are correct up to 6 feet, not more! This sound like EMI, I > guess. I tried all the capacitor tricks from HB mailing list, but in > vain. Do you know a fix that works? > > Alf H. Kuchenbuch > From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA07529; Wed, 12 Aug 1998 13:10:06 -0400 Received: from quackerjack.cc.vt.edu (root@quackerjack.cc.vt.edu [198.82.160.250]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA05729 for ; Wed, 12 Aug 1998 12:13:53 -0400 (EDT) Received: from sable.cc.vt.edu (sable.cc.vt.edu [128.173.16.30]) by quackerjack.cc.vt.edu (8.8.8/8.8.8) with ESMTP id MAA20678 for ; Wed, 12 Aug 1998 12:20:09 -0400 (EDT) Received: from research10.phys.vt.edu (dhcp9.phys.vt.edu [128.173.176.166]) by sable.cc.vt.edu (8.8.8/8.8.8) with SMTP id MAA05159 for ; Wed, 12 Aug 1998 12:13:51 -0400 (EDT) Message-Id: <3.0.5.32.19980812121345.00796960@mail.vt.edu> X-Sender: mawalla3@mail.vt.edu (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Wed, 12 Aug 1998 12:13:45 -0400 To: Handyboard@media.mit.edu From: Mark Wallace Subject: serial library for C++ Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, I have a handy board with poloroid transducers and I am trying use the results of my distance measurments in a C++ program on the computer. I have found programs on the handyboard web page that should alow the handyboard to transmit information over the serial line. What I am looking for is if anyone knows were I could find a serial for Microsofts Visual C++ 5.0. I would like to find one that is free or sharware but any information on any serial that will work would be appreciated. Thanks. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu web page http://sps1.phys.vt.ede/~mwallace "What a waist it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-distruction" Carl Sagan From aarone@sirius.com Wed Sep 30 12:35:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v4.0/1.1/06Jun95-8.2MPM) id AA09172; Wed, 30 Sep 1998 12:35:05 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id KAA02849 for ; Wed, 30 Sep 1998 10:46:53 -0400 (EDT) Received: from aarone (ppp-asfm03--129.sirius.net [205.134.240.129]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id HAA08635; Wed, 30 Sep 1998 07:46:49 -0700 (PDT) Message-Id: <008901bdec9a$76f469d0$63f186cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Keith - Lui" Cc: "handy" Subject: Re: output to file Date: Wed, 30 Sep 1998 10:47:58 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Yes, Write a dos/windows client that reads the serial line and then writes it to file using the C stdio library. -----Original Message----- From: Keith - Lui To: handyboard@media.mit.edu Date: Wednesday, September 30, 1998 6:55 AM Subject: output to file >Dear all, > >I would like to output some HB data to a file, is that possible? > >Keith > From aarone@sirius.com Wed Aug 12 13:42:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA13439; Wed, 12 Aug 1998 13:42:19 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA10630 for ; Wed, 12 Aug 1998 12:48:27 -0400 (EDT) Received: from aarone (ppp-asfm05--041.sirius.net [205.134.241.41]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id JAA20821; Wed, 12 Aug 1998 09:48:24 -0700 (PDT) Message-Id: <004401bdc62a$e8ecc8c0$70f086cd@aarone.sirius.com> From: "Aaron Edsinger" To: "Mark Wallace" Cc: "handy" Subject: Re: serial library for C++ Date: Wed, 12 Aug 1998 12:53:41 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Check out this site. It works well. The only problem I had was timing issues when trying to read and write to the port too quickly. http://www.codeguru.com/show.cgi?general=/misc/misc_toc.shtml -----Original Message----- From: Mark Wallace To: Handyboard@media.mit.edu Date: Wednesday, August 12, 1998 9:25 AM Subject: serial library for C++ >Hello, > I have a handy board with poloroid transducers and I am trying use the >results of my distance measurments in a C++ program on the computer. I >have found programs on the handyboard web page that should alow the >handyboard to transmit information over the serial line. What I am looking >for is if anyone knows were I could find a serial library for Microsofts >Visual C++ 5.0. I would like to find one that is free or sharware but any >information on any serial librarys that will work would be appreciated. >Thanks. >Mark Wallace > > e-mail mawalla3@vt.edu > mwallace@sps1.phys.vt.edu >web page http://sps1.phys.vt.ede/~mwallace > >"What a waist it would be after 4 billion tortuous years of evolution if >the dominant organism contrived its own self-distruction" > Carl Sagan > From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Message-Id: <199807160644.QAA10921@war.Aus.Sun.COM> Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA03667; Mon, 6 Jul 1998 11:54:19 -0400 Received: from web04.globecomm.net (web04.globecomm.net [207.51.48.104]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30534 for ; Mon, 6 Jul 1998 19:24:28 -0400 (EDT) From: brian-c@technologist.com Received: (from root@localhost) by web04.globecomm.net (8.8.8/8.8.0) id TAA03097; Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Date: Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Message-Id: <199807062324.TAA03097@web04.globecomm.net> Content-Type: multipart/mixed; boundary="0-0-0-0-0-0-0-0-____====$%&" Mime-Version: 1.0 To: Terri A Mortvedt , handyboard@media.mit.edu Subject: Re: Steppers --0-0-0-0-0-0-0-0-____====$%& Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aleve.media.mit.edu id TAA30534 Dear Terri, If the motors turn sparatically, that means the coils are probably not hooked up in the correct order. Try swapping them around and see if anything improves. The motors you are using are the bipolar type. There=20 is a decent way of hooking up unipolar steppers to the HB at http://www.cctc.demon.co.uk/stepper.htm A basic difference between bipolar and unipolar is that unipolar motors have additional wires are=20 connected to the power supply. Bipolars also have more torque. Using fd(); and bk(); commands to power steppers is probably a lot to handle. I recommend trying the=20 method found on that link. There's even sample coding. You will have to modify some variables for the turn functions because your turning radius varies according to your distance between motors. I modified the step(); function to produce a gradual=20 increase in speed, and a gradual decrease in speed once the specified steps are almost complete.=20 I will attach my motors.c file as is. _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Brian Carvalho [ brian-c@ieee.org ] DeVRY Institute New Jersey _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF --------------------------------------------------- Get free personalized email at http://www.iname.com --0-0-0-0-0-0-0-0-____====$%& Content-Type: application/octet-stream Content-disposition: inline; filename=Motors.c Content-Transfer-Encoding: base64 LyogTW90b3JzLmMgKi8NCg0KLyoqKiBERUNMQVJBVElPTlMgKioqLw0KDQppbnQgRk9SV0FSRFMg PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpYWJsZXMgZm9yIGRpcmVj dGlvbiAqLw0KaW50IEJBQ0tXQVJEUyA9IDE7DQogDQppbnQgSEFMRlRVUk4gPSA3MDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlcyBmb3IgdHVybmluZyAqLw0KaW50IFFV QVJURVJUVVJOID0gSEFMRlRVUk4gLyAyOw0KIA0KaW50IFJJR0hUID0gMjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmFsdWVzIGZvciB0dXJucyAqLw0KaW50IExFRlQgPSA4 Ow0KDQppbnQgcmlnaHRfbW90b3JfcG9pbnRlciA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBt b3RvciBjb250cm9sIHZhbHVlcyAqLw0KaW50IGxlZnRfbW90b3JfcG9pbnRlciA9IDA7DQogDQog DQppbnQgY3ljbGVfbGVuZ3RoID0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBoYWxm IHN0ZXBwaW5nIHZhbHVlcyAqLw0KaW50IGxlZnRfc3RlcF90YWJsZVs0XSA9IHs0OCw0OSw1MSw1 MH07DQppbnQgcmlnaHRfc3RlcF90YWJsZVs0XSA9IHsxOTIsMTk2LDIwNCwyMDB9Ow0KDQpsb25n IFNMT1cgPSAyNUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWlsbGlzZWNv bmQgcGF1c2VzICovDQpsb25nIEZBU1QgPSA4TDsNCg0KLyoqKiBGVU5DVElPTlMgKioqLw0KDQoN CnZvaWQgc2V0ZmFzdChsb25nIEYpDQp7DQoJCQlGQVNUID0gRjsNCn0NCg0Kdm9pZCBzZXRzbG93 KGxvbmcgUykNCnsNCgkJCVNMT1cgPSBTOw0KfQ0KDQoNCnZvaWQgc3RlcHBlcnNfb3V0KHZvaWQp DQp7DQoJCQlpbnQgY29udHJvbF9ieXRlID0gMDsNCgkJCWNvbnRyb2xfYnl0ZSArPSBsZWZ0X3N0 ZXBfdGFibGVbbGVmdF9tb3Rvcl9wb2ludGVyXTsNCgkJCWNvbnRyb2xfYnl0ZSArPSByaWdodF9z dGVwX3RhYmxlW3JpZ2h0X21vdG9yX3BvaW50ZXJdOw0KCQkJcG9rZSgweDBlLGNvbnRyb2xfYnl0 ZSk7DQp9DQoNCnZvaWQgcmlnaHRfc3RlcChpbnQgZGlyZWN0aW9uKSAgICAgICAgICAgICAgICAg IC8qIHJpZ2h0IG1vdG9yIGNvbnRyb2wgKi8NCnsNCgkJCWlmIChkaXJlY3Rpb24gPT0gRk9SV0FS RFMpDQoJCQkJCSAgcmlnaHRfbW90b3JfcG9pbnRlciArPTE7DQoJCQllbHNlDQoJCQkJCSAgcmln aHRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVuZ3RoIC0gMSk7DQoNCgkJCXJpZ2h0X21vdG9y X3BvaW50ZXIgJj0gKGN5Y2xlX2xlbmd0aCAtIDEpOw0KDQp9DQoNCnZvaWQgbGVmdF9zdGVwKGlu dCBkaXJlY3Rpb24pICAgICAgICAgICAgICAgICAgIC8qIGxlZnQgbW90b3IgY29udHJvbCovDQp7 DQoJCQlpZiAoZGlyZWN0aW9uID09IEZPUldBUkRTKQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRl ciArPSAxOw0KCQkJZWxzZQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVu Z3RoIC0gMSk7DQoNCgkJCWxlZnRfbW90b3JfcG9pbnRlciAmPSAoY3ljbGVfbGVuZ3RoIC0gMSk7 DQoNCn0NCg0Kdm9pZCBhYm91dF9mYWNlKGludCBkaXIpICAgICAgICAgICAgICAgIC8qIDE4MCBk ZWdyZWUgdHVybiBvbiBhIGRpbWUgKi8NCnsNCglpbnQgaTsNCg0KCWlmIChkaXIgPT0gUklHSFQp DQoJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2krKykNCgkJew0KCQkJbGVmdF9zdGVwKEZPUldBUkRT KTsNCgkJCXJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXN0ZXBwZXJzX291dCgpOw0KCQkJbXNs ZWVwKFNMT1cpOw0KCQkJYW8oKTsNCgkJIH0NCg0KCSBlbHNlDQoJCSBmb3IgKGk9MDtpPD1IQUxG VFVSTjtpKyspDQoJCSB7DQoJCQlsZWZ0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXJpZ2h0X3N0ZXAo Rk9SV0FSRFMpOw0KCQkJc3RlcHBlcnNfb3V0KCk7DQoJCQltc2xlZXAoU0xPVyk7DQoJCQlhbygp Ow0KCQkgIH0NCn0NCg0Kdm9pZCByaWdodF90dXJuKCkgICAgICAgICAgICAgICAgICAgICAgIC8q IDkwIGRlZ3JlZSByaWdodCB0dXJuIG9uIGEgZGltZSAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZv ciAoaT0wO2k8PVFVQVJURVJUVVJOO2krKykNCgkJCXsNCgkJCQkJICBsZWZ0X3N0ZXAoRk9SV0FS RFMpOw0KCQkJCQkgIHJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQo KTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQkJCSAgYW8oKTsNCgkJCX0NCg0KfQ0KDQp2b2lk IGxlZnRfdHVybigpICAgICAgICAgICAgICAgICAgICAgICAgLyogOTAgZGVncmVlIGxlZnQgdHVy biBvbiBhIGRpbWUgKi8NCnsNCgkJCWludCBpOw0KDQoJCQlmb3IgKGk9MDtpPD1RVUFSVEVSVFVS TjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEJBQ0tXQVJEUyk7DQoJCQkJCSAgcmlnaHRf c3RlcChGT1JXQVJEUyk7DQoJCQkJCSAgc3RlcHBlcnNfb3V0KCk7DQoJCQkJCSAgbXNsZWVwKFNM T1cpOw0KCQkJCQkgIGFvKCk7DQoJCQl9DQp9DQoNCnZvaWQgcmlnaHRfd2hlZWwoKSAgICAgICAg ICAgICAgICAgICAgICAvKiBncmFkdWFsIHJpZ2h0IHR1cm4gKi8NCnsNCgkJCWludCBpOw0KDQoJ CQlmb3IgKGk9MDtpPD1IQUxGVFVSTjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEZPUldB UkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9 DQp9DQoNCnZvaWQgbGVmdF93aGVlbCgpICAgICAgICAgICAgICAgICAgICAgICAvKiBncmFkdWFs IGxlZnQgdHVybiAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2kr KykNCgkJCXsNCgkJCQkJICByaWdodF9zdGVwKEZPUldBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19v dXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9DQp9DQoNCg0Kdm9pZCBzdGVwIChpbnQg ZGlyLCBpbnQgbnVtc3RlcHMsIGludCBkZWxheSkNCnsNCiAgICAgICAgaW50IHN0ZXAsc3RwOw0K ICAgICAgICBpbnQgYmVnaW49bnVtc3RlcHMvMTA7DQoJaW50IGNvbnRpbnVlOw0KICAgICAgICBs b25nIGdyYWQ9KGxvbmcpYmVnaW47DQoNCglzeXN0ZW1fcHdtX29mZigpOw0KDQoJZm9yIChzdGVw PTA7c3RlcDxiZWdpbjtzdGVwKyspDQoJew0KCQltc2xlZXAoZ3JhZCk7DQoJCWxlZnRfc3RlcChk aXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51ZT1z dGVwOw0KICAgICAgICAgICAgICAgIGdyYWQ9Z3JhZC0xTDsNCg0KCX0NCiAgICAgICAgd2hpbGUo Y29udGludWU8YmVnaW4qOSkNCgl7DQoJCW1zbGVlcCgobG9uZylkZWxheSk7DQoJCWxlZnRfc3Rl cChkaXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51 ZSsrOw0KICAgICAgICAgICAgICAgIHN0cD1jb250aW51ZTsNCgkgfQ0KDQogICAgICAgICB3aGls ZShzdHA8bnVtc3RlcHMpDQogICAgICAgICB7DQogICAgICAgICAgICAgIGRlbGF5PWRlbGF5KzE7 DQogICAgICAgICAgICAgIG1zbGVlcCgobG9uZylkZWxheSk7DQogICAgICAgICAgICAgIGxlZnRf c3RlcChkaXIpOw0KICAgICAgICAgICAgICByaWdodF9zdGVwKGRpcik7DQogICAgICAgICAgICAg IHN0ZXBwZXJzX291dCgpOw0KICAgICAgICAgICAgICBzdHArKzsNCiAgICAgICAgIH0NCglhbygp Ow0KDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0K --0-0-0-0-0-0-0-0-____====$%&-- Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-2.txt000644 000765 000024 00000027250 12503672226 023343 0ustar00coppitstaff000000 000000 From jrh@jack.securepipe.com Tue Jan 13 03:19:47 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA08834; Tue, 13 Jan 1998 03:19:47 -0500 Received: from splat.securepipe.com (splat.securepipe.com [169.207.51.74]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA00703 for ; Tue, 13 Jan 1998 02:15:36 -0500 (EST) Message-Id: <199801130715.CAA00703@aleve.media.mit.edu> Received: (qmail 7615 invoked from network); 13 Jan 1998 07:23:07 -0000 Received: from jack.securepipe.com (network-user@169.207.51.75) by splat.securepipe.com with SMTP; 13 Jan 1998 07:23:07 -0000 X-Mailer: exmh version 2.0zeta 7/24/97 From: Joshua Heling To: handyboard@media.mit.edu Subject: questions re: unix version of IC Reply-To: Joshua Heling Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 13 Jan 1998 01:23:12 -0600 Sender: jrh@jack.securepipe.com Hi - I'm a handy-board/ic newbie, so please excuse this question if it's answers seem obvious. After two weeks of writing code in DOS/Windows (yuck), I downloaded the ic-2.860beta source code, which compiled without significant trouble in linux (redhat 5). The version is, of course, a bit different from that which came with the handy-board (from Gleason Rsch, was version 2.851). My question is, can I just copy the library files that came from Gleason Rsch. into the lib directory on the unix ic installation (it seems that I can, I just want to be sure)? Are there any other issues I should be aware of (w.r.t. the beta, or using ic from unix, end-of-line conventions on library files, etc.). I'm not particularly concerned with being able to download the pcode in unix - I do have DOS easily available... BTW, thanks to all that have contributed to this really neat project - this is my first exposure to robotics, and it's been great fun so far. ----- Begin Included Message ----- From owner-laser@ns1.qsl.net Thu May 1 09:58:06 1997 X-Authentication-Warning: ns1.qsl.net: majordom set sender to owner-laser@qsl.net using -f From: "Guy Hamblen" To: "Laser" Subject: [LASER] Which Circuit for OPT210? Date: Thu, 1 May 1997 12:53:29 -0400 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1155 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: owner-laser@qsl.net Reply-To: "Guy Hamblen" Content-Length: 1037 Thanks everyone for sourcing information on this device. I've got several in hand, feedback resistors are in the mail. Now can I get existing OPT1210 user experience re: the following questions: 1) I assume (dangerous I know...) that the easiest circuit (per the Burr-Brown App Notes) is the Fig. 3 "Single Power Supply Operation"? 2) Is 12v operation recommended? 3) If 12v operation, did you use a 5.6v zener or lower value? 4) Did you use electrolytics to bypass to ground pins 1 & 8? 5) Did you build this circuit in a shielded box? 6) Does the on-board opamp provide sufficient output to drive a set of headphones or did you add another opamp gain circuit? If so what low noise device? Any highpass filter circuits? Is there any need for a bandpass filter circuit to get rid of audio highs? I am using a 3" PVC with a focusing lens (f/4") - - how did you mechanically place the OPT210 so the focused light source falls on the photodiode? My approach would be trial-versus-error.... Thanks in advance....Guy N7UN/2 ----- End Included Message ----- - Joshua -------- Joshua Heling jrh@securepipe.com SecurePipe Communications, Inc. From fredm@ml.media.mit.edu Tue Jan 13 10:41:57 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA21129; Tue, 13 Jan 1998 10:41:57 -0500 Received: from ml.media.mit.edu (ml.media.mit.edu [18.85.13.107]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id JAA22423 for ; Tue, 13 Jan 1998 09:10:43 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by ml.media.mit.edu (8.8.7/8.8.7) with SMTP id JAA26699; Tue, 13 Jan 1998 09:10:37 -0500 (EST) Message-Id: <199801131410.JAA26699@ml.media.mit.edu> X-Authentication-Warning: ml.media.mit.edu: localhost [127.0.0.1] didn't use HELO protocol To: Joshua Heling Cc: handyboard@media.mit.edu Subject: Re: questions re: unix version of IC In-Reply-To: Your message of "Tue, 13 Jan 98 01:23:12 CST." <199801130715.CAA00703@aleve.media.mit.edu> Date: Tue, 13 Jan 98 09:10:37 -0500 From: "Fred G. Martin" X-Mts: smtp Joshua - There should be no problems using the Gleason Research libraries (or any of the libraries that are on the web site). There are no differences between version 2.851 and 2.860 from the point of view of the libraries. There is a pre-compiled version for Linux. See ftp://cher.media.mit.edu/pub/projects/interactive-c/unix/ Fred In your message you said: > Hi - > > I'm a handy-board/ic newbie, so please excuse this question if it's answers > seem obvious. After two weeks of writing code in DOS/Windows (yuck), I > downloaded the ic-2.860beta source code, which compiled without significant > trouble in linux (redhat 5). The version is, of course, a bit different from > that which came with the handy-board (from Gleason Rsch, was version 2.851). > > My question is, can I just copy the library files that came from Gleason Rsch . > into the lib directory on the unix ic installation (it seems that I can, I > just want to be sure)? Are there any other issues I should be aware of > (w.r.t. the beta, or using ic from unix, end-of-line conventions on library > files, etc.). I'm not particularly concerned with being able to download the > pcode in unix - I do have DOS easily available... > > BTW, thanks to all that have contributed to this really neat project - this i s > my first exposure to robotics, and it's been great fun so far. > > > - Joshua > > -------- > Joshua Heling jrh@securepipe.com > SecurePipe Communications, Inc. > > > From dakott@alpha.delta.edu Thu Jan 1 05:56:53 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA29720; Thu, 1 Jan 1998 05:56:53 -0500 Received: from kott.my.domain (root@pm233-26.dialip.mich.net [198.110.144.127]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id FAA31795 for ; Thu, 1 Jan 1998 05:06:14 -0500 (EST) Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id FAA01072 for ; Thu, 1 Jan 1998 05:06:33 -0500 (EST) Date: Thu, 1 Jan 1998 05:06:32 -0500 (EST) From: David Kott Sender: dakott@kott.my.domain To: handyboard@media.mit.edu Subject: Re: Digital outputs. In-Reply-To: <199712312227.QAA03595@augusta.netperceptions.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 31 Dec 1997, Tom Brusehaver wrote: > > G> Wich are the options to have 3 digital outputs in the handyboard? > G> No matter if i have to do little modifications to the Hardware. I > G> already know how to conect the keypad if you can tell me how > G> obtain 3 outputs.. :) > > > The SPI port is sitting there. I think you can get at 3 outputs from > those pins (SD/RD/CLK). > yet ANOTHER idea, if you are suitably masochistic, is to use the SPI port for a much more extensible I/O system. As you know, SPI uses 4 basic control signals, MOSI, MISO, CLK and SS... Ok, what we used to do in Embedded Controllers class is hook up a Serial In/Parallel Out (hereforward referred to as a SIPO) shift register. You must have at least ONE output available, so, this pretty much eliminates a L293 or, if you are bold enough, obtain additional outputs using a '138 as outlined in the HandyBoard FAQ. A SIPO you might use is the 8 bit 74164. Hook the DATA IN on the SIPO to the MOSI pin on the SPI. Hook the SPI's CLK output to the SIPO's clock pin. Use a transparent latch to update and hold the data on the outputs of the SIPO and update it with the one output pin, perhaps a 74373. To update the new 8 bits of data appearing at your latch's output, you load the SPI's data register with the byte value that you want to have across your new outputs. This data will be shifted out during the next 8 E-clock cycles. After the SPI's data register is empty indicating that the SIPO has the output byte on it's parallel outputs, pulse the single control output to update the latch's outputs. With this arrangement, you could, in theory, have many, many SIPO shift register/Latch pairs; the Serial Data In of the next stage connected to the last Parallel Output on the previous adjacent stage. One would just have to make sure that you coordinated the number of stages with the number of bytes outshifted by the SPI data register (naturally). The downside to this arrangement is the time it takes to update a digital output. The entire train (8 bits, 16 bits, 24 bits... more?) Need to be loaded and shifted out to change just ONE output. The upside is, the data will shift at 2 Mhz, which makes for a (250 ns * [8+2] ) 2.5 ms update time. Not suitable for time critical applications, (PWM, Communication) but not bad for bulk outputs. I don't think I have explained my little circuit here very well.. perhaps an ASCII graphic? Output originally going to an L293D +---------------------------------------+ |Or added via a '138 from the | |expansion buss. | | +--+----+ +----+---------+ +---------+ | LE | | | SPI CLK |'164 PO0|----| '373 |---- | +-----------+ CP PO1|----| |---- | 68HC11 | SPI MOSI | PO2|----| |---- | +-----------+ Data PO3|----| |---- New | | | PO4|----| |---- Digital +--------------+ | PO5|----| |---- Outputs | PO6|----| |---- | PO7|----| |---- +---------+ +-------+ Where: PO# is a "Parallel Output" on a SIPO Data is the "Serial Data Input" on a SIPO CP is the SIPO's clock -d Win95/NT - 32 bit extensions and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition. -UGU From fredm@ml.media.mit.edu Thu Jan 1 10:20:57 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA28944; Thu, 1 Jan 1998 10:20:57 -0500 Received: from ml.media.mit.edu (ml.media.mit.edu [18.85.13.107]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id JAA23720 for ; Thu, 1 Jan 1998 09:41:01 -0500 (EST) Received: (from fredm@localhost) by ml.media.mit.edu (8.8.7/8.8.7) id JAA32741 for handyboard; Thu, 1 Jan 1998 09:41:01 -0500 (EST) From: Fred G Martin Message-Id: <199801011441.JAA32741@ml.media.mit.edu> To: handyboard@media.mit.edu Subject: Re: Digital outputs. Thanks David for a nice explanation of how to add I/O using shift registers. Let us not all forget that the HB does have two uncommitted digital output ASIDE from the four SPI pins: PA7 (a bidirectional pin which is marked as digital input #9) and PA5 (a timer output pin which is marked as TO3 on the expansion header). It would seem silly to disconnect a motor driver signal when these two signals are available. Fred Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-2.txt.bz2000644 000765 000024 00000011233 12503672226 024031 0ustar00coppitstaff000000 000000 BZh91AY&SY"M~Y?`?] +D܋o=OLm"٨kTbڨekMMi)SԞ&S'MQ%"d2)&Gz5=(ʛhIh4ښ4 C!a$$Bi Q &&i#OI  4ha!44ɣ@2 @h$H CIMQMi=C=@ qv`0ѳ"$CAm ! j$/p =SyAaV0:Ө|\oT/Yyh@l@`B,y0 il)D{  ^+P$n|L5CV%l>/aٚ/_ ƫьs4a,z`,ӵR4($4!5dou|ikE<~f 0G4 iLGewq#PFnh9; -j:5&R,Zr&&^H%8|Jv_ŒD>e2PZ}aJҋ;+.59c>v-Up\CT[lѶ/57}3iQ,e8gWhQuk+S4Yvg9l0tD)#DT"X 5Ա$#{քlDbpTx))C)FzN -^|kTŊ={l׹ 3^MJ1|PՌ;#cChYZ9VkWiIӅ٥C&144Q(cC^ %]m`§X%R`{l.+@ 9Wf+|8ep(0.UR&A_.{7sJDP>FP{a/K.uz܏+2>죯Vgw&k `v 5} ff{l%ICo FrP;N |!=Y>5e2S,L`ifuVfv 30܆3cD#74ZL]A %il'2Kn lgb/'sԌװalyY6d V7y "l7"ùzۮM`T2c/†+GenXV2$-Q0 ژ$Y9tᚑq0*LE{a/P6+N9Z L!q Hm6ΚX%AJ 0!zzYY@@7фM9* <B!^ p=n IJM3 e2 FW#jiYB0Γr8ъXI` Yf$E :2GUt(3 :@Ȭi`E~ ;Tpnr xX0»G#çve#o66kzh (h-H"F3Y0W"N0 J\bv{JwODA20~s'v#/¥[)ﭙ(SixΌM9lyz dR-y46u-JK\33i@" J{՘2eƵ! ݟVAkpcl*5cC;`3VV h3 !{C]ԱQ^պzLs!eD36EoT<Te% 46&q̭cv2l̘h& C @2MhG `c;4q]s#+01)x3֮TAiS= d;-/Bd *,Qd93-̊|c7{`{ha%@i=4r:-:5(8r3I\?qpIM7aXZo2Z6;-ʽf\:4صaG1*`aD"P1ѮM%!>nTM5VfAaJu@Ά57I(jȵdh= i I&'jĤTƵu+;hHRJJ=/B&cN}bXAWõ 4#d B6?q Iڝ8 cSJX}(Tqa4BW"?v"`CPXhm6`Ox} F]F hY$e)l-9 Qq:;$w,(tu@71@ff]{:פD4 ѡ49z&dǷI[Zu|%]ڇH p@Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-2.txt.gz000644 000765 000024 00000011022 12503672226 023750 0ustar00coppitstaff000000 000000 U9mailarc-2.txtZksJ] ܀@!vI8c&8:BӒL8x9:5N*Џ\{-j_:2- M&/"nכ?huN>D(盧~ e:tt͗v:Ө[w~ɢ~sW2{5[/ l[v~_$Ez_w?Өwt[^{HR9e[7e \݌9$=nɞ͔"S%zC4n{XUxbrSfW2I\VP-nuNqBR!v6;u+}kH+o/A ZhCQfԯw.3N>?hW ..N$Po8e*xh] /*Yda+ Kٍ9M[&$\Ϣf53%U:w^KY?Sgg*JeVo1O״K-NdYR\X0X\2ۀ:0DF>;YW>G^ZCOC) S{%OA1f 7pD*6AtU؊[88THA%sCxH"̩ |j'P8 iX ,=Yih'uCXY,@0F U5MV79CTcB5t &EpqX\M  p~ǁ|"4΃!.\`fXFZaQ! n2/[k5l-ƊL*(MV6ϦRF|YQv΄KEiP"!v+^r|>z{i#*;AdqK: ;Ň_'g2D5O \d@M,)Ơ4͖- X Pk"'۷;5*J yפ"}[Nn~8U{vnk,z!b 0NMz.e4O2vc|BLj$o4#1h]IȆfIY3))J" J69HIkp.)3W2Ӆ?91 \7UvT 2,"KHet$̓S4/${i]}ah~0Iv o ̌*"d1G85HqwU6H5ilEPHo%; ICsٝ3yZ~XH5u CЫ9llQ =͂зN-l/L֡JZ+!lSXƄuwOcbP Eu3SP| IjR!J3HBc)3d6R>-hA|$ߛGlX$n})ma[ p(k"eON@X&xuf3*_@\SH8Kphhb8_aKWx4r!b8AWEYFuaZiT<@Nݏ׵FQf.1+2Z|5GOT--p96QU̇>ϹV|)R9v(i _#'Pšz$B6C!Ӝc)@0vuK-QM%k#4on| :%JBn.q{s.ܔ&絳Pik^լOG7/> $h.;=`)j[|ͫqmEev.థ!I@qXdrI.1+f7NJxOQ=f !h2Ŀɨ¡)V %VTg%yX".S;D.&<~-b;4@F!e)+Ί^Id8i5KFJA$"eĤR>(ZROb 4|PZ0f[8!a"CA~*0멟3]4J\T@~wDr#\m43q21[dVjE\EYHbGymd}ߤ&Xk/#u _X-]T̿6$yX`҄W,_rEs0*ɘwnD&7]8!MDYExjǯ_6Rͺ=6!g0 p[dʹ2Ytn׾>]mRѼ*Ei ? Oi0)G@V"VE sϽ+ԡ"Q9h7UoG!`[ȱs٘V7ߚnj{;WZ(<5 kzQsaBšOї?sċMXP 8f!AfGjDGvgJcOAo׮ox{%3ojd(ElqQrN l/}hU<5@ >kae4Tchjn>l$ChofV0Yd{㻏?~A=[FL0~gc']zrgk6KX=R ;χCy:t9_u[-)D8?Of*{^/b`@_YvjlX(wie耰J]k2bi +oP8Jb[kg5=KŽm'IݛaB  f_L[*~M';TNm5 *鋎4!PPO$9˦J p4&`c0F>:0-v^<&.Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-2.txt.lz000644 000765 000024 00000010567 12503710176 023767 0ustar00coppitstaff000000 000000 LZIP#$dcm|} 3IJwj7$&2L!PAY8/7ysga2*B,Hҏ7\fW[>q0UoXI_E?My}8bXgMlV{%6IGaU!*O&;٧wEDoU~J' '+RWAJ|6Z3X^׊`!}j9&ZI6ꭿw v"T +TS.G(V-D-~2e l$Rߝѿpl?.CaQPnʎ{,ŏS@+OKd ,-FDvM|=jufK$+ ?-_Xʗ!o,n`!fpșJ|TYV5k6{xQ -(c5g1dhTۓٛtyZe d@qmSL+]˪=ğU=:,hvЋ "ZrV뽏_H6mdߓeewEWPk}T82!6>z<ߨEx>2$&0y*?^96yiap*5ZWgG%Id]\N* 奁1d f'v^!e˧g\)GT{=+ SEHA_fjTA?s̷ UMi;p6Ztq֨*}ZZb4Kɼ27ukyDݎz 2b ccb`{6>4bw=h y߷R?ERy/xY)gYLSԓn "'DRɁzL?1v΋U\=wtQ"?Qa_ o3`(br ivZM! "~Ԉ~S c)-u_-|LO f=9Š yǫU+] B*[yRw(7|dҵ 00 Jq+ɞ˷A2&w^q^V"OfhBwCscPÇqM9yƒա>- r$\ dރ1x|9)06TM4BCyHF?!Fy7aUJY=<B(f'{o1j\ tMNJ>:|76OO( '5x`V42.\}=9"`qeTÍ.%WnO\P[QYNS-~ateg\4<·}ƊTFsҴ216 U EAoXqItT`kiMAr51.3nxVc/!;Brri>,QP aЖhWdsb288>L֯IExX -4Y/٧}K g[q7:Iwlӝ*EJp7R\&Ht0pa7q.\9{c@0S1 4//ەaxVgދĚ?fSTEd!}) #1svaz.9eɅ's>D02ڃ5H75r ۿhX@֎|W!"ߍ3DYe! xnw_H Ğ=nޏOtr<$W3!D2%ۑML#4ǼQ=JVqm6|V]b&3AʩXO}?ch^YSeFk|(5D-<"sZGSrgpqXِJ3Y"z6QG}֚덶}uVa#G;yUW)̨s1)a2'L}AGIX%F==n54_m rT,ۘX<kyq,)O=E?ȮXwTXE-uU700dʙ)GT66~yZa)i GRi1Hj${CqD1o2%tfl:X1ss5bd0 /?찈7IyG[?hrH]ݒ\_RC$*kOb&'?IYԒBa>-U'KOke;_ Xl'(c }.lSf+XcRسdL_ˍMhiWn P3q [tq&E9[D"D_C:-*9**#E;`)jyc{} Tt,y=j&K?ƚTb&ter'OҰM|L%[lB||SƑ戲maW!9kKJxUAC۔=+]e Rh޹7`x?p1{sd&uU'W ' n:}% MDp!;grJNRt0H`Ftwhv!,ȲҿZb6,8c1}8Ȗye{zh@pyW ɱnFgH2v*4f }K˙X1$QA/c)glϋYx}ASC4=7y>by5ܧǥP~()|eU{U9#Tu2TeF$ӽm` MV}ژj()+iH΁<4lQlBstX";™[үl.x}]Ρ̗О;:)41q]-ަUO:$| j}J9Vz+I( :b5!%Sį,i:ۚܦ"L# b4C8խs{YJiJ=5Ƥt#nŐ$`@L/uw6`wa"L,":VI(@98CZUxk}ŬgOufYA7q4F?~[h#UўtqZ$ Qd2d)TPn~ug_$2%gjvV~hp[ͮjfg!œ|[Jz 7erݴ"BR{Hv%X*qſclhh][CΉ>ʉ/*v#!.l[wƆ:Z0deC=D7p`vaڍa="_n%t>x Zot3MZկ'6u]r:؁Խ١Ћ lIA Fα]hA0 .Sc`77O](JWaOzRp-@2o/e)ܽ#A4P_Ll? :,Yț(x+0fŏUbU!XvX:'p7[Hg_~K5X~!esFd, `ճͶ<.2p ௧%yXBA^Gd"KdIl02Ayfr}+x";{?6י:1n1?zH`'JWVFhe ~覧i LGNMAY̌>-Ht̐w ״=ɴcV~WD?MRkKsbv-q8RqvVz󿉑aV:X%ſfjtĖyhr ŠY<>z=wxݰ&M@E[@[(B} pS_m )NBG۩a)UoOʊ2"&7ԟ:_ρ~]!>%;jx>b3/Eӭt. uB+P>Y,?q(hQət%3R>+&-ى:ģ(F!U{n<<]JG/zmo??Ya{\ig kEq'舸$t`eba&1/H#v9ֶuO_hji4ckfEQڇ(.o&PTfyq9'^ }p^HSXtIT7$>)+JF;{о8wW_UJpp Vѭ}̵\UMbr'ogS7[}GNRcleۄS/\DjhNN CP#%hХx/͎JtF*)f){@d쨐':[>rwpFml./SȄ$u4dxȬ}8ƛJNK85.d%l=(re 5z53̱CLƀRFWFך6 KjOW>HRK-jo=Kه˨9W9C3@Lf 55m7W$"rȆ{ߦ xp?h1? - Yԃ$#G퐖N*ixt0ZJ%*L{- dխ۫u!@ǖɛ:35[:DGdMI`d' !Lrj0kwifz؏+0^Cf01I(KOyHaeZ2;\t{N®ɼ&QG,I;OOi=J4ʶdw ܏zlR>E_ );lU` H~}׵-Ԃ@" /3]3Чצ/ @IĢITApWdmsPݕ)=n $ɲh 3|{F1Zџq#,H$N5khv۞e;"yνZMkIt['6g F*5s/;w7nE +8Έ˔ͥ{\կAV}ږm%,c!!|ku{.dĶ~N. p h˶^UO%ِԮsfCJ(>(֨!n@UbmEf ,^L r ޖ;&=>P]74 j::lY%<0'C/wCotfk٦VXW4]~λ,:Tx w֘嬪~Od2ap >,Ku`@ 7S:Ef}͔F͔a/+oNJkRPa T{HrTl>&KTY$wHm%=_ͯ ٢.U3M99wT=f6&jTJɕM`< _C=[]Eb$+ն{{_^b7DI'<7g[(߮k,\Cfp ^=Z29lA/1wNXFFM64UXv6e:5sRgMM̔ (g\t߆YQ0 Ib3y4 UcXkB0xW{z$: o'A\ $6qijɎlY_v)ar+aE+>>G%mHޱrva&FtsU9e S "F=Iwuђ_}QJ@r_P<'Ѥ="/爷Ө֤W?4N 9{i7a,6N..irTG%^~*+FtЭ%uGd\eŠ18k [tba(FcW>02뻿ׁ;!+̲f<2Z<1 5v0'USo[a(|ܒRm:9bT@ KOa ͌m˸#_ l04$ |F~dмRiJ8 Ĵ+3Xv9:pη?!UJ~K"Mpa9` 8'm q?zF=q5OǼ降h2wfTC4鳥xZW2]ƅQ֦=E]. na,!2J6)"~12=;)KI}kwAMx`W7Z@6P ]BJ>DCIIh ֫1")Ϊ"s;|uqn wEr`Q6ֻ#6O/ʝ7Vg&8DFֆ씏S $a*>{"]ѱgYZMail-Mbox-MessageParser-1.5105/t/mailboxes/mailarc-3.txt000644 000765 000024 00000200463 12503672226 023343 0ustar00coppitstaff000000 000000 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== This code was written for MS C++4.0 running on Win95. //************** BEGIN: serial_HOST.c /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on a host PC. */ #include #include #include #include #include "serial_HOST.h" void main(int argc, char *argv[]) { motor(0, 100); motor(1, 100); motor(2, 100); motor(3, 100); sleep(1000); motor(0, -100); motor(1, -100); motor(2, -100); motor(3, -100); sleep(1000); ao(); print("\nThis is a test"); printf("Knob is %d\n", knob() ); printf("Analog(0) is %d\n", analog(0)); printf("Digital(0) is %d\n", digital(0)); printf("Analog(1) is %d\n", analog(1)); printf("Digital(1) is %d\n", digital(1)); printf("Analog(2) is %d\n", analog(2)); printf("Digital(2) is %d\n", digital(2)); printf("Analog(3) is %d\n", analog(3)); printf("Digital(3) is %d\n", digital(3)); printf("Analog(4) is %d\n", analog(4)); printf("Digital(4) is %d\n", digital(4)); printf("Analog(5) is %d\n", analog(5)); printf("Digital(5) is %d\n", digital(5)); printf("Analog(6) is %d\n", analog(6)); printf("Digital(6) is %d\n", digital(6)); printf("Analog(7) is %d\n", analog(7)); printf("Digital(7) is %d\n", digital(7)); printf("Analog(8) is %d\n", analog(8)); printf("Digital(8) is %d\n", digital(8)); printf("Analog(9) is %d\n", analog(9)); printf("Digital(9) is %d\n", digital(9)); printf("Analog(10) is %d\n", analog(10)); printf("Digital(10) is %d\n", digital(10)); printf("Analog(11) is %d\n", analog(11)); printf("Digital(11) is %d\n", digital(11)); printf("Analog(12) is %d\n", analog(12)); printf("Digital(12) is %d\n", digital(12)); printf("Analog(13) is %d\n", analog(13)); printf("Digital(13) is %d\n", digital(13)); printf("Analog(14) is %d\n", analog(14)); printf("Digital(14) is %d\n", digital(14)); printf("Analog(15) is %d\n", analog(15)); printf("Digital(15) is %d\n", digital(15)); beep(); sleep(1000); while (! stop_button() ) { sprintf(buffer, "%d.0", (knob() * 10)); tone( buffer, "0.1"); } } //************** END: serial_HOST.c //************** BEGIN: serial_HOST.h /* VC++4.0 HandyBoard Host Programming System Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 #define sleep(NUM) _sleep(NUM) #define SERIALWAIT 5 unsigned short PORT = 0x3f8; // LPT1: 0x378 COM1: 0x3f8 int send(int i) { int retval; retval = _outp( PORT, i); _sleep(SERIALWAIT); return retval; } int receive() { int retval; retval = _inp( PORT); _sleep(SERIALWAIT); retval = _inp( PORT); return retval; } void hangup() { send(QUIT); } void print(char buffer[]) { int i; send(PRINTF); for (i = 0; buffer[i] != 0; i++) send(buffer[i]); send('\0'); } void motor(int motornum, int power) { send(MOTOR); send(motornum); send(power + 100); // taken off on the other end } int analog(int sensor) { send(ANALOG); send(sensor); return receive(); } int digital(int sensor) { send(DIGITAL); send(sensor); return receive(); } void ao() { send(AO); } int knob() { send(KNOB); return receive(); } void beep() { send(BEEP); } void tone(char f1[], char f2[]) { int i; send(TONE); for (i = 0; f1[i] != 0; i++) send(f1[i]); send('\0'); for (i = 0; f2[i] != 0; i++) send(f2[i]); send('\0'); _sleep((unsigned long) (atof(f2) * 1000)); // to keep from overflowing serial line } void interactive() { char c; char key = ' '; while (key != 'q') { key = getch(); send(key); printf("Sent %c\n", key); c = receive(); printf("Got %c as a return value\n", c); } } int start_button() { send(START_BUTTON); return receive(); } int stop_button() { send(STOP_BUTTON); return receive(); } //************** END: serial_HOST.h //************** BEGIN: serial_HB.c /* VC++4.0 HandyBoard Programming System (Parts taken from other HB programs) Dr. Douglas S. Blank University of Arkansas, Department of Computer Science www.uark.edu/~dblank This code runs on the HB */ #define MOTOR 0 #define AO 1 #define ANALOG 2 #define DIGITAL 3 #define PRINTF 4 #define KNOB 5 #define BEEP 6 #define TONE 7 #define START_BUTTON 8 #define STOP_BUTTON 9 #define QUIT 113 int _isspace(int a) /* returns 1 for space or tab, 0 otherwise */ /* internal routine used by atof() and cgets() */ { return ((a == 32) || (a == 9)); /* 32 is space, 9 is tab */ } /*****************************************************************************/ int _isdigit(int a) /* returns 1 if a digit 0-9, 0 otherwise */ /* internal routine used by atof() */ { return ((a >= 48) && (a <= 57)); /* 48 is '0', 57 is '9' */ } float atof(char s[]) /* Convert a string containing a number in ASCII */ /* form (integer, float, or exponential float) to a */ /* float. Strips whitespace characters (space and */ /* tab) from the front of the string, but stops */ /* parsing at the first (unexpected) non-numeric */ /* character if the string has garbage at the end. */ /* This means that " 34.3foo78" translates to 34.3. */ /* Modified from atof() function in the standard */ /* library of the Hi-Tec C compiler for CP/M. */ /* Note: all string literals converted to decimal */ /* form because IC can't deal with string literals */ /* in math calculations. */ /* Also note: very ugly code because IC will not */ /* allow any math operations on pointers! Thus, the */ /* the number string has to be treated as an array! */ /* Also also note: no error handling; assumes that */ /* the string is a valid representation of a number! */ /* Valid range for exponential-format numbers is */ /* approximately 2.0e-38 to 3.4e+38. */ { int i=0; /* index into string array */ int sign=0; /* mantissa sign flag: 0=positive, 1=negative */ int exp0=0; /* mantissa exponent counter */ int eexp=0; /* E-form exponent counter */ int expsign=0; /* exponent sign flag: 0=positive, 1=negative */ float m=0.0; /* mantissa accumulator */ /* skip any leading whitespace (space, tab) */ while (_isspace(s[i])) i++; /* skip it */ /* check for mantissa sign */ if (s[i] == 45) /* 45 is '-' */ { sign = 1; /* flag minus sign */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get all digits up to either a decimal point or an e/E */ while (_isdigit(s[i])) { m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } /* no more digits, so check for decimal point */ if (s[i] == 46) /* 46 is '.' */ { i++; /* point to next */ /* get all digits after decimal point */ while (_isdigit(s[i])) { exp0--; m = 10.0*m + (float)(s[i] - 48); /* 48 is '0' */ i++; /* point to next */ } } /* check for e/E exponential form */ if ((s[i] == 101) || (s[i] == 69)) /* 101 is 'e', 69 is 'E' */ { i++; /* point to next */ /* check for exponent sign */ if (s[i] == 45) /* 45 is '-' */ { expsign = 1; /* flag negative exponent */ i++; /* point to next */ } else if (s[i] == 43) /* 43 is '+' */ i++; /* point to next */ /* now get exponent */ while (_isdigit(s[i])) { eexp = eexp*10 + s[i] - 48; /* 48 is '0' */ i++; /* point to next */ } /* adjust exponent sign */ if (expsign) eexp = -eexp; /* make it negative */ } /* compute absolute value of final float */ exp0 += eexp; while (exp0 < 0) /* for negative exponents */ { m = m / 10.0; exp0++; } while (exp0 > 0) /* for positive exponents */ { m = m * 10.0; exp0--; } /* adjust final float sign from mantissa */ if (sign) return (-m); /* negative */ else return (m); /* positive */ } void disable_pcode_serial() /* necessary to receive characters using serial_getchar */ { poke(0x3c, 1); } void reenable_pcode_serial() /* necessary for IC to interact with board again */ { poke(0x3c, 0); } /* ====================================================================== For sending and receiving single bytes, you can use Randy's IC code: */ void serial_putchar(int c) { while (!(peek(0x102e) & 0x80)); /* wait until serial transmit empty */ poke(0x102f, c); /* send character */ } int serial_getchar() { while (!(peek(0x102e) & 0x20)); /* wait for received character */ return peek(0x102f); } void main(void) { int pos, c = ' ', var1, var2; float f1, f2; char buffer[80]; disable_pcode_serial(); beep(); printf("\nSerial IO Mode!"); printf("Listening..."); msleep(500L); while (c != 'q') { c = serial_getchar(); /* printf("[%d] ", c); */ if (c == MOTOR) { var1 = serial_getchar(); var2 = serial_getchar() - 100; motor(var1, var2); } else if (c == AO) { ao(); } else if (c == ANALOG) { var1 = serial_getchar(); serial_putchar(analog(var1)); } else if (c == DIGITAL) { var1 = serial_getchar(); serial_putchar(digital(var1)); } else if (c == PRINTF) { pos = 0; while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; printf(buffer); } else if (c == TONE) { pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f1 = atof(buffer); pos = 0; c = serial_getchar(); while (c != 0) { buffer[pos++] = c; c = serial_getchar(); } buffer[pos] = '\0'; f2 = atof(buffer); tone(f1, f2); } else if (c == START_BUTTON) { serial_putchar(start_button()); } else if (c == STOP_BUTTON) { serial_putchar(stop_button()); } else if (c == BEEP) { beep(); } else if (c == KNOB) { serial_putchar(knob()); } } reenable_pcode_serial(); printf("\nHB Mode!"); } //************** END: serial_HB.c From goldt@et.byu.edu Tue Jul 7 20:33:03 1998 WETDST Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA32480; Tue, 7 Jul 1998 20:33:03 -0400 Received: from wormwood.ee.byu.edu (wormwood.ee.byu.edu [128.187.30.54]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30127 for ; Tue, 7 Jul 1998 19:48:43 -0400 (EDT) Received: from wormwood (localhost [127.0.0.1]) by wormwood.ee.byu.edu with SMTP (8.7.6/8.7.1) id RAA26916 for ; Tue, 7 Jul 1998 17:48:42 -0600 (MDT) Sender: goldt@ee.byu.edu Date: Tue, 07 Jul 1998 17:48:41 -0600 From: "Timothy B. Gold" X-Mailer: Mozilla 3.04Gold (X11; I; HP-UX B.10.20 9000/780) Mime-Version: 1.0 To: handyboard@media.mit.edu Subject: Interrupt Handler for Serial communication Content-Type: multipart/mixed; boundary="------------18CC6AC44E2E" This is a multi-part message in MIME format. --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Here's a bit of code that will buffer incoming serial information so that no information will be lost when transmitting to the handy board. There are two files: serial_isr.c and serial_isr.asm. You'll need to assemble the .asm file using as11_ic, and then both the .c file and the .icb file need to be loaded onto the handy board. I'm sure improvements could be made to the code to clean it up a little, but it's a start (and I haven't had any problems with it yet). Enjoy! --------------18CC6AC44E2E Content-Type: text/plain; charset=us-ascii; name="serial_isr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="serial_isr.c" /* C program to read serial port with interrupt service routine */ /* First version: Written by Anton Wirsch 20 Nov 1997 */ /* Second Version: Written by Tim Gold 27 May 1998 BYU Robotics Lab goldt@et.byu.edu Really, the only thing left from the original code are a few lines in the .asm file. Everything else I pretty much had to rewrite from scratch to get it to work the way I wanted to. But the orignal code by Anton was a very helpful starting point. Needed files: serial_isr.c serial_isr.icb serial_isr.asm (needed to change the buffer size) The buffer size here is 32 bytes (probably much larger than it needs to be.) To change the buffer size, do the following: 1. Change the BUFFER_SIZE constant below to the desired number of bytes. 2. Edit the line(s) in the serial_isr.asm which contain the word "EDIT" in the comment so that the value matches that of BUFFER_SIZE. 3. Recreate the serial_isr.icb file by typing the following: > as11_ic serial_isr.asm */ #define BUFFER_SIZE 32 /* change buffer size here -- see above */ /* various constants used by the program... */ #define BAUD 0x102b /* baud rate set to 9600 */ #define SCCR2 0x102d #define SCCR1 0x102c #define SCSR 0x102e #define SCDR 0x102f int buffer[BUFFER_SIZE]; /* this is the actual buffer */ void initSerial() { /* Call this routine to activate the serial interrupt handler. */ int i,temp; /* clear out buffer */ for(i=0; i as11_ic serial_isr.asm */ /* change this line to match your library path... */ #include "/usr/local/ic/libs/6811regs.asm" ORG MAIN_START variable_CURRENT: FDB 00 * ptr to next data to be read by user variable_INCOMING: FDB 00 * number of bytes received (circular count) variable_BASE_ADDR: FDB 00 * base address of buffer (to be set by init routine) variable_DATA_FLAG: FDB 00 * flag set when data is available variable_buffer_ptr: FDB 00 * pointer to CURRENT buffer subroutine_initialize_module: /* change this line to match your library path... */ #include "/usr/local/ic/libs/ldxibase.asm" ldd SCIINT,X std interrupt_code_exit+1 ldd #interrupt_code_start std SCIINT,X rts interrupt_code_start: ldad variable_INCOMING * store INCOMING into AB cmpb #00 * compare B with 0 bhi skip * goto "skip" if (B > 0) ldx variable_BASE_ADDR * STORE ADDRESS OF ARRY IN X inx * SKIP THE FIRST (?) inx * TWO BYTES (?) inx * OFFSET TO THE HIGHER BYTE (?) stx variable_buffer_ptr * SAVE PTR VALUE bra cont skip: ldx variable_buffer_ptr * load buffer pointer into x cont: ldad variable_INCOMING * load INCOMING into AB incb * increment INCOMING cmpb #32 * compare B and 32 --EDIT TO CHANGE BUFFER SIZE-- beq reset_count * if a=32, goto reset_count bra cont1 reset_count: ldad #00 * set count to zero cont1: stad variable_INCOMING * store AB into INCOMING ldab SCSR * load SCSR (SCI status register) into B (why?) ldab SCDR * load SCSR (SCI data register) into B stab ,X * store data in array inx * increment by two bytes inx stx variable_buffer_ptr * save the pointer value ldad #01 * load 1 into AB stad variable_DATA_FLAG * store AB into DATA_FLAG (indicating data is available) interrupt_code_exit: jmp $0000 --------------18CC6AC44E2E-- From aarone@sirius.com Wed Jul 1 02:44:06 1998 MEST Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA22669; Wed, 1 Jul 1998 02:44:06 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id CAA13214 for ; Wed, 1 Jul 1998 02:01:55 -0400 (EDT) Received: from edsinger (ppp-asfm03--126.sirius.net [205.134.240.126]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with ESMTP id XAA26862 for ; Tue, 30 Jun 1998 23:01:54 -0700 (PDT) From: "Aaron Edsinger" To: "handy" Subject: Serial Interface Date: Wed, 1 Jul 1998 02:06:39 +0100 X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1162 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I've been having some problems using my HandyBoard to talk directly to my PC via the serial interface. I disable Interactive C and then Poke() and Peek() as has been described on this list. I send short character strings from my PC to the HandyBoard under Windows 95. If I send strings longer than 2 characters, it seems that some of the characters get lost. This behavior seems to be affected by repositioning or slightly modifying the code, suggesting perhaps a timing issue. Why might this be? Is there any way to check for an error situation? Thanks for any help, Aaron From cmcmanis@freegate.com Thu Jul 16 03:13:49 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA23518; Thu, 16 Jul 1998 03:13:49 -0400 Received: from hq.freegate.com ([208.226.86.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA18991 for ; Thu, 16 Jul 1998 02:17:47 -0400 (EDT) Received: (qmail+freegate 6968 invoked by alias); 16 Jul 1998 06:17:38 -0000 Received: from dialip-04.hq.freegate.com (HELO freegate.com) (208.226.86.222) by hq.freegate.com with SMTP; 16 Jul 1998 06:17:38 -0000 Date: Wed, 15 Jul 1998 23:21:14 -0700 From: Chuck McManis Reply-To: cmcmanis@freegate.com Organization: Freegate Corporation X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: David Rye Cc: handyboard@media.mit.edu Subject: Re: Handyboard/RWP without p-code References: <3.0.32.19980716151646.00809d20@nemo.mech.eng.usyd.edu.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Get a copy of icc11 v5.0 or later (from www.imagecraft.com) and use the handyboard library from their site. --Chuck From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com From someone2@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) Message-Id: <199807100804.BAA15320@lists1.best.com2> From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available 2 Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- From dakott@alpha.delta.edu Wed Jul 1 05:33:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA20653; Wed, 1 Jul 1998 05:33:51 -0400 Received: from alpha.delta.edu (alpha.delta.edu [161.133.129.3]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id EAA12514 for ; Wed, 1 Jul 1998 04:41:22 -0400 (EDT) Received: from pm295-18.dialip.mich.net by alpha.delta.edu; (5.65v3.0/1.1.8.2/06Jan97-0932AM) id AA31111; Wed, 1 Jul 1998 04:44:45 -0400 Received: from kott.my.domain (dakott@kott.my.domain [192.168.0.1]) by kott.my.domain (8.8.8/8.8.5) with SMTP id WAA20239; Tue, 30 Jun 1998 22:34:32 -0400 (EDT) Date: Tue, 30 Jun 1998 22:34:31 -0400 (EDT) From: David Kott Sender: dakott@kott.my.domain To: brian-c@technologist.com Cc: handyboard@media.mit.edu Subject: Re: microcontroller In-Reply-To: <199806291430.KAA07909@web01.globecomm.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 29 Jun 1998 brian-c@technologist.com wrote: > -I'd like to say thanks to all the folks who replied > to my question on the microcontroller speeds. > > Here's another general question about them though. > Should any unused pins be left open or should they > be grounded? > Eeeeeeeeeeek! Outputs left floating, CMOS inputs taken to ground with a 4.7K resistor... presuming, of course, that a Logic 0 on that input won't generate adverse effects, e.g. a grounded active low interrupt line might be a problem. Such inputs should be taken to +5 with a 4.7K resistor. Floating CMOS inputs have a tendency to oscillate with the merest whisper of a voltage. TTL inputs may be left floating. Driving an output externally will just heat up your CPU.. or worse. -d -- The box said "Requires Windows 95/NT or better"... So I got Unix. Free the Source. Free your Computer... http://www.FreeBSD.org http://www.NetBSD.org http://www.OpenBSD.org From rshirk@sfgate.com Sun Mar 22 01:52:45 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA06355; Sun, 22 Mar 1998 01:52:45 -0500 Received: from cyber.sfgate.com (cyber.sfgate.com [198.93.154.11]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id BAA23676 for ; Sun, 22 Mar 1998 01:08:09 -0500 (EST) Received: from localhost by cyber.sfgate.com with smtp (Smail3.2 #1) id m0yGduz-000Is1C; Sat, 21 Mar 1998 22:07:37 -0800 (PST) Date: Sat, 21 Mar 1998 22:07:37 -0800 (PST) From: Richard X-Sender: rshirk@cyber To: handyboard@media.mit.edu Subject: Frob nobs and IR Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-1804928587-890546857=:21628" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII OK...Im now pretty happy with states of things but I still have a few questions I hope you can help me answer. The code attached works and everything, but only when i take the bit about playing the songs out. problem 1) It keeps saying that play is undefined. I saw that before and fixed it by changing the names of the labels of the songs. I tried it this time and it didnt work...i was wondering if anyone out there knows why it does this and how to correct it.... problem 2) I figured out (thanks to you guys) how to work the built in IR sensor to detect and act upon 4 signals. One is for behing hostile, 3 is for seeking, signal 5 is when it gets annoyed, and 7 it just beeps and ignores it. The signal for being Hostile responds quickly and prints H on the screen but the others lag and i was wondering if you knew why this was. -Richard ---559023410-1804928587-890546857=:21628 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="xbump2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: LyogVGhpcyBpcyAoc2xpZ2h0bHkgbW9kaWZpZWQpIGRlZmF1bHQgdG91Y2gg bmF2aWdhdGlvbiAqLw0gICAgICAgICBjaGFyIHBuX3NvbmdbXT0gIjEjZCA0 ZTNyMSNmNGczcjEjZCAzZTEjZjNnMWMzYkQxZTNnMWIgOCZiMmIyYTJnMmUy ZDEwZSAgICAgIDdyMSNkIDRlM3IxI2Y0ZzNyMSNkIDNlMSNmM2cxYzNiMWcz YjFlIDI4JmUgRDNyMSNkIDRlM3IxI2Y0ZzNyMSNkICAgICAgM2UxI2YzZzFj M2JEMWUzZzFiIDgmYjJiMmEyZzJlMmQxMGUgMTJyIFUzZTFkM2IxYTNnMSNm ICAgICAgMSZiM2ExJmIzYTEmYjNhMSZiM2EgMmcyZTJkMjBlIjsNDSAgY2hh ciBsdHVuZV9zb25nW109ICJVM2UxZDJjMmQyZTJkMmUyYzJkMmQyZDZkMnIg M2QxYzJiMmMyZDIjYzJkMmIyYzJjMmM2YyI7DQ0Ndm9pZCBtYWluKCApDXsN ICAgLyogdGltaW5nIHBhcmFtZXRlcnMgKG1pbGxpc2Vjb25kcykgKi8NICAg bG9uZyByZXZlcnNlX3RpbWUgPSA1MDBMLCB0dXJuX3RpbWUgPSA1MDBMLCB0 dXJuYXJvdW5kX3RpbWUgPSAxMDAwTDsNICAgIHNvbnlfaW5pdCAoMSk7DSAg ICBwcmludGYoIkF1dG9ub21vdXNcbiIpOw0gICAgbXNsZWVwKDUwMEwpOw0g ICAgcHJpbnRmKCJSb2JvdGljXG4iKTsNICAgIG1zbGVlcCg1MDBMKTsNICAg IHByaW50ZigiTmF2aWdhdGlvblxuIik7DSAgICBtc2xlZXAoNTAwTCk7DSAg ICB7DSAgICAgICAgIGlmICgoIGtub2IoICkgKSA9PSAyNTUpDSAgICAgICAg IHsNICAgICAgICAgICAgICAgcGxheSAocG5fc29uZyk7DSAgICAgICAgICB9 DSAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9PSAwKQ0gICAgICAg ICAgew0gICAgICAgICAgICAgICAgcGxheSAobHR1bmVfc29uZyk7DSAgICAg ICAgICB9DSAgICAgICAgICAgICAgICBlbHNlIGlmICgoIGtub2IoICkgKSA9 PSAxMTYpDSAgICAgICAgICB7DSAgICAgICAgICAgICAgICBwcmludGYoIkhF TExPLCBKVURHRVMhXG4iKTsNICAgICAgICAgICAgICAgIG1zbGVlcCg1MDBM KTsNICAgICAgICAgIH0NICAgIH0NDSAgIHByaW50ZiggIlByZXNzIFNUQVJU XG4iICk7DSAgIHN0YXJ0X3ByZXNzKCk7ICAgLyogd2FpdCAndGlsIGJ1dHRv biBpcyBwcmVzc2VkICovDSAgIGJlZXAoKTsNICAgcHJpbnRmKCAiU3RhbmQg YmFjay4uLlxuIiApOw0gICBzbGVlcCggMS4wICk7IA0gICAvKiBpbml0aWF0 ZSBmb3J3YXJkIG1vdGlvbiAqLw0gICBmZCggMiApOw0gICBmZCggMyApOw0g ICB3aGlsZSggMSApICAgLyogZmVlZGJhY2sgbG9vcCAqLw0gICB7DSAgICAg IGlmKCAhIGRpZ2l0YWwoIDcgKSApICAgLyogY2hlY2sgbGVmdCBidW1wZXIg Ki8NICAgICAgew0gICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJl ZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAg ICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUgKTsNDSAgICAgICAgIC8qIHR1 cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMg KTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNDSAgICAgICAgIC8q IHJlc2V0IGZvcndhcmQgbW90aW9uICovDSAgICAgICAgIHByaW50ZiggIjAi ICk7DSAgICAgICAgIGZkKCAyICk7DSAgICAgICAgIGZkKCAzICk7DQ0gICAg ICB9DQ0gICAgICBlbHNlIGlmKCAhIGRpZ2l0YWwoIDExICkgKSAgIC8qIGNo ZWNrIG1pZGRsZSBidW1wZXIgKi8NICAgICAgew0gICAgICAgICAvKiByZXZl cnNlICovDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmsoIDIgKTsNICAg ICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCByZXZlcnNlX3RpbWUg KTsNDSAgICAgICAgIC8qIHR1cm4gYXJvdW5kICovDSAgICAgICAgIGZkKCAy ICk7DSAgICAgICAgIGJrKCAzICk7DSAgICAgICAgIG1zbGVlcCggdHVybmFy b3VuZF90aW1lICk7DQ0gICAgICAgICAvKiByZXNldCBmb3J3YXJkIG1vdGlv biAqLw0gICAgICAgICBwcmludGYoICIxIiApOw0gICAgICAgICBmZCggMiAp Ow0gICAgICAgICBmZCggMyApOw0gICAgICB9DQ0gICAgICBlbHNlIGlmKCAh IGRpZ2l0YWwoIDE1ICkgKSAgIC8qIGNoZWNrIHJpZ2h0IGJ1bXBlciAqLw0g ICAgICB7DSAgICAgICAgIC8qIHJldmVyc2UgKi8NICAgICAgICAgYmVlcCgp Ow0gICAgICAgICBiayggMiApOw0gICAgICAgICBiayggMyApOw0gICAgICAg ICBtc2xlZXAoIHJldmVyc2VfdGltZSApOw0NICAgICAgICAgLyogdHVybiBs ZWZ0ICovDSAgICAgICAgIGJrKCAyICk7DSAgICAgICAgIGZkKCAzICk7DSAg ICAgICAgIG1zbGVlcCggdHVybl90aW1lICk7DQ0gICAgICAgICAvKiByZXNl dCBmb3J3YXJkIG1vdGlvbiAqLw0gICAgICAgICBwcmludGYoICIyIiApOw0g ICAgICAgICBmZCggMiApOw0gICAgICAgICBmZCggMyApOw0gICAgIH0NICAg ICBlbHNlIGlmKGlyX2RhdGEoIDAgKSA9PSAxMjggKSAvKkNoZWNrIElSIHJl Y2lldmVyKi8NICAgICAgew0gICAgICAgICAgcHJpbnRmKCJIIik7DSAgICAg ICAgIC8qIHR1cm4gcmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgYmsoIDMgKTsNICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAg ICAgICAgIC8qQXR0YWNrLi4uUm9ib3QgaXMgSG9zdGlsZSAqLw0gICAgICAg ICAgYmVlcCgpOyANICAgICAgICAgIGZkKCAyICk7DSAgICAgICAgICBmZCgg MyApOw0gICAgICAgICAgYmVlcCgpOw0gICAgIH0NICAgICBlbHNlIGlmKGly X2RhdGEoIDAgKSA9PSAxMzAgKSAvKkNoZWNrIElSIHJlY2lldmVyKi8NICAg ICAgew0gICAgICAgICAgcHJpbnRmKCJTIik7DSAgICAgICAgIC8qIHR1cm4g cmlnaHQgKi8NICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgYmsoIDMgKTsN ICAgICAgICAgbXNsZWVwKCB0dXJuX3RpbWUgKTsNICAgICAgICAgIC8qUm9i b3QgaXMgaW4gbG92ZSEgRG8gYSBsaWwgZGFuY2UhICovDSAgICAgICAgICBi ZWVwKCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgZmQoIDIgKTsN ICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBtc2xlZXAoIHR1cm5fdGlt ZSApOw0gICAgICAgICAgYmsoIDIgKTsNICAgICAgICAgIGJrKCAzICk7DSAg ICAgICAgICBtc2xlZXAoIHJldmVyc2VfdGltZSApOyANICAgICAgICAgIC8q R28gZm9yd2FyZCEqLw0gICAgICAgICAgZmQoIDIgKTsNICAgICAgICAgIGZk KCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7DSAg ICAgfQ0gICAgIGVsc2UgaWYoaXJfZGF0YSggMCApID09IDEzMiApIC8qQ2hl Y2sgSVIgcmVjaWV2ZXIqLw0gICAgICB7DSAgICAgICAgICBwcmludGYoIkEi KTsNICAgICAgICAvKiByZXZlcnNlICovDSAgICAgICAgIGJlZXAoKTsNICAg ICAgICAgYmsoIDIgKTsNICAgICAgICAgYmsoIDMgKTsNICAgICAgICAgbXNs ZWVwKCByZXZlcnNlX3RpbWUgKTsNICAgICAgICAgIC8qUm9ib3QgaXMgQW5u b3llZCEgVHVybnMgY29tcGxldGVseSBhcm91bmQgaW4gZGlndXN0Ki8gICAg ICAgDSAgICAgICAgIGJlZXAoKTsNICAgICAgICAgYmVlcCgpOyANICAgICAg ICAgYmVlcCgpOw0gICAgICAgICBmZCggMiApOw0gICAgICAgICBiayggMyAp Ow0gICAgICAgICBtc2xlZXAoIHR1cm5hcm91bmRfdGltZSApOw0gICAgICAg ICAgZmQoIDIgKTsNICAgICAgICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0NICAg ICB9DSAgICAgZWxzZSBpZihpcl9kYXRhKCAwICkgPT0gMTM0ICkgLypDaGVj ayBJUiByZWNpZXZlciovDSAgICAgIHsNICAgICAgICAgIHByaW50ZigiSSIp Ow0gICAgICAgICAgLypSb2JvdCBkb2Vzbid0IGNhcmUgKi8NICAgICAgICAg IGJlZXAoKTsgDSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVwKCk7 IA0gICAgICAgICAgYmVlcCgpOw0gICAgICAgICAgZmQoIDIgKTsNICAgICAg ICAgIGZkKCAzICk7DSAgICAgICAgICBiZWVwKCk7DSAgICAgICAgICBiZWVw KCk7DSAgICAgICAgICBiZWVwKCk7IA0gICAgICAgICAgYmVlcCgpOw0gDSAg ICB9DQ0gICB9DX0N ---559023410-1804928587-890546857=:21628-- From wallace@theory.phys.vt.edu Mon Jul 27 18:34:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA00723; Mon, 27 Jul 1998 18:34:05 -0400 Received: from theory.phys.vt.edu (theory.phys.vt.edu [128.173.176.33]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id RAA19984 for ; Mon, 27 Jul 1998 17:22:26 -0400 (EDT) Received: from localhost (wallace@localhost) by theory.phys.vt.edu (8.8.5/8.8.5) with SMTP id RAA00312 for ; Mon, 27 Jul 1998 17:22:24 -0400 (EDT) Date: Mon, 27 Jul 1998 17:22:24 -0400 (EDT) From: Mark Wallace To: handyboard@media.mit.edu Subject: sonar.c for the handyboard Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I have a handyboard and 6500 series poloroid ultrasonic ranging system. I have downloaded the sonar.c programs used to drive the transducer for distance measurements. There appears to be a problem, or atleast I think there is, with it. The sonar device is supposed to give distances of up to 35ft but the TCNC time register is 16 bit and in the program it says "if ((peekwork(0x100e)-start_time) < 0)" too much time has elapsed and it returns -1. Therefore as soon as about 32700 counts goes by, that value will go negative. I believe hex goes from 0 to 32768 then -32768 to -1. In this case the difference will be < 0 if the object is greater then about 9 ft. I have taken this out of the program and can get accurate measurements up to atleast 30 ft but I have to look at the value given and add multiples of 2^16 to it to figure out where it is. Taking this out of the program also can get you stuck if you really are out of range. I have looked on the motorola web pages to see about this clock and it says that the clock goes till it reachs $ffff and then flags somewhere that there is an overflow and then starts over. I don't know how to find out were in the chip this information might be stored. I know the TCNT time register is at 0x100e from the notes on Simplified Sonar for the Handy Board but I don't know where that overflow flag is stored. I thought that maybe by setting this flag and using it in the loop you might be about to get a greater distance out of you measurement. Another question I have is about IC. I would like to display numbers greater then 32000 and right now there are several int type variables and normal C comands don't seem to work to make a "long" or any other type that are larger then 32000. How does IC handle larger numbers? I am only a student and don't have much experience with this stuff so I would appreciate any feedback I can get on either of these problems. Thanks. Mark Wallace e-mail mawalla3@vt.edu wallace@astro.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan From mwallace@sps1.phys.vt.edu Mon Aug 3 12:05:51 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA15988; Mon, 3 Aug 1998 12:05:51 -0400 Received: from sps1.phys.vt.edu (sps1.phys.vt.edu [128.173.176.53]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA12381 for ; Mon, 3 Aug 1998 11:16:53 -0400 (EDT) Received: from localhost (mwallace@localhost) by sps1.phys.vt.edu (8.8.7/8.8.7) with SMTP id LAA20283; Mon, 3 Aug 1998 11:16:50 -0400 Date: Mon, 3 Aug 1998 11:16:50 -0400 (EDT) From: Mark Wallace To: alf.kuchenbuch@usa.net Cc: handyboard@media.mit.edu Subject: Re: Polaroid trouble again In-Reply-To: <35C5C521.446B@eikon.e-technik.tu-muenchen.de> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I had this same problem when I got mine a few weeks ago. I ended up putting a capacitor from pin 1 to pin 3 on U2 of the sonar driver board. I also had to take out the 1k resistor from the BINH. It kept BINH at 1 V instead of Zero and that seamed to cause problems. As for the 6 ft problem, it should be closer to 9 ft. I think the problem there is the IC code you used. If you used the code for SONAR.C from the HB web site then there is a problem with it. What that program does is take the difference in time from the internal clock. the problem is that in the code it says that if the difference between start time and currnet time is negative too much time has elapsed. Well, this has a 16 bit counter so when the difference is greater the about 32,700 it becomes negative. If you do the math, that means at about 9 ft that happens so it tell you you are out of range. The way I fixed this was to slow the clock down. I looked up information on the motorola web page and found where the prescalers were for the clock. If you want to slow it down by a factor of four you can just add this line to you program in sonar_init() bit_set(0x1024, 1); I believe bit_set(0x1024, 2); will slow it down by a factor of 8 and bit_set(0x1024, 3); will slow it down by a factor of 16. There are better ways of fixing this problem but they appear much more complicated. For example the motorola chip has an overflow flag that says when the internal clock flips. You could incorporate that into your code instead of slowing the clock down. Good luck and I hope this helps. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu Web page http://sps1.phys.vt.edu/~mwallace/index.html "What a waste it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-destruction" Carl Sagan On Mon, 3 Aug 1998, Alf Kuchenbuch wrote: > Hi! > I am having trouble with my Polaroid sonar: > When I keep my HB hooked up > to external power, I will only get correct readings up to 20 inches. As > soon as I use battery power without hooking it up to external power, the > readings are correct up to 6 feet, not more! This sound like EMI, I > guess. I tried all the capacitor tricks from HB mailing list, but in > vain. Do you know a fix that works? > > Alf H. Kuchenbuch > From mawalla3@vt.edu Wed Aug 12 13:10:06 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA07529; Wed, 12 Aug 1998 13:10:06 -0400 Received: from quackerjack.cc.vt.edu (root@quackerjack.cc.vt.edu [198.82.160.250]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA05729 for ; Wed, 12 Aug 1998 12:13:53 -0400 (EDT) Received: from sable.cc.vt.edu (sable.cc.vt.edu [128.173.16.30]) by quackerjack.cc.vt.edu (8.8.8/8.8.8) with ESMTP id MAA20678 for ; Wed, 12 Aug 1998 12:20:09 -0400 (EDT) Received: from research10.phys.vt.edu (dhcp9.phys.vt.edu [128.173.176.166]) by sable.cc.vt.edu (8.8.8/8.8.8) with SMTP id MAA05159 for ; Wed, 12 Aug 1998 12:13:51 -0400 (EDT) X-Sender: mawalla3@mail.vt.edu (Unverified) X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Wed, 12 Aug 1998 12:13:45 -0400 To: Handyboard@media.mit.edu From: Mark Wallace Subject: serial library for C++ Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, I have a handy board with poloroid transducers and I am trying use the results of my distance measurments in a C++ program on the computer. I have found programs on the handyboard web page that should alow the handyboard to transmit information over the serial line. What I am looking for is if anyone knows were I could find a serial for Microsofts Visual C++ 5.0. I would like to find one that is free or sharware but any information on any serial that will work would be appreciated. Thanks. Mark Wallace e-mail mawalla3@vt.edu mwallace@sps1.phys.vt.edu web page http://sps1.phys.vt.ede/~mwallace "What a waist it would be after 4 billion tortuous years of evolution if the dominant organism contrived its own self-distruction" Carl Sagan From aarone@sirius.com Wed Sep 30 12:35:05 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v4.0/1.1/06Jun95-8.2MPM) id AA09172; Wed, 30 Sep 1998 12:35:05 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id KAA02849 for ; Wed, 30 Sep 1998 10:46:53 -0400 (EDT) Received: from aarone (ppp-asfm03--129.sirius.net [205.134.240.129]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id HAA08635; Wed, 30 Sep 1998 07:46:49 -0700 (PDT) From: "Aaron Edsinger" To: "Keith - Lui" Cc: "handy" Subject: Re: output to file Date: Wed, 30 Sep 1998 10:47:58 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Yes, Write a dos/windows client that reads the serial line and then writes it to file using the C stdio library. -----Original Message----- From: Keith - Lui To: handyboard@media.mit.edu Date: Wednesday, September 30, 1998 6:55 AM Subject: output to file >Dear all, > >I would like to output some HB data to a file, is that possible? > >Keith > From aarone@sirius.com Wed Aug 12 13:42:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA13439; Wed, 12 Aug 1998 13:42:19 -0400 Received: from mail3.sirius.com (mail3.sirius.com [205.134.253.133]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id MAA10630 for ; Wed, 12 Aug 1998 12:48:27 -0400 (EDT) Received: from aarone (ppp-asfm05--041.sirius.net [205.134.241.41]) by mail3.sirius.com (8.8.7/Sirius-8.8.7-97.08.12) with SMTP id JAA20821; Wed, 12 Aug 1998 09:48:24 -0700 (PDT) From: "Aaron Edsinger" To: "Mark Wallace" Cc: "handy" Subject: Re: serial library for C++ Date: Wed, 12 Aug 1998 12:53:41 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-Msmail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4 Check out this site. It works well. The only problem I had was timing issues when trying to read and write to the port too quickly. http://www.codeguru.com/show.cgi?general=/misc/misc_toc.shtml -----Original Message----- From: Mark Wallace To: Handyboard@media.mit.edu Date: Wednesday, August 12, 1998 9:25 AM Subject: serial library for C++ >Hello, > I have a handy board with poloroid transducers and I am trying use the >results of my distance measurments in a C++ program on the computer. I >have found programs on the handyboard web page that should alow the >handyboard to transmit information over the serial line. What I am looking >for is if anyone knows were I could find a serial library for Microsofts >Visual C++ 5.0. I would like to find one that is free or sharware but any >information on any serial librarys that will work would be appreciated. >Thanks. >Mark Wallace > > e-mail mawalla3@vt.edu > mwallace@sps1.phys.vt.edu >web page http://sps1.phys.vt.ede/~mwallace > >"What a waist it would be after 4 billion tortuous years of evolution if >the dominant organism contrived its own self-distruction" > Carl Sagan > From Scott.Seaton@Aus.Sun.COM Thu Jul 16 03:42:38 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA24945; Thu, 16 Jul 1998 03:42:38 -0400 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by aleve.media.mit.edu (8.8.7/ML970927) with SMTP id CAA07415 for ; Thu, 16 Jul 1998 02:44:58 -0400 (EDT) Received: from Aus.Sun.COM ([129.158.80.6]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id XAA29734; Wed, 15 Jul 1998 23:44:52 -0700 Received: from war.Aus.Sun.COM by Aus.Sun.COM id QAA03011 (SMI-8.6/SMI-4.1 for <>); Thu, 16 Jul 1998 16:44:50 +1000 Received: from drone by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id QAA10921; Thu, 16 Jul 1998 16:44:20 +1000 Date: Thu, 16 Jul 1998 16:41:56 +1000 (EST) From: Scott Seaton - Systems Consultant - ESG Reply-To: Scott Seaton - Systems Consultant - ESG Subject: Re: Handyboard/RWP without p-code To: handyboard@media.mit.edu, rye@mech.eng.usyd.edu.au Mime-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Troop_of_Baboons_752_000 X-Mailer: dtmail 1.2.0 CDE Version 1.2 SunOS 5.6 sun4u sparc --Troop_of_Baboons_752_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: i/HKSIa/Vk0mZT5ml+q21A== Hi I suggest that you contact ImageCraft. http://www.imagecraft.com/software/index.html or info@imagecraft.com They have a C compiler for 68HC11 CPU's that will do what you want, including a library for the HandyBoard (see attached e-mail) ! I have no affiliation with ImageCraft (other than as a satisfied customer). Hope this helps Scott ============================================================================== ,-_|\ Scott Seaton - Sun Enterprise Services - Systems Consultant / \ Sun Microsystems Australia Pty Ltd E-mail : scott.seaton@aus.sun.com \_,-\_+ 828 Pacific Highway Phone : +61 2 9844 5381 v Gordon, N.S.W., 2072, AUSTRALIA Fax : +61 2 9844 5161 ============================================================================== --Troop_of_Baboons_752_000 Content-Type: MESSAGE/rfc822; name=Mailbox Content-Description: Mailbox From someone@imagecraft.com Fri Jul 10 18:59:26 1998 Return-Path: Received: from Aus.Sun.COM by war.Aus.Sun.COM (SMI-8.6/SMI-SVR4) id SAA14426; Fri, 10 Jul 1998 18:59:26 +1000 Received: from earth.sun.com by Aus.Sun.COM id SAA24238 (SMI-8.6/SMI-4.1 for <>); Fri, 10 Jul 1998 18:59:48 +1000 Received: from iisesun.iise.CSIRO.AU (iisesun.iise.csiro.au [130.155.5.44]) by earth.sun.com (8.8.8/8.8.8) with SMTP id BAA18609 for ; Fri, 10 Jul 1998 01:59:44 -0700 (PDT) Received: from lists1.best.com (lists1.best.com [206.86.8.15]) by iisesun.iise.CSIRO.AU (SMI-8.6/8.6.12-IISE-SWA) with ESMTP id SAA25847 for ; Fri, 10 Jul 1998 18:49:31 +1000 Received: (from daemon@localhost) by lists1.best.com (8.9.0/8.8.BEST) id BAA15320 for icc11-list-errors@lists.best.com; Fri, 10 Jul 1998 01:04:34 -0700 (PDT) From: Christina Willrich & Richard Man Subject: icc11 Handyboard library available Date: Fri, 10 Jul 1998 00:58:49 -0700 BestServHost: lists.best.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: icc11-list-errors@lists.best.com Errors-To: icc11-list-errors@lists.best.com Reply-To: icc11-list@lists.best.com To: icc11-list@lists.best.com content-length: 399 Status: RO X-Status: $$$$ X-UID: 0000000001 At long last, I dusted off Chuck McManis Handyboard library and ported it to V5. No reason why it can't work with V4.5 either ;-) Anyway, to try it out, point your browser to ftp://ftp.imagecraft.com/pub/libhb.zip Chuck really did a great job with the LCD. There are commands to scroll, move etc. Make sure you try the lcdtest2.c test. // richard someone@imagecraft.com http://www.imagecraft.com --Troop_of_Baboons_752_000-- From brian-c@technologist.com Mon Jul 6 11:54:19 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA03667; Mon, 6 Jul 1998 11:54:19 -0400 Received: from web04.globecomm.net (web04.globecomm.net [207.51.48.104]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id TAA30534 for ; Mon, 6 Jul 1998 19:24:28 -0400 (EDT) From: brian-c@technologist.com Received: (from root@localhost) by web04.globecomm.net (8.8.8/8.8.0) id TAA03097; Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Date: Mon, 6 Jul 1998 11:24:27 -0400 (EDT) Content-Type: multipart/mixed; boundary="0-0-0-0-0-0-0-0-____====$%&" Mime-Version: 1.0 To: Terri A Mortvedt , handyboard@media.mit.edu Subject: Re: Steppers --0-0-0-0-0-0-0-0-____====$%& Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by aleve.media.mit.edu id TAA30534 Dear Terri, If the motors turn sparatically, that means the coils are probably not hooked up in the correct order. Try swapping them around and see if anything improves. The motors you are using are the bipolar type. There=20 is a decent way of hooking up unipolar steppers to the HB at http://www.cctc.demon.co.uk/stepper.htm A basic difference between bipolar and unipolar is that unipolar motors have additional wires are=20 connected to the power supply. Bipolars also have more torque. Using fd(); and bk(); commands to power steppers is probably a lot to handle. I recommend trying the=20 method found on that link. There's even sample coding. You will have to modify some variables for the turn functions because your turning radius varies according to your distance between motors. I modified the step(); function to produce a gradual=20 increase in speed, and a gradual decrease in speed once the specified steps are almost complete.=20 I will attach my motors.c file as is. _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Brian Carvalho [ brian-c@ieee.org ] DeVRY Institute New Jersey _________________________________________________ =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF --------------------------------------------------- Get free personalized email at http://www.iname.com --0-0-0-0-0-0-0-0-____====$%& Content-Type: application/octet-stream Content-disposition: inline; filename=Motors.c Content-Transfer-Encoding: base64 LyogTW90b3JzLmMgKi8NCg0KLyoqKiBERUNMQVJBVElPTlMgKioqLw0KDQppbnQgRk9SV0FSRFMg PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YXJpYWJsZXMgZm9yIGRpcmVj dGlvbiAqLw0KaW50IEJBQ0tXQVJEUyA9IDE7DQogDQppbnQgSEFMRlRVUk4gPSA3MDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlcyBmb3IgdHVybmluZyAqLw0KaW50IFFV QVJURVJUVVJOID0gSEFMRlRVUk4gLyAyOw0KIA0KaW50IFJJR0hUID0gMjsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmFsdWVzIGZvciB0dXJucyAqLw0KaW50IExFRlQgPSA4 Ow0KDQppbnQgcmlnaHRfbW90b3JfcG9pbnRlciA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBt b3RvciBjb250cm9sIHZhbHVlcyAqLw0KaW50IGxlZnRfbW90b3JfcG9pbnRlciA9IDA7DQogDQog DQppbnQgY3ljbGVfbGVuZ3RoID0gNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBoYWxm IHN0ZXBwaW5nIHZhbHVlcyAqLw0KaW50IGxlZnRfc3RlcF90YWJsZVs0XSA9IHs0OCw0OSw1MSw1 MH07DQppbnQgcmlnaHRfc3RlcF90YWJsZVs0XSA9IHsxOTIsMTk2LDIwNCwyMDB9Ow0KDQpsb25n IFNMT1cgPSAyNUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWlsbGlzZWNv bmQgcGF1c2VzICovDQpsb25nIEZBU1QgPSA4TDsNCg0KLyoqKiBGVU5DVElPTlMgKioqLw0KDQoN CnZvaWQgc2V0ZmFzdChsb25nIEYpDQp7DQoJCQlGQVNUID0gRjsNCn0NCg0Kdm9pZCBzZXRzbG93 KGxvbmcgUykNCnsNCgkJCVNMT1cgPSBTOw0KfQ0KDQoNCnZvaWQgc3RlcHBlcnNfb3V0KHZvaWQp DQp7DQoJCQlpbnQgY29udHJvbF9ieXRlID0gMDsNCgkJCWNvbnRyb2xfYnl0ZSArPSBsZWZ0X3N0 ZXBfdGFibGVbbGVmdF9tb3Rvcl9wb2ludGVyXTsNCgkJCWNvbnRyb2xfYnl0ZSArPSByaWdodF9z dGVwX3RhYmxlW3JpZ2h0X21vdG9yX3BvaW50ZXJdOw0KCQkJcG9rZSgweDBlLGNvbnRyb2xfYnl0 ZSk7DQp9DQoNCnZvaWQgcmlnaHRfc3RlcChpbnQgZGlyZWN0aW9uKSAgICAgICAgICAgICAgICAg IC8qIHJpZ2h0IG1vdG9yIGNvbnRyb2wgKi8NCnsNCgkJCWlmIChkaXJlY3Rpb24gPT0gRk9SV0FS RFMpDQoJCQkJCSAgcmlnaHRfbW90b3JfcG9pbnRlciArPTE7DQoJCQllbHNlDQoJCQkJCSAgcmln aHRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVuZ3RoIC0gMSk7DQoNCgkJCXJpZ2h0X21vdG9y X3BvaW50ZXIgJj0gKGN5Y2xlX2xlbmd0aCAtIDEpOw0KDQp9DQoNCnZvaWQgbGVmdF9zdGVwKGlu dCBkaXJlY3Rpb24pICAgICAgICAgICAgICAgICAgIC8qIGxlZnQgbW90b3IgY29udHJvbCovDQp7 DQoJCQlpZiAoZGlyZWN0aW9uID09IEZPUldBUkRTKQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRl ciArPSAxOw0KCQkJZWxzZQ0KCQkJCQkgIGxlZnRfbW90b3JfcG9pbnRlciArPSAoY3ljbGVfbGVu Z3RoIC0gMSk7DQoNCgkJCWxlZnRfbW90b3JfcG9pbnRlciAmPSAoY3ljbGVfbGVuZ3RoIC0gMSk7 DQoNCn0NCg0Kdm9pZCBhYm91dF9mYWNlKGludCBkaXIpICAgICAgICAgICAgICAgIC8qIDE4MCBk ZWdyZWUgdHVybiBvbiBhIGRpbWUgKi8NCnsNCglpbnQgaTsNCg0KCWlmIChkaXIgPT0gUklHSFQp DQoJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2krKykNCgkJew0KCQkJbGVmdF9zdGVwKEZPUldBUkRT KTsNCgkJCXJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXN0ZXBwZXJzX291dCgpOw0KCQkJbXNs ZWVwKFNMT1cpOw0KCQkJYW8oKTsNCgkJIH0NCg0KCSBlbHNlDQoJCSBmb3IgKGk9MDtpPD1IQUxG VFVSTjtpKyspDQoJCSB7DQoJCQlsZWZ0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCXJpZ2h0X3N0ZXAo Rk9SV0FSRFMpOw0KCQkJc3RlcHBlcnNfb3V0KCk7DQoJCQltc2xlZXAoU0xPVyk7DQoJCQlhbygp Ow0KCQkgIH0NCn0NCg0Kdm9pZCByaWdodF90dXJuKCkgICAgICAgICAgICAgICAgICAgICAgIC8q IDkwIGRlZ3JlZSByaWdodCB0dXJuIG9uIGEgZGltZSAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZv ciAoaT0wO2k8PVFVQVJURVJUVVJOO2krKykNCgkJCXsNCgkJCQkJICBsZWZ0X3N0ZXAoRk9SV0FS RFMpOw0KCQkJCQkgIHJpZ2h0X3N0ZXAoQkFDS1dBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQo KTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQkJCSAgYW8oKTsNCgkJCX0NCg0KfQ0KDQp2b2lk IGxlZnRfdHVybigpICAgICAgICAgICAgICAgICAgICAgICAgLyogOTAgZGVncmVlIGxlZnQgdHVy biBvbiBhIGRpbWUgKi8NCnsNCgkJCWludCBpOw0KDQoJCQlmb3IgKGk9MDtpPD1RVUFSVEVSVFVS TjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEJBQ0tXQVJEUyk7DQoJCQkJCSAgcmlnaHRf c3RlcChGT1JXQVJEUyk7DQoJCQkJCSAgc3RlcHBlcnNfb3V0KCk7DQoJCQkJCSAgbXNsZWVwKFNM T1cpOw0KCQkJCQkgIGFvKCk7DQoJCQl9DQp9DQoNCnZvaWQgcmlnaHRfd2hlZWwoKSAgICAgICAg ICAgICAgICAgICAgICAvKiBncmFkdWFsIHJpZ2h0IHR1cm4gKi8NCnsNCgkJCWludCBpOw0KDQoJ CQlmb3IgKGk9MDtpPD1IQUxGVFVSTjtpKyspDQoJCQl7DQoJCQkJCSAgbGVmdF9zdGVwKEZPUldB UkRTKTsNCgkJCQkJICBzdGVwcGVyc19vdXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9 DQp9DQoNCnZvaWQgbGVmdF93aGVlbCgpICAgICAgICAgICAgICAgICAgICAgICAvKiBncmFkdWFs IGxlZnQgdHVybiAqLw0Kew0KCQkJaW50IGk7DQoNCgkJCWZvciAoaT0wO2k8PUhBTEZUVVJOO2kr KykNCgkJCXsNCgkJCQkJICByaWdodF9zdGVwKEZPUldBUkRTKTsNCgkJCQkJICBzdGVwcGVyc19v dXQoKTsNCgkJCQkJICBtc2xlZXAoU0xPVyk7DQoJCQl9DQp9DQoNCg0Kdm9pZCBzdGVwIChpbnQg ZGlyLCBpbnQgbnVtc3RlcHMsIGludCBkZWxheSkNCnsNCiAgICAgICAgaW50IHN0ZXAsc3RwOw0K ICAgICAgICBpbnQgYmVnaW49bnVtc3RlcHMvMTA7DQoJaW50IGNvbnRpbnVlOw0KICAgICAgICBs b25nIGdyYWQ9KGxvbmcpYmVnaW47DQoNCglzeXN0ZW1fcHdtX29mZigpOw0KDQoJZm9yIChzdGVw PTA7c3RlcDxiZWdpbjtzdGVwKyspDQoJew0KCQltc2xlZXAoZ3JhZCk7DQoJCWxlZnRfc3RlcChk aXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51ZT1z dGVwOw0KICAgICAgICAgICAgICAgIGdyYWQ9Z3JhZC0xTDsNCg0KCX0NCiAgICAgICAgd2hpbGUo Y29udGludWU8YmVnaW4qOSkNCgl7DQoJCW1zbGVlcCgobG9uZylkZWxheSk7DQoJCWxlZnRfc3Rl cChkaXIpOw0KCQlyaWdodF9zdGVwKGRpcik7DQoJCXN0ZXBwZXJzX291dCgpOw0KCQljb250aW51 ZSsrOw0KICAgICAgICAgICAgICAgIHN0cD1jb250aW51ZTsNCgkgfQ0KDQogICAgICAgICB3aGls ZShzdHA8bnVtc3RlcHMpDQogICAgICAgICB7DQogICAgICAgICAgICAgIGRlbGF5PWRlbGF5KzE7 DQogICAgICAgICAgICAgIG1zbGVlcCgobG9uZylkZWxheSk7DQogICAgICAgICAgICAgIGxlZnRf c3RlcChkaXIpOw0KICAgICAgICAgICAgICByaWdodF9zdGVwKGRpcik7DQogICAgICAgICAgICAg IHN0ZXBwZXJzX291dCgpOw0KICAgICAgICAgICAgICBzdHArKzsNCiAgICAgICAgIH0NCglhbygp Ow0KDQp9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0K --0-0-0-0-0-0-0-0-____====$%&-- Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailbox with space.txt000644 000765 000024 00000013563 12521305626 025236 0ustar00coppitstaff000000 000000 From xxx8x@ares.cs.Virginia.EDU Thu Sep 13 12:30:05 2001 -0400 Return-Path: Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id MAA13111 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) Received: from localhost (bmb5v@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id MAA07898 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: xxx8x owned process doing -bs Date: Thu, 13 Sep 2001 12:30:05 -0400 (EDT) From: David Coppit To: Subject: Debugging Compiled Libraries Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO X-Status: X-Keywords: X-UID: 193 xxxxx x xxxxxxx x xxxxxx xxxxxxx xxx x xxx xx xxx xxx xxxxxxxx, xx xxxxx xxxxxx xx xxxx xxxxxxx xxx xxxx xxxx xx xxxxxxx. x'x xxxxxx xx xxxxxxx x xxxxx xxxxxxxx xx x xxxxx xxxxx xxxxx xxx xxxxxxx xxx xxx xxxxxxx xxxx xx xx xxxx xx xx xxx xxxxxxx x xxx'x xxx xx xx xxx xx x xxxxxx xxxxx xxxx xx xxxxxxxxx xxxxx xxxxx. xxx xxxxx? xxxxx xxxx xxxx xxxxx xxx xxxxx xxxxxxxxxxxxxxx, xx xxxxx (xxx) xxx-xxxx xxxxx@xxxxxxxx.xxx From david@coppit.org Sat Sep 1 20:58 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id UAA25603 for ; Sat, 1 Sep 2001 20:58:43 -0400 (EDT) Received: from ares.cs.virginia.edu by mail.virginia.edu id aa21233; 1 Sep 2001 20:58 EDT Received: from mamba.cs.Virginia.EDU (mamba.cs.Virginia.EDU [128.143.137.15]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id UAA25598; Sat, 1 Sep 2001 20:58:40 -0400 (EDT) Received: from localhost (dwc3q@localhost) by mamba.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id UAA17581; Sat, 1 Sep 2001 20:58:38 -0400 (EDT) X-Authentication-Warning: mamba.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Sat, 1 Sep 2001 20:58:38 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: foobar@coppit.org MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: To Make an Appointment for assignment checking In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 846 Status: RO X-Status: X-Keywords: X-UID: 25 xx xxx, x xxx xxxx, xxxxxx xx xxxxx: > xx xxx xxxxxx xx xxx xxxx xxxxx, xxx xxxx xxxxx xx xxx xxxxx. > xx xxxx xxxxxxxx xxx xxxxxxxxxxx xx xxxxxxx xxxxxx xxx > xxx xxxxxxx xxx xxxx xxxxxxxx. x xxxxxxx xxxxxxxxxx, xxx xx xxxxx xxxx. xxx xxxx xxxxxxxxx xx xxxx x xxxx xx xxx xxx xxx xxxxxxxxx. xxx xxx xxxx xx xxxx xx xxxxxxx xxxxxxxx xx xxx'x xxxx. xxxx xxx xxx xxxxx xxxx xxxx xxx xx xxxxx. x xxxx xxx (xxxxxxxxxxx) xxxxxxxxx xx xxx xxxxx. xxx'xx xxxx xx xxx xxxx xxxxx xxx xxxx xxxx xx xx xxxxxxxx xx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." From owner-cs650-discussion-fall01@virginia.edu Fri Sep 28 13:34 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id NAA04122; Fri, 28 Sep 2001 13:34:07 -0400 (EDT) Received: from Virginia.EDU by mail.virginia.edu id ab08855; 28 Sep 2001 13:33 EDT Received: from ares.cs.virginia.edu by mail.virginia.edu id ab08851; 28 Sep 2001 13:33 EDT Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id NAA04110; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) Received: from localhost (dwc3q@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id NAA01261; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Fri, 28 Sep 2001 13:33:57 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: cs650-discussion-fall01@virginia.edu MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: where is document In-Reply-To: <023b01c14839$b2f57110$30438f80@cs.virginia.edu> Message-ID: MIME-Version: 1.0 Precedence: bulk Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 840 Status: RO X-Status: X-Keywords: X-UID: 331 xx xxx, xx xxx xxxx, xxxxxxx xxxxx xxxxx: > xx xxx xxxxxxxxxx xxxx, xx xxxx 'xxxx xx xxxxxxxxx xxx xxxxxxxxx xx > xxxxxxx x.x xx xxx xxxxxxxxxxx xxxxxxxxxxxxx, xxxxxxxx xxxxx xx > xxxx...'. xxx xxxxx xx xxx xxxxxxxxxxxxx. xx'x xxxxxx xxxxxxxxx xxxx > xxxx ' xxxxxxxxxxx xxxxxxxxxxxxx' xxxxx. xxxxx xxx xxxx xx > xxxxxxxxxxxxxx. xxx xxxxxx xxxx xx xxx xxx? xxxxxx. xxxx xxx xxxxx xxxx xx xxx xxx. xxx xx-xxxxxxxxxxx xxxxxxxxxxxxx xx xx xxx xx-xxxxxxxxxxx xxxxxxxxxxxx xxxx xxx xxxxxxxx xxxx xx.xxx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." Mail-Mbox-MessageParser-1.5105/t/mailboxes/mailbox with space.txt.gz000644 000765 000024 00000002675 12521305626 025657 0ustar00coppitstaff000000 000000 4]A.Ԃ; Ю96wNuÔ 09Ok!ߛDHمG/d|} ƣeR. M]EڝX8/2%{22-i*6Isӓ]5EڋyuhӑEԒRH 94[_*s?\;CgV3X++#}>e<`9:cnmL̂Ay,^Z\ׁBwca;L;B䉸BGh,3뗞/ϸ %CQ:neFrS햇tȫv)9rit~q#t3Fs4xYpYF4OA87%HtJ $IUt䝐=of8ԧ~ 锜P J}P5aPmuluJqAUlS0GTp6j늟]֊G8,PZ0/H<L8])@b HޢRMRߺh}ֻP"=e_4Ǟ2slzmTg Au'W۽Ӱ6wWf\]KȖ2}t* @t`3dF8_`<7>wrC]~ȒԈ, jF+2.F< Ų|BOXw"r"2`kV]]I`l#}-"_H:ȕg ޛ;Wi_.$4F _'Nn.11f X̍Mf =(6=,<*fBx_FͿtb f:Dj>D( bŹJH)TUDCacH-%f P*&~VBy?U8I'd=Ux+!mZv )ڽv+ٴvVv'WZvx'W3r{Fi.yB/Mq6X9_P'G "HU84 ,bT?IżN)N諝5Pe ޢ^ ާ[#zzZ$jiMPsrdܕKD":suid~g Dg;c{A&e}Bm2_ߦc$ugQ)NnpZI9o+`0 ͚m:ǑS#UQD(EHɿPFFVD0e>;sMail-Mbox-MessageParser-1.5105/t/mailboxes/mailseparators.txt000644 000765 000024 00000013563 12503672226 024624 0ustar00coppitstaff000000 000000 From xxx8x@ares.cs.Virginia.EDU Thu Sep 13 12:30:05 2001 -0400 Return-Path: Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id MAA13111 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) Received: from localhost (bmb5v@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id MAA07898 for ; Thu, 13 Sep 2001 12:30:05 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: xxx8x owned process doing -bs Date: Thu, 13 Sep 2001 12:30:05 -0400 (EDT) From: David Coppit To: Subject: Debugging Compiled Libraries Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO X-Status: X-Keywords: X-UID: 193 xxxxx x xxxxxxx x xxxxxx xxxxxxx xxx x xxx xx xxx xxx xxxxxxxx, xx xxxxx xxxxxx xx xxxx xxxxxxx xxx xxxx xxxx xx xxxxxxx. x'x xxxxxx xx xxxxxxx x xxxxx xxxxxxxx xx x xxxxx xxxxx xxxxx xxx xxxxxxx xxx xxx xxxxxxx xxxx xx xx xxxx xx xx xxx xxxxxxx x xxx'x xxx xx xx xxx xx x xxxxxx xxxxx xxxx xx xxxxxxxxx xxxxx xxxxx. xxx xxxxx? xxxxx xxxx xxxx xxxxx xxx xxxxx xxxxxxxxxxxxxxx, xx xxxxx (xxx) xxx-xxxx xxxxx@xxxxxxxx.xxx From david@coppit.org Sat Sep 1 20:58 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id UAA25603 for ; Sat, 1 Sep 2001 20:58:43 -0400 (EDT) Received: from ares.cs.virginia.edu by mail.virginia.edu id aa21233; 1 Sep 2001 20:58 EDT Received: from mamba.cs.Virginia.EDU (mamba.cs.Virginia.EDU [128.143.137.15]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id UAA25598; Sat, 1 Sep 2001 20:58:40 -0400 (EDT) Received: from localhost (dwc3q@localhost) by mamba.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id UAA17581; Sat, 1 Sep 2001 20:58:38 -0400 (EDT) X-Authentication-Warning: mamba.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Sat, 1 Sep 2001 20:58:38 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: foobar@coppit.org MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: To Make an Appointment for assignment checking In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 846 Status: RO X-Status: X-Keywords: X-UID: 25 xx xxx, x xxx xxxx, xxxxxx xx xxxxx: > xx xxx xxxxxx xx xxx xxxx xxxxx, xxx xxxx xxxxx xx xxx xxxxx. > xx xxxx xxxxxxxx xxx xxxxxxxxxxx xx xxxxxxx xxxxxx xxx > xxx xxxxxxx xxx xxxx xxxxxxxx. x xxxxxxx xxxxxxxxxx, xxx xx xxxxx xxxx. xxx xxxx xxxxxxxxx xx xxxx x xxxx xx xxx xxx xxx xxxxxxxxx. xxx xxx xxxx xx xxxx xx xxxxxxx xxxxxxxx xx xxx'x xxxx. xxxx xxx xxx xxxxx xxxx xxxx xxx xx xxxxx. x xxxx xxx (xxxxxxxxxxx) xxxxxxxxx xx xxx xxxxx. xxx'xx xxxx xx xxx xxxx xxxxx xxx xxxx xxxx xx xx xxxxxxxx xx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." From owner-cs650-discussion-fall01@virginia.edu Fri Sep 28 13:34 EDT 2001 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with SMTP id NAA04122; Fri, 28 Sep 2001 13:34:07 -0400 (EDT) Received: from Virginia.EDU by mail.virginia.edu id ab08855; 28 Sep 2001 13:33 EDT Received: from ares.cs.virginia.edu by mail.virginia.edu id ab08851; 28 Sep 2001 13:33 EDT Received: from cobra.cs.Virginia.EDU (cobra.cs.Virginia.EDU [128.143.137.16]) by ares.cs.Virginia.EDU (8.9.2/8.9.2/UVACS-2000040300) with ESMTP id NAA04110; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) Received: from localhost (dwc3q@localhost) by cobra.cs.Virginia.EDU (8.9.2/8.9.2) with ESMTP id NAA01261; Fri, 28 Sep 2001 13:33:57 -0400 (EDT) X-Authentication-Warning: cobra.cs.Virginia.EDU: dwc3q owned process doing -bs Date: Fri, 28 Sep 2001 13:33:57 -0400 (EDT) From: David Coppit X-X-Sender: To: Foo Bar cc: cs650-discussion-fall01@virginia.edu MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: Re: where is document In-Reply-To: <023b01c14839$b2f57110$30438f80@cs.virginia.edu> Message-ID: MIME-Version: 1.0 Precedence: bulk Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 840 Status: RO X-Status: X-Keywords: X-UID: 331 xx xxx, xx xxx xxxx, xxxxxxx xxxxx xxxxx: > xx xxx xxxxxxxxxx xxxx, xx xxxx 'xxxx xx xxxxxxxxx xxx xxxxxxxxx xx > xxxxxxx x.x xx xxx xxxxxxxxxxx xxxxxxxxxxxxx, xxxxxxxx xxxxx xx > xxxx...'. xxx xxxxx xx xxx xxxxxxxxxxxxx. xx'x xxxxxx xxxxxxxxx xxxx > xxxx ' xxxxxxxxxxx xxxxxxxxxxxxx' xxxxx. xxxxx xxx xxxx xx > xxxxxxxxxxxxxx. xxx xxxxxx xxxx xx xxx xxx? xxxxxx. xxxx xxx xxxxx xxxx xx xxx xxx. xxx xx-xxxxxxxxxxx xxxxxxxxxxxxx xx xx xxx xx-xxxxxxxxxxx xxxxxxxxxxxx xxxx xxx xxxxxxxx xxxx xx.xxx. xxxxx _________________________________________________________________________ xxxxx xxxxxx - xx.x. xxxxxxxxx xxxxx@xxxxxx.xxx xxx xxxxxxxxxx xx xxxxxxxx xxxx://xxxxxx.xxx/ "xxx," xxxx xxxxxx, "xxxxxx xxx xxxxx." xxxxx xxx x xxxx xxxxxxx. "x xxxxxxx," xxxx xxxx, "xxxx xxxx'x xxx xx xxxxx xxxxxxxxxxx xxxxxxxx." Mail-Mbox-MessageParser-1.5105/t/mailboxes/malformed.txt000644 000765 000024 00000167120 12503674215 023543 0ustar00coppitstaff000000 000000 From upi at papat.org Wed Feb 1 19:06:04 2006 From: upi at papat.org (Pasi Pirhonen) Date: Wed Feb 1 19:06:09 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XX - security update Message-ID: <20060201190604.GA4423@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Wed Feb 1 19:07:19 2006 From: upi at papat.org (Pasi Pirhonen) Date: Wed Feb 1 19:07:21 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XX - security update Message-ID: <20060201190719.GA4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Wed Feb 1 19:08:13 2006 From: upi at papat.org (Pasi Pirhonen) Date: Wed Feb 1 19:08:15 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XX - security update Message-ID: <20060201190813.GB4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XX-XXXXX-X.X.XX-X.XX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 22:53:55 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 22:53:57 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XX - security update Message-ID: <1138834435.3712.96.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XX-X.X.XX-X.XX.X.XXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXX.XXX XXX: XX-X.X.XX-X.XX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 22:54:05 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 22:54:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XX - security update Message-ID: <1138834445.3712.98.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XX-X.X.XX-X.XX.X.XXXXXX.XXX XX-X.X.XX-X.XX.X.XXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXXXX.XXX XX-XXXXX-X.X.XX-X.XX.X.XXXXXX.XXX XXX: XX-X.X.XX-X.XX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 23:07:42 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 23:07:44 2006 Subject: [XXXXXX-XXXXXXXX] XXXX:XXXX-XXXX-X XXXXXX X XXXXXX XXXXXXX XXXXX / Global File System update (csgfs repo only) Message-ID: <1138835262.3712.115.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX-X XXXXXX X XXXXXX XXXXXXX XXXXX / XXXXXX XXXX XXXXXX XXXXXX XXX XXXX XX XX XXXXXX XX XXX XXXXX XXXXXXXXXX XXXX XXX XXX XXX XXXX XXXXXX-X XXXXXXXXXX. XXXX XXXX XX XXXXXX XX XXXXXXX XXXXXXX XXXXX X XXX XXXXXX XXXX XXXXXX X.X XX XXX XXX X.X.X-XX.X.X.XX XXXXXX-X XXXXXX. XX XXXXXXX XX XXX XX/XXX XXXXXXXX XX XXX XXXXXX XXXXXXXX. XXX XXXXXXXXX XXXXX XXX XXXXXXXX XXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXX-X.X.X-X.XXXXXX.XXX XXXX-XXXXX-X.X.X-X.XXXXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXXX-X.XX.XX-X.XXXXXX.XXX XXX-X.X.X-X.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXXXX.XXX XXXX-X.X.X-X.XXXXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.XXXXXXX.XXXXXX.XXX XXXXX-X.X.X-X.XXXXXX.XXX XXXXX-XXXXX-X.X.X-X.XXXXXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXXXXX.XXX XXXXXXXXX-X.X.XX-X.XXXXXX.XXX XXX: XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXXX-X.XX.XX-X.XXX.XXX XXX-X.X.X-X.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXX.XXX XXXXX-X.X.X-X.XXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXX.XXX XXXXXXXXX-X.X.XX-X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Wed Feb 1 23:07:44 2006 From: johnny at centos.org (Johnny Hughes) Date: Wed Feb 1 23:07:46 2006 Subject: [XXXXXX-XXXXXXXX] XXXX:XXXX-XXXX-X XXXXXX X XXXX XXXXXXX XXXXX / Global File System update (csgfs repo only) Message-ID: <1138835264.3712.117.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX-X XXXXXX X XXXX XXXXXXX XXXXX / XXXXXX XXXX XXXXXX XXXXXX XXX XXXX XX XX XXXXXX XX XXX XXXXX XXXXXXXXXX XXXX XXX XXX XXX XXXX XXXXXX-X XXXXXXXXXX. XXXX XXXX XX XXXXXX XX XXXXXXX XXXXXXX XXXXX X XXX XXXXXX XXXX XXXXXX X.X XX XXX XXX X.X.X-XX.X.X.XX XXXXXX-X XXXXXX. XX XXXXXXX XX XXX XX/XXX XXXXXXXX XX XXX XXXXXX XXXXXXXX. XXX XXXXXXXXX XXXXX XXX XXXXXXXX XXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXX-X.X.X-X.XXXX.XXX XXXX-XXXXX-X.X.X-X.XXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXXX-X.XX.XX-X.XXXX.XXX XXX-X.X.X-X.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXX-XXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.X.XXXXXXX.XXXX.XXX XXX-XXXXXXXXXXX-X.X.X-XX.X.XXXXXXX.XXXX.XXX XXXX-X.X.X-X.XXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXXXXXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXX-XXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.X.XXXXXXX.XXXX.XXX XXXX-XXXXXXXXXXX-X.X.X-X.XX.XXXXXXX.XXXX.XXX XXXXX-X.X.X-X.XXXX.XXX XXXXX-XXXXX-X.X.X-X.XXXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXXX.XXX XXXXXXXXX-X.X.XX-X.XXXX.XXX XXX: XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXXX-X.XX.XX-X.XXX.XXX XXX-X.X.X-X.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.X.XXXXXXX.XXX.XXX XXX-XXXXXX-X.X.X-XX.X.XXXXXXX.XXX.XXX XXXX-X.X.X-X.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.X.XXXXXXX.XXX.XXX XXXX-XXXXXX-X.X.X-X.XX.XXXXXXX.XXX.XXX XXXXX-X.X.X-X.XXX.XXX XXXXX-XXXXXXX-X.X.X-X.XXX.XXX XXXXXXXXX-X.X.XX-X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 18:17:59 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 18:18:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202181758.GC4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 18:23:47 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 18:23:51 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202182347.GD4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 19:37:08 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 19:37:17 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202193707.GE4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Thu Feb 2 19:39:05 2006 From: upi at papat.org (Pasi Pirhonen) Date: Thu Feb 2 19:39:09 2006 Subject: [XXXXXX-XXXXXXXX] XXXXXXXXXX XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX firefox - security update Message-ID: <20060202193905.GF4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXXX: XXXXXXXXXX/XXXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:23:57 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:24:01 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <20060202212357.GA15169@sillage.bis.pasteur.fr> XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - XXXXXXXX XXXXXX XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX XXXXXXXX XXXXXX XXX XXXXXX X XXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX\* XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:27:43 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:27:46 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update Message-ID: <20060202212743.GB15169@sillage.bis.pasteur.fr> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX XXXXXXXX XXXXXX XXX XXXXXX X XXXXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXX/XXXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX/XXXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX\* XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:37:05 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:37:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update (CENTOSPLUS only) Message-ID: <20060202213705.GC15169@sillage.bis.pasteur.fr> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX (XXXXXXXXXX XXXX) XXXXXXXX XXXXXX XXX XXXXXX X XXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXXX: XXXXXXXXXX/XXXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From tru at centos.org Thu Feb 2 21:37:50 2006 From: tru at centos.org (Tru Huynh) Date: Thu Feb 2 21:37:53 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update (CENTOSPLUS only) Message-ID: <20060202213750.GD15169@sillage.bis.pasteur.fr> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX-XXXX:XXXX XXXXXXX (XXXXXXXXXX XXXX) XXXXXXXX XXXXXX XXX XXXXXX X XXXXXX: XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXX XXX XXXX XXXXXXXX XXX XX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXXXXX/XXXXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXX: XXXXXXXXXX/XXXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX XXX XXX XXXXXX XXXX XXXXXX-X XXXXXX XXXXXXXXXXXXX XX XXXXXXX XXX XXXXXXX: XXX XXXXXX XXXXXXX XXX -- XXX XXXXX (XXXXXX-X XXXX/XXXXXX XXXXXXX XXXXXXXXXXX) XXXX://XXX.XXX.XXX:XXXXX/XXX/XXXXXX?XX=XXX&XXXXXX=XXXXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From jnewbigin at ict.swin.edu.au Thu Feb 2 22:07:50 2006 From: jnewbigin at ict.swin.edu.au (John Newbigin) Date: Thu Feb 2 22:07:54 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX-XX: XXXXXXXXX XXXXXX X XXXX XXXXXX security update Message-ID: <43E282B6.3040801@ict.swin.edu.au> XXX XXXXXXXXX XXXXXX XXX XXXXXX-X XXXX XXXX XXXXX XXX XXXXXXXX XX XXX XXXXXX XXXXXX: XXXX-XXXX:XXXX-XX XXXXXXXXX: XXXXXX XXXXXXXX XXXXXX XXXXX XXXXXXXXX: XXXXXX-X.X.X-X.XX.XXXXXX.XXX XXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXX-X.X.X-X.XX.XXXXXX.XXX XXXXXX-XXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXX-X.X.X-X.XX.XXXX.XXX XXXXXX-XXXXXX-X.X.X-X.XX.XXXX.XXX XXXX XXXXXXX XXX XXXXXXXXX XXXX XXX XXXXXX XXX XXXX XX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXXXX-XXXXXX.XXXX XXX XXXX XXX XX XXXX XXXX XXX XXX XX XX XXXX XXXX XXX XXX XXXXXX XXXXXXX XX XX XXX: # XXX XXXXXX -- XXXX XXXXXXXX XXXXXXXX XXXXXXX XXXXXXX XXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXX XXXXXXXXXX XX XXXXXXXXXX XXXXXXXXX, XXXXXXXXX XXXX://XXX.XXX.XXXX.XXX.XX/XXXXX/XXXXXXXXX From upi at papat.org Fri Feb 3 00:31:40 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 00:31:43 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXXX - security update Message-ID: <20060203003140.GG4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From jnewbigin at ict.swin.edu.au Fri Feb 3 00:37:23 2006 From: jnewbigin at ict.swin.edu.au (John Newbigin) Date: Fri Feb 3 00:37:29 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX-XX: XXXXXXXX XXXXXX X XXXX XXXXXXX security update Message-ID: <43E2A5C3.10503@ict.swin.edu.au> XXX XXXXXXXXX XXXXXX XXX XXXXXX-X XXXX XXXX XXXXX XXX XXXXXXXX XX XXX XXXXXX XXXXXX: XXXX-XXXX:XXXX-XX XXXXXXXX: XXXXXXX XXXXXXXX XXXXXX XXXXX XXXXXXXXX: XXXXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.X.XX.X.XXXX.XXX XXXX XXXXXXX XXX XXXXXXXXX XXXX XXX XXXXXX XXX XXXX XX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXXXX-XXXXXX.XXXX XXX XXXX XXX XX XXXX XXXX XXX XXX XX XX XXXX XXXX XXX XXX XXXXXX XXXXXXX XX XX XXX: # XXX XXXXXX -- XXXX XXXXXXXX XXXXXXXX XXXXXXX XXXXXXX XXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXX XXXXXXXXXX XX XXXXXXXXXX XXXXXXXXX, XXXXXXXXX XXXX://XXX.XXX.XXXX.XXX.XX/XXXXX/XXXXXXXXX From johnny at centos.org Fri Feb 3 02:54:57 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:54:59 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <1138935297.8942.16.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Fri Feb 3 02:55:08 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:55:10 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update Message-ID: <1138935308.8942.17.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXXX.XXX XXX: XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Fri Feb 3 02:56:01 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:56:03 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXXX - security update Message-ID: <1138935361.8942.18.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXXX.XXX XXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Fri Feb 3 02:56:03 2006 From: johnny at centos.org (Johnny Hughes) Date: Fri Feb 3 02:56:07 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXXX - security update Message-ID: <1138935363.8942.19.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXX: XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 04:48:39 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 04:48:52 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XXXXXXX - security update Message-ID: <20060203044839.GH4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.X-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXX/XXXXXXX-X.X.X-X.X.XXXX.XXXXXXX.XXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 04:58:35 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 04:58:43 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XXXXXXX - security update Message-ID: <20060203045835.GI4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXXXX.XXX XXXXXX: XXXXXXX/XXXXX/XXXXX/XXXXXXX-X.X.XX-X.X.XXXX.XXXXXXX.XXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 14:50:00 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 14:50:10 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXXX - security update Message-ID: <20060203145000.GJ4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 14:57:25 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 14:57:27 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXXX - security update Message-ID: <20060203145725.GK4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XX-XXXXXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXX-XXX-XXXXX-X.X.XX-X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 3 15:02:13 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 3 15:02:16 2006 Subject: [XXXXXX-XXXXXXXX] XXXXXXXXXX XXXX-XXXX:XXXX XXXXXXXX XXXXXX X s390(x) firefox - security update Message-ID: <20060203150213.GL4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXX/XXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXX.XXX XXXXX: XXXXXXXXXX/XXXXX/XXXX/XXXXXXX-X.X.X-X.X.X.XXXXXXX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 10 22:21:21 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 10 22:21:23 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <20060210222121.GM4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 10 22:48:28 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 10 22:48:30 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXX XXXXXX - security update Message-ID: <20060210224828.GN4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Fri Feb 10 22:58:39 2006 From: upi at papat.org (Pasi Pirhonen) Date: Fri Feb 10 22:58:42 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX(X) XXXXXX - security update Message-ID: <20060210225839.GO4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.XX-X.X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.XX-X.X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Sun Feb 12 01:21:58 2006 From: johnny at centos.org (Johnny Hughes) Date: Sun Feb 12 01:22:00 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXXXX XXXXXX - security update Message-ID: <1139707318.21151.76.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXX-X.X.XX-X.X.X.XXXXXX.XXX XXXXXX-XXXXX-X.X.XX-X.X.X.XXXXXX.XXX XXX: XXXXXX-X.X.XX-X.X.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Sun Feb 12 01:22:09 2006 From: johnny at centos.org (Johnny Hughes) Date: Sun Feb 12 01:22:12 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <1139707329.21151.78.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXX-X.X.XX-X.X.X.XXXX.XXX XXXXXX-XXXXX-X.X.XX-X.X.X.XXXX.XXX XXX: XXXXXX-X.X.XX-X.X.X.XXXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:47:20 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:47:22 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXX - security update Message-ID: <1139852840.10641.32.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXX-X.XX-XX.XX.XXXXXX.XXX XXX XXXX-X.XX-XX.XX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:47:32 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:47:34 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXX - security update Message-ID: <1139852852.10641.33.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXX-X.XX-XX.XX.XXXX.XXX XXX XXXX-X.XX-XX.XX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:50:51 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:50:54 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <1139853051.10641.37.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXX.XXX XXX: XXXXXX-X.X.X-X.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:50:57 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:50:59 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <1139853057.10641.38.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXX-X.X.X-X.XXX.X.XXXXXX.XXX XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXXXXXXX XXX: XXXXXX-X.X.X-X.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:53:27 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:53:30 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX kdegraphics - security update Message-ID: <1139853207.10641.42.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXXX-X.X.X-X.X.XXXX.XXX XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXX.XXX XXX: XXXXXXXXXXX-X.X.X-X.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:53:40 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:53:42 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXXXX kdegraphics - security update Message-ID: <1139853220.10641.43.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXXXXXX-X.X.X-X.X.XXXXXX.XXX XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXXXX.XXX XXX: XXXXXXXXXXX-X.X.X-X.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:56:43 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:56:45 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXXXX XXXXX - security update Message-ID: <1139853403.10641.46.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXX-X.X.X-XX.XXX.X.XXXXXX.XXX XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXXXX.XXX XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX-XXXX-X.X.X-XX.XXX.X.XXXXXX.XXX XXX: XXXXX-X.X.X-XX.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 17:56:53 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 17:56:55 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXX XXXXX - XXXXXXXX update Message-ID: <1139853413.10641.48.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX XXX: XXXXX-X.X.X-XX.XXX.X.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 18:00:54 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 18:00:56 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXXXX XXXX - security update Message-ID: <1139853654.10641.49.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXX-X.XX-XX.XX.XXXXXX.XXX XXX XXXX-X.XX-XX.XX.XXX.XXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From johnny at centos.org Mon Feb 13 18:02:24 2006 From: johnny at centos.org (Johnny Hughes) Date: Mon Feb 13 18:02:26 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXXXX XXXXXX - security update Message-ID: <1139853744.10641.52.camel@myth.home.local> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXXX: XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXX-X.X.X-X.XXX.X.XXXXXX.XXX XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXXX.XXX XXX: XXXXXX-X.X.X-X.XXX.X.XXX.XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX-XXXXXXXX XXXXXXX XXXX XXXXXX-XXXXXXXX@XXXXXX.XXX XXXX://XXXXX.XXXXXX.XXX/XXXXXXX/XXXXXXXX/XXXXXX-XXXXXXXX -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXXX XX X XXXXXXXXX XXXXXX XXXXXXX XXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:35:45 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:35:51 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX XXXX - security update Message-ID: <20060214023545.GP4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXX-X.XX-XX.XX.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:37:22 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:37:25 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX kdegraphics - security update Message-ID: <20060214023722.GQ4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:38:16 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:38:19 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX XXXXXX - security update Message-ID: <20060214023816.GR4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:40:00 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:40:03 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXX XXXXX - XXXXXXXX update Message-ID: <20060214024000.GS4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:40:36 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:40:38 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXX XXXX - security update Message-ID: <20060214024036.GT4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXX-X.XX-XX.XX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:41:28 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:41:30 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXX XXXXXXXXXXX - security update Message-ID: <20060214024128.GU4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:42:22 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:42:24 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXX XXXXXX - security update Message-ID: <20060214024222.GV4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:43:15 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:43:18 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXX XXXXX - XXXXXXXX update Message-ID: <20060214024315.GW4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXXX: XXXXXXX/XXXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:44:28 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:44:32 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX(X) XXXX - security update Message-ID: <20060214024428.GX4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXX-X.XX-XX.XX.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXX-X.XX-XX.XX.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:45:13 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:45:17 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXXX XXXXXX X XXXX(X) kdegraphics - security update Message-ID: <20060214024513.GY4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-X.X.X-X.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXXXXXXX-XXXXX-X.X.X-X.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:46:08 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:46:11 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXXX XXXXXXXX XXXXXX X XXXX(X) XXXXXX - security update Message-ID: <20060214024608.GZ4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXXX-X.X.X-X.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXXX-XXXXX-X.X.X-X.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX From upi at papat.org Tue Feb 14 02:46:56 2006 From: upi at papat.org (Pasi Pirhonen) Date: Tue Feb 14 02:46:59 2006 Subject: [XXXXXX-XXXXXXXX] XXXX-XXXX:XXX XXX XXXXXX X XXXX(X) XXXXX - security update Message-ID: <20060214024656.GA4576@core.upi.iki.fi> XXXXXX XXXXXX XXX XXXXXXXX XXXXXXXX XXXX:XXX XXXXX://XXX.XXXXXX.XXX/XXXXXX/XXXX-XXXX-XXX.XXXX XXX XXXXXXXXX XXXXXXX XXXXX XXXX XXXX XXXXXXXX XXX XXX XXXXXXXXX XXXXXXX XX XXX XXXXXXX: XXXX: XXXXXXX/XXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXXXX/XXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXX.XXX XXXXX: XXXXXXX/XXXXX/XXXX/XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXXX-X.X.X-XX.XXX.X.XXXXX.XXX XXXXXXX/XXXXX/XXXX/XXXXX-XXXX-X.X.X-XX.XXX.X.XXXXX.XXX -- XXXX XXXXXXXX - XXX@XXX.XX - XXXX://XXX.XX/XXX/ -------------- XXXX XXXX -------------- X XXX-XXXX XXXXXXXXXX XXX XXXXXXXX... XXXX: XXX XXXXXXXXX XXXX: XXXXXXXXXXX/XXX-XXXXXXXXX XXXX: XXX XXXXX XXXX: XXX XXXXXXXXX XXX : XXXX://XXXXX.XXXXXX.XXX/XXXXXXXXX/XXXXXX-XXXXXXXX/XXXXXXXXXXX/XXXXXXXX/XXXXXXXX/XXXXXXXXXX.XXX Mail-Mbox-MessageParser-1.5105/t/mailboxes/newlines_at_beginning.txt000644 000765 000024 00000004517 12503672226 026125 0ustar00coppitstaff000000 000000 From dblank@comp.uark.edu Wed Jul 1 13:17:17 1998 Received: from aleve.media.mit.edu by hub.media.mit.edu; (5.65v3.2/1.1/06Jun95-8.2MPM) id AA10324; Wed, 1 Jul 1998 13:17:17 -0400 Received: from comp.uark.edu (root@comp.uark.edu [130.184.252.197]) by aleve.media.mit.edu (8.8.7/ML970927) with ESMTP id LAA00083 for ; Wed, 1 Jul 1998 11:56:44 -0400 (EDT) Received: from comp.uark.edu (IDENT:dblank@dangermouse.uark.edu [130.184.201.233]) by comp.uark.edu (8.9.0/8.9.0) with ESMTP id KAA12202; Wed, 1 Jul 1998 10:56:30 -0500 (CDT) Sender: dblank@comp.uark.edu Message-Id: <359A5C2E.202B4BA3@comp.uark.edu> Date: Wed, 01 Jul 1998 10:56:30 -0500 From: Douglas Blank Organization: University of Arkansas, CS X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.0.33 i686) Mime-Version: 1.0 To: Aaron Edsinger Cc: handy Subject: Re: Serial Interface References: <199807010601.XAA26862@mail3.sirius.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aaron Edsinger wrote: > Hello, > I've been having some problems using my HandyBoard to talk directly to my > PC via the serial interface. I disable Interactive C and then Poke() and > Peek() as has been described on this list. I send short character strings > from my PC to the HandyBoard under Windows 95. If I send strings longer > than 2 characters, it seems that some of the characters get lost. This > behavior seems to be affected by repositioning or slightly modifying the > code, suggesting perhaps a timing issue. Although there is the HEXMON program, I too, have been trying to do what you describe, and encountered the same problems. I found it to be a timing issue, and, through trial and error, have a found some settings that seem to work most of the time. My goal was to make C code that looked the same when compiled and run on the Host is the code that ran under IC. I am including the host and HB programs here. If anyone knows of a better way of communicating, please let us know. -Doug Blank ===================================================================== dblank@comp.uark.edu Douglas Blank, University of Arkansas Assistant Professor Computer Science ==================== http://www.uark.edu/~dblank ==================== Mail-Mbox-MessageParser-1.5105/t/mailboxes/non-mailbox.txt.gz000644 000765 000024 00000040773 12503672226 024443 0ustar00coppitstaff000000 000000 '=non-mailbox.txt[[HݿbD{$P{w=;3;3lo'*yv("ʓ5qP_D_B ;yyXx(xك d Q^0$pEJ F";~޼fS;=zfރN ҌƎ_^XtK2~|Ut`CVH,w"_H(8H*҃#?>'"@=Wi$ e+PЗciJ<0KƌQt )"8qn=e"KO}~ YӶ //Q49@j@)%IBZ\FEۣYeZJ* †쐜}" \l^h["Jgwp&^&=ùuvynW-`2TdY[Xa}=2>twf!Q'-B[Lbm4Q =&Y֫^s+` G#}Z { [$#"7mGa("WF |gH!oK*yRZ 6jtP= ,ic%}Sg(<7VەA1FC9DS֟gke+ȺYUҨgwG>)>C֬gBmlY. PO. M93yB7\/kB=Lq;W]39F3ZӶ!u=_o̝>/WRW]G zz}J0|)r=pT#}ދGcLVω\a``nyb b.lb\{&d1u=Wu1 6tDv7>L-R~>vRgm-t7^`XJG|9i1{3j_(y@fܮGO.p%+ae]fo R%.f@S66y95R6/ڝ#5NfIͻZEM[lGNh+kӬa@dYÌB>u?}S}p.G!ſʺ}`;Ү>m5/'Gf#?ɅV W}QlY%ʹ7SYiGV"c/d^qӲeX|*/;_>KbkXGD4r0$%)\s1tlKFK{$I?]k]MH"`Z5z*{YOU(1Kƹ$ڳ2ǡ=(Tr$#v|ݩX厽މYk oW֫Fe|xq:>jֵܲ]/G9ex~xV]Z !!ՈZ=>Py|U [&8dU˹{Ďl#vhj k&v! `+x.v]E/C{Me撎߾km$_OK xGk z`@ɐ@5 a^ =|GܱuvY1AJ(#Llk45)"l9R\*v=T=|7uOnζ}k~)'2kml/S5<_׹Su>|~| 6dct({cBڽvҫ%o[vB&=^cs2aT#z^G??޿*Sڽ3ڛ_C?P94l(/a<6wg= JaAkwM 2"eL9Z 2-)QM M[-HC1+\CB> ?JAtO%h<'pY) " -<7)0MOǭ`ks@8e15y}& cl(F`Ю%F) mӃ;vKf6G-siр|Dxn{7# CHjAEb&7HMTjOM)M= fAbm:5[ }jҕǞwL=I]wΩm<:gԕyJaP .tw<;>x|zv4R:[ZǠK6D+gKcZ_vtx`X1~Xgu3x\t‚EcbziGwJ+=^&oC$ 盹5_6gzzbi&m~so,:odۓ~Ԗyx|𕘛oA's:%;?5;h%0rB[K]/-{1K @ECvGumb撳81|sž'K:7cԊ84t44sVޕSQe?0KUu:Mi ::%n/[Fؓ&ή[vM[Ҵ-FxG叺1nySEqϺS`_0>_J䨣G;VkP/ߥR$X_0}9 FVp=%zc,w]V 1uP࢚EvttbM{e-?œC1>/K]~faB}+iK)7󚚷vmڛwgU=Yb\2a>!A21btd*T9 ff9ef*YGN=U)R؜`#qu^>wሮmlAJbw&|_ 0Yh݌>'7ejP|`n޾o:0 u#:݈;w_D?? j2kgW-} ϟt/ ݫ#13M=hP(K#$Z89x!X`DGq`Eߵ ?4_[^FT]ǤzV]'23~]~o^>_[]âW{ڴrlm.[lN](aqRH(ct9\uWrA*\=r4Hm$㫢Y}U-:' .cJ ЏR !*wbDˡ]wJ_';PtUK"ZQ]BhEJ\anADo*ZGeMoŇDvg S X~N$)H%G(mdcYh7iSݠ8+K9$MCmOa 8Zrqϊ36$_e$q jXS*+()+U4h^_楎y;bCn*R[R@p ||AA o .\{FLm:n{c2KQK4>A91s#(?*Z= ,_0vYr`Q(]XCwȄ@RPb0g3#RiSW2WN4ueЅGB%Kd T2(QI+!="|bYb6Lg@F)S'-ǧ)7"cv,Z2eyTsEnzH[kKac!;@brƜIH`M#m`޺8Md%H`v(Ѹ~ <_h{ 6h}jEy\[4:誜Ϊ,>7P1NP9 rI! CLciej"iɀX8>4S垒"Cv65CW*O74ϡ?`3c鉣Vi\2Nɡ_mTAٝď*6]Li8l'3R3YrZSSm6Չx1\/[T͈<$KTk.ft)n~fZ1T/Q2n=eD,!-9g?dwU%_,g+qo#WyfK[Q($㚌p󕳪(G<fJ+.Y%/w=;~=m&JlE6SeTK1͓)uV/HR5#gN4y5堓_WW$ys+PqFѴpQt 2 H:xlWIs94Cw7f#NC|÷ŀC3:d:on/FK u몓 iuEaiQ'+Wf7i6zL5[{}i2NIɄ;pj!_8WisSjpʟwLM  $5H`jICf$ly=Cnwn,Rt1 ]܀)wз0h[z] LLܸvҋY-Ɖ2VRYH|0#WBR3椅>y2`&OK5 0Z`)$njE6mZxEᒐLQTZ} TWL+l34.Yq)# K#xj:8bIJ&B=jT/Ɠvrݵe$a:axˏ ,Q!,Hs5BU )Gmdorv^}TE^{tJ'xg`oZ9bҿ&(LJU~m.J^] (WT-u_~ϫ_x_tؗF]rEKhF# S"Y̬igʌ 90Av/ C_÷1Fce ٧k]8϶"^N)_=4aH҈Fw%PZf(vuc NtͥnG>w!R*13AGx?8tZ705񖵰3%ePMVAU_J~\<+(@P\`T8JɪKw{9acžNch/|jl'j<\QZnr(;ed65  '|vjz9<A=*25g^Ts<4Y 8rJ J\%UnX-.fA no5@ w%{7ZpjG`8{zͳ]ϓpl6MPr. 8P _&Voo٫2 xN,»^{"QV$ݏ}ZJn햽V4j{{U%,4A.>c⑟)WԺG<0)o Cg< =etf]~5uִ|O/IΗE5KWI{B^($/?|ߍCL*blb5_q(Oiˊ ;h+ 3n 81S=hi %<1!olqS%e QMnp|t;J > 9ǽP{uB n+ߗkD\[eU:D\ۖ+;V#VA{]eLn%I.{Us:@-+NAKtj:_VAIX0"2 ׶ ׳ ̥J]h3ui㧡0AVՑpp}7yL/!*;df2r)%0ğ5&#L"˄kCZ#48|؍f)ҹ yaZϺYpP3%<=:<89;=(抦f}` `޳ "9\{ (q*G1| 䚂GmC$ogܥ"1WsN q.{0%ė<2?)-4D);m~C[+;7wAGowGD !mtѝ%?uHȰN~Ʊ1Dx}}ڮj} +:8 jIhp#8ӓ*2rb31g7S䜇[d]Ӗq*G Dc19t<8GM>_! p6AP`P!h&)NL}b)T.VpIcH:έ&3N=/Ƴ/Jm'3Ӝ{$ayܖ?\C0w Ą>u'UB Z6ɤ6Nec$j@.Sxgpm7y|>{-)i`xG Ia"G1pE7c@caxs9ɹ\|Խ|̽M;©O2J~ikkS$Q7xtvIHU(#,&7a 3 =”X팳%GJ*bT^ݯԾ$&Ԏ`Eta&)6Mƹ9.uMDzs+ʽ,p<ϣ8$ n2 wP+$?Sn%kU1j=WyBRQ{Y.Cb9Hl #HB{ GPC5ԑfВBXH2%*ýPiF$['#.E[M?KA!S5?móe <>neD>KvZtͭ%IRT?ŷ.CӥN226czsv&+xcqIΝ.k&d/̉iNzkZ܎Dg%1)%ĘiOJP_!URw/4[h?yrӂX,qkjyHn#[2c nmτXG`տUo hK'q f813OV}̛tYSغo%cnQD\ {@"ET`q4[Sy+٧1ŬƋU퓛+LGgfz٘GɳŸ$(J\@uöVfknP$ShwO:Dt hI('dUP3Z"$J~)hnf-$yWn"wf[\kDtB*G’ŀqy3CTHi6sHR_^ 8^VWO%y$ޟϋP_x1N'#7_o|qOf;.CGZo`AVL-Kڂ<&2L_u̗[DS:¼WF :Y@0b1 If%'S3w&pՈ)xggst'_-ӍxYy=2 g4Vˋj1(HIwa=2 5}ԓx[Kz u5Q74$@FW`I,˯i<v^ O߉\0̍X+-ٖ҂Lg~MFS 2yԉKmJm.KmX"4{EÒ0̏Nq˙>DzT +dI %| I񩢦3-qؤ$g$g&CA Pm,/#V 2END"UɁ2Zh ߨJeQg؊EhxҺ]3F}@Ԓ6IьuBTa(Up^ (CJw7w[,GCX~2谄#U{̗?T^Bxk=T#Q J#ٲ$RBRrM9T6䳤nw10i't~SMKcTw/c<}l& oR %۟i2DCE,PLxf:+ͥ:%׫=;W\RL~E/sQK@Q_~Eo>3?u;NÒc-AamMTzƃK~;{Tum=vv= _dRiaor`zxQңvU}/\ِ[[&l[ Wc~8`B6SBs[+ԉg]F'?rW*\ǂ$ż 5eGq3Xv-`F7^Q/FuawWF .gbz0%c.sryJuC2c|!Am ?ќͭ [Ln*(J[6Va+(Xj599 gRWa mo/A I-( 5w$4E{' )@늆/<9@G򛳥, Cl>KЃo:/Zaߌ/PٌvY^TKDH~I*/Ou>{i_ ``@4nuAzYxxٿ]1~]TXF T\BotjK#*"2,X!V\A VƺѭpjTh,,{D :#-ū/PNaG p&jb8 qZX7OM/5ߞ, WNpH5[`4ɠ n1V3S< r h3MH N007@48dx7޹l)V}5 YYO8-V(H̭FzMQF?%Un3CU%^!|7:Jr~{r.:Qݾ8M_&AL-M-d2m16[;mt0-,*$}ssʊyjxL W;Y~]A=+ƭ@Ҧ0dp<9h9%4X R2ě HwVk2ӛi=[=Q:GGC&9M\TG ZtaĮqNtKvc^6c:ϔ2 {x}x|cʹ,nx Poиd9xƇc?G51/j*P'ˎQ>s6i--vs@lïK34J::[&/K,Ƥoҟ{GLtoݶV]֞j* a3-o5<["?˞j]u/bxI9ɃX-'vmWkm)U [ +46M Y3 N$tp,mC{25~S"~4wj÷OwW{.ej7v1;X6!\mo)xMUv!|ʢ:QF ծC3(WWIL& nsYT1 "'>_qd qv^8 z&H{ء /jlR6'm"p`EfZTo7p/2 7'+nvO߂c͓XPp&[ح;PhY6:6y8gaRj3iV6M&F\,vhKIIf*$Ϙ)$|a I}`ToO\3qc.p ut;2: wb'6C/?j:Ѭ(/M GH&\dc!3J!mC`O֔g?>L#ma'VR!hNxIo(ӛ@YdհExS޸Yʊ*pHoOMX*h0!4vn!;&z7tI0yOhg$Z#eQ'<8<ϸ1.UD !.h)!FQ&gdqq >kk) Ua[] C\ߚ[&=e#Se '+DMVc)a_ .Xu#Vx8 "ZZvK2 TaʻDE\4CB7ŠiHRy\DỈbrzRzQ0"{ҲA[ܸlcL`p,ڔx66)!IOE=:??<}P+lD?F|_-Ϳ 8^g%ͼ?$z2JIW6",Jө#dp\WWWk淏}o0]Qf|]5ʜ?Y0/0}N݂+Y;ƨϐo11~<Z֕"Wڕi1ttf`c#;P /^ëH.ϛAΆAUA2-Hn/46UHQeKvGTEy (mEs8q{c ozeIrSJ`Dw>*`I@sU۸uVx>+AKAZ B27(6Y' )cєsC`00Ax'ƻ %j!\P ZK~,tFwe]}S3j{*꽧p7>"F{J51îUS@2g;FoQFC@1 L~yHROt?[W[hpp,<(wdmLs4WO1Q,(*R1LT-GwtxfQ[m6P8 sF_(pυ5:.u5ַ'/ w-J~:?П,hU۵uNa$q>n>~ ߙQC$FlU&r۝0|iԡ]"dnɯPx7 D:}:B`0 5Mail-Mbox-MessageParser-1.5105/t/mailboxes/separators1.sep000644 000765 000024 00000041126 12503672226 024006 0ustar00coppitstaff000000 000000 From kre@foo.com Mon Aug 2 21:25:01 2004 Return-path: Received: from ausl1.central.foo.com [129.153.131.90] by localhost with IMAP (fetchmail-5.8.0) for willf@localhost (single-drop); Mon, 02 Aug 2004 21:25:00 -0500 (CDT) Received: from auail.central.foo.com by ausail1.central.foo.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) id <0I1U00101M9HO3@aus1.central.foo.com> (original mail from kruest@foo.com); Mon, 02 Aug 2004 21:24:06 -0500 (CDT) Received: from centralm.Central.foo.com (centr2brm.Central.foo.com [129.147.62.14]) by aus08-mail1.central.foo.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) with ESMTP id <0I1U00MWPMO68W@aus1.central.foo.com>; Mon, 02 Aug 2004 21:24:06 -0500 (CDT) Received: from sunmbrm.Central.foo.com (sunbrm.Central.foo.com [129.147.62.17]) by centralmail2brm.Central.foo.com (8.12.10+Sun/8.12.10/ENSMAIL,v2.2) with ESMTP id i732O54F028775; Mon, 02 Aug 2004 20:24:05 -0600 (MDT) Received: from sfbaymail2sca.sfbay.foo.com (sfbaymail2sca.SFBay.foo.com [129.145.155.42]) by sunmail1brm.Central.foo.com (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id i732O2305999 for ; Mon, 02 Aug 2004 20:24:02 -0600 (MDT) Received: from say.foo.com (Say.foo.com [129.146.85.91]) by sfbaymail2sca.sfbay.foo.com (8.12.10+Sun/8.12.10/ENSMAIL,v2.2) with ESMTP id i732O2WG003448 for ; Mon, 02 Aug 2004 19:24:02 -0700 (PDT) Received: from say.foo.com (localhost [127.0.0.1]) by say.foo.com (8.12.11+Sun/8.12.11) with ESMTP id i732LQGf011880 for ; Mon, 02 Aug 2004 19:21:26 -0700 (PDT) Received: (from gtb@localhost) by say.foo.com (8.12.11+Sun/8.12.11/Submit) id i732LCCk011879; Mon, 02 Aug 2004 19:21:12 -0700 (PDT) Date: Mon, 02 Aug 2004 19:21:12 -0700 From: Glonn Subject: XXX XXXXXXXXXX XXXX XXXXXXX XXXXX To: XXX@XXX.XXX Message-id: <8tj8ycxvu5j.fsf@foo.com> MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_/47deYIXfGxrPcOYhaLT6w)" User-Agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.5 (beets, usg-unix-v) X-Authentication-warning: say.foo.com: gob set sender to gob@foo.com using -f Status: RO X-Status: A Content-Length: 43603 Lines: 912 --Boundary_(ID_/47deYIXfGxrPcOYhaLT6w) Content-type: TEXT/PLAIN X XXX XXX XXXXX XXX XXXXX XXXX XXXXXXXX. --Boundary_(ID_/47deYIXfGxrPcOYhaLT6w) Content-type: message/rfc822 X-From-Line: root@maa.foo.com Thu Jul 29 18:59:51 2004 Received: from eilmpk.Eng.foo.com (eil1mpk.Say.foo.com [129.146.11.21]) by jic.eng.foo.com (8.13.1.Beta0+Sun/8.13.0) with ESMTP id i6U1xpAp216754 for ; Thu, 29 Jul 2004 18:59:51 -0700 (PDT) Received: from maa.foo.com (marda.SFBay.foo.com [129.146.168.238]) by eil1mpk.Eng.foo.com (8.12.10+Sun/8.12.10/ENSMAIL,v2.2) with ESMTP id i6U1xowe004362 for ; Thu, 29 Jul 2004 18:59:50 -0700 (PDT) Received: from maa.foo.com (localhost [127.0.0.1]) by maa.foo.com (8.13.0+Sun/8.13.0) with ESMTP id i6U1whYx144847 for ; Thu, 29 Jul 2004 18:58:44 -0700 (PDT) Received: (from root@localhost) by maa.foo.com (8.13.0+Sun/8.13.0/Submit) id i6U1wh3E144844 for gtb; Thu, 29 Jul 2004 18:58:43 -0700 (PDT) Date: Thu, 29 Jul 2004 18:58:43 -0700 (PDT) From: Super-User Subject: preputback test results To: gob@maa.foo.com Message-id: <200407300158.i6U1wh3E144844@maa.foo.com> MIME-version: 1.0 Content-type: TEXT/PLAIN Lines: 866 Xref: mail.misc:65481 XXXXXXXXX XXX: /XXX/XXX/XXXXXXXXX-XXX.XXXXXX.XXX XXXXXXXXX XXX XXXXXXX XX: XXX XXX XX XX:XX:XX XXX XXXX XXXX XXXX: XXXXX XXXXX X.XX XXXX-XXXX:XX/XX/XXXX XXXXX XXXXX XXXX,XXX-XXXXX-XXX XXXXXX XXXX XXXX: XXXXX XXXXXXX.XX X.XX XXXX-XXXX:XX/XX/XXXX XXXXX XXXXX XXXX,XXXXX-XXXX XXX XXXXXXXXX: /XXX/XXX/XXX/XXX XXX XXXXXXXXX XXXXXX: /XX/XXXX-XXXX XXXXXX XXXXXX XXXXXXXXX XXX XXXXXXX XXXXXX XXXXXXXXX XXX XXXXXX XXXX XXXXXXXX XXXXXXXX XXX $XXXXXX = /XXX/XXXX.XXXXX/XXXXXX/XXXXXXXX/XXXXXXXX/XXXX-XXXXX/XXX/XXXXX/XXXXXX XXXXXXX XX XXX XXX/XXXXXX/XXX/XXXXXX/XXXXXXX XXXXX ========================== XXX-XXXXXXX XXXX XXXXXXXX: XXX XXX XX XX:XX:XX XXX XXXX --Boundary_(ID_/47deYIXfGxrPcOYhaLT6w)-- From klopp Mon Jan 5 08:50:15 +0100 2004 X-VM-Message-Order: (190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 24 25 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) X-VM-Summary-Format: "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c %I\"%s\"\n" X-VM-Labels: nil X-VM-VHeader: ("Resent-" "From:" "Sender:" "To:" "Apparently-To:" "Cc:" "Subject:" "Date:") nil X-VM-Last-Modified: (16415 32825 917193) X-VM-IMAP-Retrieved: nil X-VM-POP-Retrieved: nil X-VM-Bookmark: 179 X-VM-v5-Data: ([nil nil nil nil nil nil nil t nil] ["1438" "Monday" "5" "January" "2004" "08:50:15" "+0100" "=?iso-8859-1?Q?Fr=E9d=E9ric?= Klopp" "klopp@math.univ-paris13.fr" nil "49" #("Bonne anne et texte" 0 6 nil 6 11 (vm-coding iso-latin-1 vm-charset "iso-8859-1" vm-string t) 11 20 nil) "^From:" "n@filonov.pdmi.ras.ru, filonov@mph.phys.spbu.ru" "Nikolai Filonov, Nikolai Filonov" "1" "2004010508:50:15" nil (number " " mark " E To: Nikolai Filon Jan 5 49/1438 " thread-indent "\"Bonne =?iso-8859-1?Q?ann=E9e?= et texte\"\n") nil nil nil nil nil nil] nil) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="NQWuVOReNt" Content-Transfer-Encoding: 8bit Message-ID: <16377.5943.822058.623137@omega.maison.fr> X-Mailer: VM 7.17-rfhacked under Emacs 21.2.93.1 Reply-To: Frdric Klopp From: =?iso-8859-1?Q?Fr=E9d=E9ric?= Klopp To: XXXXXXX XXXXXXX , XXXXXXX XXXXXXX Subject: XXXXX =?XXX-XXXX-X?X?XXX=XXX?= XX XXXXX Date: Mon, 5 Jan 2004 08:50:15 +0100 --NQWuVOReNt XXXXXXX-XXXX: XXXX/XXXXX; XXXXXXX=XXX-XXXX-X XXXXXXX-XXXXXXXXXXX: XXXXXXX XXXX XXXX XXXXXXX-XXXXXXXX-XXXXXXXX: XXXX XXXX XXXXXXX, XXXX X'XXXXX, XX XX XXXXXXXX XXX XXX XXXXX XXXX XXXX. X'XX XXXX XXXXX XXXXX XX XX X'XX XXX XXXXX XXXXX-XXXXX XXXXXXXX. XX-XXXXX XX XXXXXXXX XXXXXXX. XX XXXX XX XXXXXXXX, XX XXXX X'XXXXXXX XX XXXXXXX XX XX XXXXXX XXX XXX XXXXXXXX XXXXXX ; XXXX XX XXXXXXX, XXX XXXXXX-XX XX XXXXXXXXX XXXXXXXXXXX (XXXX://XXX.XXXXXXXXXX.XXX-XXXXXXXXX.XX/XXXXXXXXX/) ? X'XXX XX XXXXXXX XXXXXXXXX, XX X'XX XX XXX XX XXXXX XX X. XXXXXX, XX XXXXXXXXX XXX X XXXXXXXX XXXX XXXXXX XX XXXXXXXXXXX, XXX XXXXX XXXX XX XXXXXXX XXXXXX. XXXXXX, XXXXXX --NQWuVOReNt XXXXXXX-XXXX: XXXX/XXXXX; XXXXXXX=XX-XXXXX [XXXXXXX XXXXXXXXXXX/XXX] --NQWuVOReNt XXXXXXX-XXXX: XXXX/XXXXX; XXXXXXX=XX-XXXXX [XXXXXXX XXXXX XXXX] --NQWuVOReNt XXXXXXX-XXXX: XXXX/XXXXX; XXXXXXX=XXX-XXXX-X XXXXXXX-XXXXXXXXXXX: .XXXXXXXXX XXXXXXX-XXXXXXXX-XXXXXXXX: XXXX -- -------------------------------------------------------------------------- | XXXXXX XXXXX | XX: XX/X X XX XX XX XX (XXX./XXX.) | | XXXX, XXXXXXXX XXXXXX | XXX: XX/X X XX XX XX XX (XXX./XXX.) | | XXXXXXXXX XXXXX-XXXX | XXXXXXXX: | | X-XXXXX XXXXXXXXXXXX, XXXXXX | XXXX://XXXX.XXXX.XXXX-XXXXXXX.XX/~XXXXX | -------------------------------------------------------------------------- --NQWuVOReNt-- From linux-kernel-owner+list0570=40paradise.net.nz-S1030369AbWAXIZ4@vger.kernel.org Tue Jan 24 21:35:10 2006 Return-Path: Delivered-To: list0570@paradise.net.nz X-Envelope-To: list0570@paradise.net.nz Received: (qmail 14733 invoked from network); 24 Jan 2006 08:26:49 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-5.paradise.net.nz) (203.96.152.172) by internal-pop3-5.paradise.net.nz with SMTP; 24 Jan 2006 08:26:49 -0000 Received: from smtp-3.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-5.paradise.net.nz (Paradise.net.nz) with ESMTP id <0ITL0014V8SKLW@linda-5.paradise.net.nz> for list0570@paradise.net.nz; Tue, 24 Jan 2006 21:26:47 +1300 (NZDT) Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by smtp-3.paradise.net.nz (Postfix) with ESMTP id 2BEA2895B47 for ; Tue, 24 Jan 2006 21:26:41 +1300 (NZDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030369AbWAXIZ4 (ORCPT ); Tue, 24 Jan 2006 03:25:56 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932475AbWAXIZ4 (ORCPT ); Tue, 24 Jan 2006 03:25:56 -0500 Received: from relay.rost.ru ([80.254.111.11]:149 "EHLO relay.rost.ru") by vger.kernel.org with ESMTP id S932466AbWAXIZ4 (ORCPT ); Tue, 24 Jan 2006 03:25:56 -0500 Received: from pazke.donpac.ru ([80.254.111.9]) by smtp.donpac.ru with esmtps on port 25 (TLSv1:AES256-SHA:256) (Exim 4.42) id 1F1JUk-0000A3-BW; Tue, 24 Jan 2006 11:25:42 +0300 Received: from pazke by pazke.donpac.ru with local (Exim 4.42) id 1F1JUh-0005Oz-En; Tue, 24 Jan 2006 11:25:39 +0300 Date: Tue, 24 Jan 2006 11:25:38 +0300 From: Andrey Panin Subject: [PATCH] SIIG 8-port serial boards support Sender: linux-kernel-owner@vger.kernel.org To: Russell King Cc: linux-kernel@vger.kernel.org Mail-followup-to: Russell King , linux-kernel@vger.kernel.org Message-id: <20060124082538.GB4855@pazke> MIME-version: 1.0 Content-type: multipart/signed; boundary=ZwgA9U+XZDXt4+m+; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-disposition: inline Precedence: bulk User-Agent: Mutt/1.5.11 X-Uname: Linux 2.6.11-pazke i686 X-Mailing-List: linux-kernel@vger.kernel.org Status: O Content-Length: 3826 Lines: 122 --ZwgA9U+XZDXt4+m+ Content-Type: multipart/mixed; boundary="BwCQnh7xodEAoBMC" Content-Disposition: inline --BwCQnh7xodEAoBMC Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, This patch (against 2.6.16-rc1) adds support for SIIG 8 port serial boards. Please consider applying. Best regards. --=20 Andrey Panin | Linux and UNIX system administrator pazke@donpac.ru | PGP key: wwwkeys.pgp.net --BwCQnh7xodEAoBMC Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch-siig-8port-board Content-Transfer-Encoding: quoted-printable drivers/serial/8250_pci.c | 25 ++++++++++++++++++++++++- include/linux/pci_ids.h | 3 +++ 2 files changed, 27 insertions(+), 1 deletion(-) diff -urdpNX /usr/share/dontdiff linux-2.6.16-rc1.vanilla/drivers/serial/82= 50_pci.c linux-2.6.16-rc1/drivers/serial/8250_pci.c --- linux-2.6.16-rc1.vanilla/drivers/serial/8250_pci.c 2006-01-24 10:14:24.= 000000000 +0300 +++ linux-2.6.16-rc1/drivers/serial/8250_pci.c 2006-01-24 10:16:56.00000000= 0 +0300 @@ -439,6 +439,20 @@ static int pci_siig_init(struct pci_dev=20 return -ENODEV; } =20 +static int pci_siig_setup(struct serial_private *priv, + struct pciserial_board *board, + struct uart_port *port, int idx) +{ + unsigned int bar =3D FL_GET_BASE(board->flags) + idx, offset =3D 0; + + if (idx > 3) { + bar =3D 4; + offset =3D (idx - 4) * 8; + } + + return setup_port(priv, port, bar, offset, 0); +} + /* * Timedia has an explosion of boards, and to avoid the PCI table from * growing *huge*, we use this function to collapse some 70 entries @@ -748,7 +762,7 @@ static struct pci_serial_quirk pci_seria .subvendor =3D PCI_ANY_ID, .subdevice =3D PCI_ANY_ID, .init =3D pci_siig_init, - .setup =3D pci_default_setup, + .setup =3D pci_siig_setup, }, /* * Titan cards @@ -2134,6 +2148,15 @@ static struct pci_device_id serial_pci_t { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_4S_20x_850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b0_bt_4_921600 }, + { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_550, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, + pbn_b0_bt_8_921600 }, + { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_650, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, + pbn_b0_bt_8_921600 }, + { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_850, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, + pbn_b0_bt_8_921600 }, =20 /* * Computone devices submitted by Doug McNash dmcnash@computone.com diff -urdpNX /usr/share/dontdiff linux-2.6.16-rc1.vanilla/include/linux/pci= _ids.h linux-2.6.16-rc1/include/linux/pci_ids.h --- linux-2.6.16-rc1.vanilla/include/linux/pci_ids.h 2006-01-24 10:14:51.00= 0000000 +0300 +++ linux-2.6.16-rc1/include/linux/pci_ids.h 2006-01-24 10:16:56.000000000 = +0300 @@ -1677,6 +1677,9 @@ #define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060 #define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061 #define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062 +#define PCI_DEVICE_ID_SIIG_8S_20x_550 0x2080 +#define PCI_DEVICE_ID_SIIG_8S_20x_650 0x2081 +#define PCI_DEVICE_ID_SIIG_8S_20x_850 0x2082 #define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050 =20 #define PCI_VENDOR_ID_RADISYS 0x1331 --BwCQnh7xodEAoBMC-- --ZwgA9U+XZDXt4+m+ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFD1eSCPjHNUy6paxMRAulpAJ9cWL+qm5hBksgFyBJkcXvCveqxsACgpMEw XQTFjQ8wlR9Fx1kyc+a/NrU= =yUsm -----END PGP SIGNATURE----- --ZwgA9U+XZDXt4+m+-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ From suse-linux-return-368084-list0570=paradise.net.nz@suse.com Tue Jan 24 21:35:10 2006 Return-Path: Delivered-To: list0570@paradise.net.nz X-Envelope-To: list0570@paradise.net.nz Received: (qmail 28727 invoked from network); 24 Jan 2006 08:27:19 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-2.paradise.net.nz) (203.96.152.172) by internal-pop3-4.paradise.net.nz with SMTP; 24 Jan 2006 08:27:19 -0000 Received: from smtp-2.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0ITL00JJ68TDNT@linda-2.paradise.net.nz> for list0570@paradise.net.nz; Tue, 24 Jan 2006 21:27:15 +1300 (NZDT) Received: from lists.suse.com (lists.suse.de [195.135.221.131]) by smtp-2.paradise.net.nz (Postfix) with SMTP id 089C2262C3 for ; Tue, 24 Jan 2006 21:26:51 +1300 (NZDT) Received: (qmail 31695 invoked by alias); Tue, 24 Jan 2006 08:26:44 +0000 Received: (qmail 31685 invoked from network); Tue, 24 Jan 2006 08:26:44 +0000 Date: Tue, 24 Jan 2006 09:26:42 +0100 From: Andre Tann Subject: Re: Cryptopartition mounten In-reply-to: <43D5024B.5030608@prostep.com> To: suse-linux@suse.com Message-id: <200601240926.42736@inter.netz> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-15 Content-transfer-encoding: 8BIT Content-disposition: inline Precedence: bulk Delivered-to: mailing list suse-linux@suse.com Mailing-List: contact suse-linux-help@suse.com; run by ezmlm User-Agent: KMail/1.8 X-MIME-Notice: attachments may have been removed from this message X-Mailinglist: suse-linux X-Message-Number-for-archive: 368084 X-Authenticated: #8948731 X-Y-GMX-Trusted: 0 X-Virus-Scanned: by amavisd-new at Relay2.suse.de X-Spam-Status: No, hits=-1.0 tagged_above=-20.0 required=5.0 tests=BAYES_05, FORGED_RCVD_HELO X-Spam-Level: References: <200601231703.30662@inter.netz> <43D5024B.5030608@prostep.com> List-Post: List-Unsubscribe: List-Help: Status: O Content-Length: 738 Lines: 30 Michael Behrens, Montag, 23. Januar 2006 17:20: > Wenn du sowas bei der Installation anlegst, steht das in > /etc/cryptotab. Du kannst wahrscheinlich "/etc/init.d/boot.crypto > start" von Hand aufrufen. Stimmt, das kann man, und funktioniert auch. Wie mte ich mount aufrufen, wenn ich die Partition hndisch mounten wollte? > Sieht so aus, als ob das mit dem Timeout auch in boot.crypto > gemacht wird. Wird es, und habe ich auch schon nach meinen Vorstellungen gendert. Danke schonmal fr Deine Hilfe. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com Mail-Mbox-MessageParser-1.5105/t/mailboxes/separators2.sep000644 000765 000024 00000022422 12503672226 024005 0ustar00coppitstaff000000 000000 From linux-users-owner@it.canterbury.ac.nz Wed Feb 15 10:35:14 2006 Return-Path: Delivered-To: xxxx@xxxxxxxx.xxx.xx X-Envelope-To: xxxx@xxxxxxxx.xxx.xx Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for xxxxxx@xxxxxxxxx (single-drop); Wed, 15 Feb 2006 10:35:14 +1300 (NZDT) Received: (qmail 29974 invoked from network); 14 Feb 2006 21:33:35 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-2.paradise.net.nz) (203.96.152.172) by internal-pop3-1.paradise.net.nz with SMTP; 14 Feb 2006 21:33:35 -0000 Received: from smtp-3.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0IUP007TL57G4J@linda-2.paradise.net.nz>; Wed, 15 Feb 2006 10:33:17 +1300 (NZDT) Received: from cantva.canterbury.ac.nz (cantva.canterbury.ac.nz [132.181.2.27]) by smtp-3.paradise.net.nz (Postfix) with ESMTP id BF0CC1D2D67; Wed, 15 Feb 2006 10:33:16 +1300 (NZDT) Received: from PROCESS-DAEMON.it.canterbury.ac.nz by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) id <01LYZSWP1WQO9V6TAS@it.canterbury.ac.nz> (original mail from xxxx.xxxxxx@xxxx.xx.xx); Wed, 15 Feb 2006 10:33:14 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from CONVERSION-DAEMON.it.canterbury.ac.nz by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) id <01LYZSWUM85SAJSJ2F@it.canterbury.ac.nz> for linux-users-expand@process.it.canterbury.ac.nz (ORCPT linux-users@it.canterbury.ac.nz); Wed, 15 Feb 2006 10:33:18 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from PMAS-DAEMON.it.canterbury.ac.nz by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) id <01LYZSWOSME89V9ZEX@it.canterbury.ac.nz> for linux-users-expand@process.it.canterbury.ac.nz (ORCPT linux-users@it.canterbury.ac.nz); Wed, 15 Feb 2006 10:33:10 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from gatekeeper.tait.co.nz (tel096021.tait.co.nz [202.37.96.21]) by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) with ESMTP id <01LYZSV6QILY9VZXFV@it.canterbury.ac.nz> for linux-users-expand@process.it.canterbury.ac.nz (ORCPT linux-users@it.canterbury.ac.nz); Wed, 15 Feb 2006 10:31:58 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from gatekeeper.tait.co.nz (merlin.tait.co.nz [127.0.0.1]) by localhost.tait.co.nz (Postfix) with ESMTP id 85CC415B684 for ; Wed, 15 Feb 2006 10:33:09 +1300 (NZDT) Received: from sunstrike.tait.co.nz (unknown [172.25.40.92]) by gatekeeper.tait.co.nz (Postfix) with ESMTP id D634015B683for ; Wed, 15 Feb 2006 10:33:08 +1300 (NZDT) Received: from conversion-daemon.sunstrike.tait.co.nz by sunstrike.tait.co.nz(Sun Java System Messaging Server 6.1 (built Apr 28 2004)) id <0IUP003011TUDR00@sunstrike.tait.co.nz>(original mail from xxxx.xxxxxx@xxxx.xx.xx) for linux-users@it.canterbury.ac.nz; Wed, 15 Feb 2006 10:33:08 +1300 (NZDT) Received: from parore ([172.25.140.12]) by sunstrike.tait.co.nz (Sun Java System Messaging Server 6.1 (built Apr 282004)) with ESMTP id <0IUP00MXE577OC30@sunstrike.tait.co.nz> forlinux-users@it.canterbury.ac.nz; Wed, 15 Feb 2006 10:33:08 +1300 (NZDT) Received: from localhost ([127.0.0.1] ident=johnc) by parore with esmtp (Exim 4.34) id 1F97nG-0007zN-Io for linux-users@it.canterbury.ac.nz; Wed, 15 Feb 2006 10:33:06 +1300 Date: Wed, 15 Feb 2006 10:33:06 +1300 (NZDT) From: John Carter Subject: Re: OTish: ISPs In-reply-to: <200602141652.57698.csawtell@paradise.net.nz> X-Originating-IP: 127.0.0.1 X-X-Sender: johnc@parore To: xxxxx-xxxxx@xx.xxxxxxxxxx.xx.xx Reply-to: linux-users@it.canterbury.ac.nz Message-id: X-Complaints-to: /dev/null MIME-version: 1.0 X-Mailer: Pidgeon Post Content-type: TEXT/PLAIN; charset=US-ASCII; format=flowed Content-transfer-encoding: 7BIT X-Apparently-From: mars X-Contents: May contain traces of nuts. X-imss-version: 2.037 X-imss-result: Passed X-imss-approveListMatch: *@tait.co.nz X-PMAS-Software: PreciseMail V2.1-1 [060213] (cantva.canterbury.ac.nz) X-PMAS-Allowed: Message allowed by user rule References: <41648.203.97.61.135.1139864108.squirrel@mail.greengecko.co.nz> <20060213212549.D076A22B47A@smtp-2.paradise.net.nz> <"200602141652.57698.csawtell"@paradise.net.nz> Comments: University of Canterbury Linux Users Group Status: RO Content-Length: 1133 Lines: 34 On Tue, 14 Feb 2006, Christopher Sawtell wrote: > You can relieve the tension by having a go at them about the fact that they > have screwed up the routing to get from Christchurch to Wellington. Grrr. This mess makes me just plain mad. And now Telecom has promised these new Faster&Cheaper plans to try ward off regulation. I had a look at them on their website. Bah! Foo! They have increased the speed, haven't made it cheaper for residential customers and have left the data limit at the same miserable amount. Roll on regulation I say. Perhaps they can shove the notion of peering down the throats these greedy ISP's while they are at it. Anyone know of the appropriate button to push on to encourage the regulators? xxxx xxxxxx xxxxx : (64)(3) ... xxxx xxxxxxxxxxx xxx : (64)(3) ... xx xxx xxxxxxxxxxxx xxxxx : xxxx.xxxxxx@xxxx.xx.xx xxx xxxxxxx Carter's Clarification of Murphy's Law. "Things only ever go right so that they may go more spectacularly wrong later." From this principle, all of life and physics may be deduced. From linux-users-owner@it.canterbury.ac.nz Wed Feb 15 11:35:09 2006 Return-Path: Delivered-To: xxxx@xxxxxxxx.xxx.xx X-Envelope-To: xxxx@xxxxxxxx.xxx.xx Received: from pop3.paradise.net.nz [203.96.152.6] by localhost with POP3 (fetchmail-6.2.5.2) for xxxxxx@xxxxxxxxx (single-drop); Wed, 15 Feb 2006 11:35:09 +1300 (NZDT) Received: (qmail 23290 invoked from network); 14 Feb 2006 22:31:34 -0000 Received: from tclsnelb1-src-1.paradise.net.nz (HELO linda-1.paradise.net.nz) (203.96.152.172) by internal-pop3-4.paradise.net.nz with SMTP; 14 Feb 2006 22:31:34 -0000 Received: from smtp-1.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-1.paradise.net.nz (Paradise.net.nz) with ESMTP id <0IUP0069U7WJE7@linda-1.paradise.net.nz>; Wed, 15 Feb 2006 11:31:31 +1300 (NZDT) Received: from cantva.canterbury.ac.nz (cantva.canterbury.ac.nz [132.181.2.27]) by smtp-1.paradise.net.nz (Postfix) with ESMTP id 1AA701920FB; Wed, 15 Feb 2006 11:31:31 +1300 (NZDT) Received: from PROCESS-DAEMON.it.canterbury.ac.nz by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) id <01LYZUXV3AK09V6TAS@it.canterbury.ac.nz> (original mail from a.errington@lancaster.ac.uk); Wed, 15 Feb 2006 11:31:28 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from CONVERSION-DAEMON.it.canterbury.ac.nz by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) id <01LYZUY0LEHCAJSJ2F@it.canterbury.ac.nz> for linux-users-expand@process.it.canterbury.ac.nz (ORCPT linux-users@it.canterbury.ac.nz); Wed, 15 Feb 2006 11:31:31 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from PMAS-DAEMON.it.canterbury.ac.nz by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) id <01LYZUXUS9349V9ZEX@it.canterbury.ac.nz> for linux-users-expand@process.it.canterbury.ac.nz (ORCPT linux-users@it.canterbury.ac.nz); Wed, 15 Feb 2006 11:31:23 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from linda-1.paradise.net.nz (bm-1a.paradise.net.nz [203.96.152.180]) by it.canterbury.ac.nz (PMDF V6.2-X27 #31178) with ESMTP id <01LYZUXUK54A9V80LI@it.canterbury.ac.nz> for linux-users-expand@process.it.canterbury.ac.nz (ORCPT linux-users@it.canterbury.ac.nz); Wed, 15 Feb 2006 11:31:23 +1300 (NEW ZEALAND DAYLIGHT TIME) Received: from smtp-3.paradise.net.nz (tclsnelb1-src-1.paradise.net.nz [203.96.152.172]) by linda-1.paradise.net.nz (Paradise.net.nz) with ESMTP id <0IUP007CB7VHM0@linda-1.paradise.net.nz> for linux-users@it.canterbury.ac.nz; Wed, 15 Feb 2006 11:30:54 +1300 (NZDT) Received: from there (203-97-121-4.cable.telstraclear.net [203.97.121.4]) by smtp-3.paradise.net.nz (Postfix) with SMTP id 5483A15B223 for ; Wed, 15 Feb 2006 11:30:53 +1300 (NZDT) Date: Wed, 15 Feb 2006 11:30:46 +1300 From: Andrew Errington Subject: Re: OTish: ISPs In-reply-to: <200602151027.51650.clug@nice.net.nz> To: xxxxx-xxxxx@xx.xxxxxxxxxx.xx.xx Message-id: <20060214223053.5483A15B223@smtp-3.paradise.net.nz> MIME-version: 1.0 X-Mailer: KMail [version 1.3.2] Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8bit X-PMAS-Software: PreciseMail V2.1-1 [060213] (cantva.canterbury.ac.nz) X-PMAS-Allowed: Message allowed by user rule References: <41648.203.97.61.135.1139864108.squirrel@mail.greengecko.co.nz> <43a59d630602141117u243b52ffw@mail.gmail.com> <200602151027.51650.clug@nice.net.nz> Comments: University of Canterbury Linux Users Group Status: RO Content-Length: 526 Lines: 13 On Wed, 15 Feb 2006 10:27, you wrote: > > Did you all see the new regarding Telecom the other night? (See [2]) The > almighty Telecom have decided to give us some more speed. Ooh, where do I sign up for this fabulous 512kbps upload service? No, wait, I'll stick with Telstra's measly 2Mbps for now. Never mind. The Commerce Commission will have it all fixed in 4 years. I was sort of hoping 4 weeks or 4 months. Has the government ever heard of a place called "South Korea"? It's not even that far from here. Andy Mail-Mbox-MessageParser-1.5105/t/mailboxes/vm-emacs.txt000644 000765 000024 00000011515 12503672226 023301 0ustar00coppitstaff000000 000000 From xx@lawefni.erj Sun Jun 1 23:26:30 2003 X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["573" "Sunday" "1" "June" "2003" "22:32:29" "+0100" "Xxxx & Xxxxxxx Xxxxxxx" "xx@lawefni.erj" nil nil "Speaker on Wednesday Evening" "^From:" nil nil "6" "2003060122:32:29" "Speaker on Wednesday Evening" (number " " mark " " thread-indent " Xxxx xxx Xxxxxxx Jun 1 Speaker on Wednesday Evening\n") nil nil nil nil nil nil] nil) X-VM-Message-Order: (1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 38 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 49 56 57 58 59 60 61 62 65 64 66 67 68 69 70 71 73 74 75 63 76 77 78 72 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 105 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 15 123 125 124 126 127 128 129 130 131 132 133 134 135 136 137 139 138 140 141 142 143 144 145 146 147 149 150 148 151 152 153 154 155 156 158 157 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 180 181 183 184 179 182 185 186 187 188 189 190 191 192 193 194 196 195 197 198 199 200 201 202 203 204 205 206 207 209 208 210 211 212 213 214 215 216 217 218 220 219 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 263 258 260 259 261 262 266 264 265 267 268 269 270 272 271 273 274 275 292 276 277 279 278 280 281 282 283 284 285 286 287 302 288 289 290 291 293 294 298 295 296 297 299 300 301 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 323 322 324 325 326 327 328 329 330 331 332 333 335 334 338 336 337 339 342 340 341 343 346 344 345 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 378 377 379 380 381 382 383 384 385 386 387 388 393 389 390 392 391 394 395 397 396 398 399 400 402 401 403 404 405 406 407 408 409 410 412 413 411 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 447 449 448 450 451 452 453 454 455 456 457 458 459 446 460 461 463 462 464 465 466 467 468 470 469 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499) X-VM-Summary-Format: "%n %*%a %I %-17.17UB %-3.3m %2d %s\n" X-VM-Labels: nil X-VM-VHeader: ("Resent-" "From:" "Sender:" "To:" "Apparently-To:" "Cc:" "Subject:" "Date:") nil X-VM-Last-Modified: (16436 33211 279516) X-VM-IMAP-Retrieved: nil X-VM-POP-Retrieved: nil X-VM-Bookmark: 253 Return-Path: Delivered-To: graham@localhost.cs.man.ac.uk Received: from localhost (unknown [127.0.0.1]) by xxxx.xx.xxx.xx.xx (Postfix) with ESMTP id 2693D56209 for ; Sun, 1 Jun 2003 23:26:30 +0100 (BST) Received: from xxxxxxxx.xx.xxx.xx.xx by localhost with POP3 (fetchmail-6.2.0) for xxxxxx@localhost (single-drop); Sun, 01 Jun 2003 23:26:30 +0100 (BST) Received: from mta02-svc.ntlworld.com ([62.253.162.42]) by mailhost with esmtp (Exim 4.14) id 19MaRj-0005iq-Hi for xxxxxx@xx.xxx.xx.xx; Sun, 01 Jun 2003 22:32:55 +0100 Received: from Newhome ([62.252.237.57]) by mta02-svc.ntlworld.com (InterMail vM.4.01.03.37 201-229-121-137-20020806) with SMTP id <92835982352378.AWFT23R2.mta02-svc.ntlworld.com@Newhome> for ; Sun, 1 Jun 2003 22:32:29 +0100 Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Spam-Score: -6.7 (------) X-Scanner: exiscan for exim4 (http://duncanthrax.net/exiscan/) *19MaRj-0005iq-Hi*sOXrDe0UpvQ* X-Spam-Status: No, hits=-0.4 required=4.5 tests=MSGID_GOOD_EXCHANGE version=2.54-gdg X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.54-gdg (1.174.2.17-2003-05-11-exp) From: "Xxxx x Xxxxxxx Xxxxxxx" To: "XXXXXX XXXXX" Subject: XXXXXXX XX XXXXXXXXX XXXXXXX Date: Sun, 1 Jun 2003 22:32:29 +0100 XX XXXXXX, XXXX XXXXXX XX X XXXXX XXXX XXXX XXXXXX XXXXX. XX XXXXX XX XXXX XX XXX XXXXX XX XXX XXXXXX XXXXXXXXX' XXXXX. XXX XXXX XXXXX XXX XXXXXXX XXX XXXXXXX XX XXXXXXXXX. XXXXXXXXX XX X XXX-XXXXXX XXX XXXXXX'X XX XXXX XX XXXX XXXX XX XXX XXXX XXX X'X XXXX XXXXX XX XX XXX XXX. XXXXXX XXXX XXXX XXX XXXXX XXXXXXXX XX X XXXXXX XXXXXXX XXXX XX XX XX "XXXXX XX XXXXXX X XXX XXXXXXXXX"! XXXXXX, XXXX ------------------------- XXXX & XXXXXXX XXXXXXX :) XX XXX XXXXXX, XXXXXX, XXXXXX, XXXXX, XXX XXX XXX. +XX (X)XXXX XXXXXX XXXXXX:XX@XXXXXXX.XXX XXXX://XXX.XXXXXXX.XXX Mail-Mbox-MessageParser-1.5105/private-lib/Module/000755 000765 000024 00000000000 12521305625 022236 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/private-lib/Module/Install/000755 000765 000024 00000000000 12521305625 023644 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/private-lib/Module/Install/PRIVATE/000755 000765 000024 00000000000 12521305625 024756 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/private-lib/Module/Install/PRIVATE/Add_Test_Target.pm000644 000765 000024 00000001045 12515001422 030300 0ustar00coppitstaff000000 000000 package Module::Install::PRIVATE::Add_Test_Target; use strict; use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base ); $VERSION = sprintf "%d.%02d%02d", q/0.10.0/ =~ /(\d+)/g; # --------------------------------------------------------------------------- sub Add_Test_Target { my ($self, $target, $test) = @_; *main::MY::postamble = sub { return &Module::AutoInstall::postamble . <include('Module::Install::GetProgramLocations', 0); $self->configure_requires('File::Slurp', 0); my %info = ( 'cat' => { default => 'cat', argname => 'CAT' }, 'diff' => { default => 'diff', argname => 'DIFF' }, 'grep' => { default => 'grep', argname => 'GREP', types => { 'GNU' => { fetch => \&get_gnu_version, numbers => '[2.1,)', }, }, }, 'lzip' => { default => 'lzip', argname => 'LZIP', types => { 'GNU' => { fetch => \&get_gnu_version, numbers => '[1.3,)', }, }, }, 'xz' => { default => 'xz', argname => 'XZ' }, 'gzip' => { default => 'gzip', argname => 'GZIP' }, 'bzip' => { default => 'bzip2', argname => 'BZIP', types => { 'bzip2' => { fetch => \&get_bzip2_version, numbers => '[1.0,)', }, }, }, 'bzip2' => { default => 'bzip2', argname => 'BZIP2', types => { 'bzip2' => { fetch => \&get_bzip2_version, numbers => '[1.0,)', }, }, }, ); # XXX: disable grep support by pretending like the user doesn't have grep # installed delete $info{'grep'}; my %locations = $self->get_program_locations(\%info); # XXX: pretend we didn't find grep $locations{'grep'} = { 'version' => undef, 'type' => undef, 'path' => undef }; Update_Config('lib/Mail/Mbox/MessageParser/Config.pm', \%locations); Update_Config('old/Mail/Mbox/MessageParser/Config.pm', \%locations) if -e 'old/Mail/Mbox/MessageParser.pm'; return \%locations; } # -------------------------------------------------------------------------- sub Update_Config { my $filename = shift; my %locations = %{ shift @_ }; my $code = read_file($filename); foreach my $program (keys %locations) { if (defined $locations{$program}{'path'}) { $locations{$program}{'path'} = "\'$locations{$program}{'path'}\'"; } else { $locations{$program}{'path'} = "undef"; } } if ($code =~ /'programs'\s*=>\s*{\s*?\n([^}]+?) *}/s) { my $original_programs = $1; my $new_programs = ''; foreach my $program (sort keys %locations) { $new_programs .= " '$program' => $locations{$program}{'path'},\n"; } $code =~ s/\Q$original_programs\E/$new_programs/; } else { die "Couldn't find programs hash in $filename"; } write_file($filename, $code); } Mail-Mbox-MessageParser-1.5105/private-lib/Module/Install/PRIVATE/Enable_Verbose_CPAN_Testing.pm000644 000765 000024 00000002062 12517265446 032500 0ustar00coppitstaff000000 000000 package Module::Install::PRIVATE::Enable_Verbose_CPAN_Testing; use strict; use warnings; use lib 'inc'; use Module::Install::AutomatedTester(); use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base ); $VERSION = sprintf "%d.%02d%02d", q/0.1.0/ =~ /(\d+)/g; our( $ORIG_TEST_VIA_HARNESS ); # --------------------------------------------------------------------------- sub enable_verbose_cpan_testing { my ($self, @args) = @_; # Tell Module::Install to include this, since we use it. $self->perl_version('5.005'); $self->include_deps('Module::Install::AutomatedTester', 0); return unless Module::Install::AutomatedTester::auto_tester(); unless(defined $ORIG_TEST_VIA_HARNESS) { $ORIG_TEST_VIA_HARNESS = MY->can('test_via_harness'); no warnings 'redefine'; *MY::test_via_harness = \&_force_verbose; } } sub _force_verbose { my($self, $perl, $tests) = @_; my $command = MY->$ORIG_TEST_VIA_HARNESS($perl || '$(FULLPERLRUN)', $tests); $command =~ s/\$\(TEST_VERBOSE\)/1/; return $command; } 1; Mail-Mbox-MessageParser-1.5105/private-lib/Module/Install/PRIVATE/Fix_Sort_Versions.pm000644 000765 000024 00000001055 12515051626 030744 0ustar00coppitstaff000000 000000 package Module::Install::PRIVATE::Fix_Sort_Versions; use strict; use warnings; use File::Slurp; use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base ); $VERSION = sprintf "%d.%02d%02d", q/0.1.0/ =~ /(\d+)/g; # --------------------------------------------------------------------------- sub fix_sort_versions { my ($self, $file) = @_; $self->configure_requires('File::Slurp', 0); print "Fixing POD in $file\n"; my $code = read_file($file); $code =~ s|^=encoding.*||m; write_file($file, $code); } 1; Mail-Mbox-MessageParser-1.5105/lib/Mail/000755 000765 000024 00000000000 12521305625 020223 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/000755 000765 000024 00000000000 12521305625 021130 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser/000755 000765 000024 00000000000 12521305625 023671 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser.pm000644 000765 000024 00000071522 12517263733 024246 0ustar00coppitstaff000000 000000 package Mail::Mbox::MessageParser; use strict; use 5.005; use Carp; use FileHandle::Unget; use File::Spec; use File::Temp; sub dprint; use Mail::Mbox::MessageParser::MetaInfo; use Mail::Mbox::MessageParser::Config; use Mail::Mbox::MessageParser::Perl; use Mail::Mbox::MessageParser::Grep; use Mail::Mbox::MessageParser::Cache; use vars qw( @ISA $VERSION $DEBUG ); use vars qw( $CACHE $UPDATING_CACHE ); @ISA = qw(Exporter); $VERSION = sprintf "%d.%02d%02d", q/1.51.5/ =~ /(\d+)/g; $DEBUG = 0; #------------------------------------------------------------------------------- # The class-wide cache, which will be read and written when necessary. i.e. # read when an folder reader object is created which uses caching, and # written when a different cache is specified, or when the program exits, *CACHE = \$Mail::Mbox::MessageParser::MetaInfo::CACHE; *UPDATING_CACHE = \$Mail::Mbox::MessageParser::MetaInfo::UPDATING_CACHE; *SETUP_CACHE = \&Mail::Mbox::MessageParser::MetaInfo::SETUP_CACHE; sub SETUP_CACHE; #------------------------------------------------------------------------------- # Outputs debug messages if $DEBUG is true. sub dprint { return 1 unless $DEBUG; my $message = join '',@_; foreach my $line (split /\n/, $message) { warn "DEBUG (" . __PACKAGE__ . "): $line\n"; } # Be sure to return 1 so code like 'dprint "blah\n" and exit' works. return 1; } #------------------------------------------------------------------------------- sub new { my ($proto, $options, $cache_options) = @_; my $class = ref($proto) || $proto; carp "You must provide either a file name or a file handle" unless defined $options->{'file_name'} || defined $options->{'file_handle'}; # Can't use grep or cache unless there is a filename unless (defined $options->{'file_name'}) { $options->{'enable_cache'} = 0; $options->{'enable_grep'} = 0; } $DEBUG = $options->{'debug'} if defined $options->{'debug'}; my ($file_type, $need_to_close_filehandle, $error, $endline); ($options->{'file_handle'}, $file_type, $need_to_close_filehandle, $error, $endline) = _PREPARE_FILE_HANDLE($options->{'file_name'}, $options->{'file_handle'}); if (defined $error && !($error eq 'Not a mailbox' && $options->{'force_processing'})) { # Here I assume the only error for which the filehandle was opened is # "Not a mailbox" close $options->{'file_handle'} if $error eq 'Not a mailbox'; return $error; } # Grep implementation doesn't support compression right now $options->{'enable_grep'} = 0 if _IS_COMPRESSED_TYPE($file_type); $options->{'enable_cache'} = 1 unless defined $options->{'enable_cache'};; $options->{'enable_grep'} = 1 unless defined $options->{'enable_grep'};; my $self = undef; if ($options->{'enable_cache'}) { $self = new Mail::Mbox::MessageParser::Cache($options, $cache_options); unless (ref $self) { warn "Couldn't instantiate Mail::Mbox::MessageParser::Cache: $self"; $self = undef; } if ($UPDATING_CACHE) { dprint "Couldn't instantiate Mail::Mbox::MessageParser::Cache: " . "Updating cache"; $self = undef; } } if (!defined $self && $options->{'enable_grep'}) { $self = new Mail::Mbox::MessageParser::Grep($options); unless (ref $self) { if ($self =~ /not installed/) { dprint "Couldn't instantiate Mail::Mbox::MessageParser::Grep: $self"; } else { warn "Couldn't instantiate Mail::Mbox::MessageParser::Grep: $self"; } $self = undef; } } if (!defined $self) { $self = new Mail::Mbox::MessageParser::Perl($options); warn "Couldn't instantiate Mail::Mbox::MessageParser::Perl: $self" unless ref $self; } die "Couldn't instantiate any mailbox parser implementation" unless defined $self; dprint "Instantiate mailbox parser implementation: " . ref $self; $self->_print_debug_information(); $self->_read_prologue(); $self->{'need_to_close_filehandle'} = $need_to_close_filehandle; $self->{'endline'} = $endline; return $self; } #------------------------------------------------------------------------------- sub _init { my $self = shift; $self->{'email_line_number'} = 0; $self->{'email_offset'} = 0; $self->{'email_length'} = 0; $self->{'email_number'} = 0; } #------------------------------------------------------------------------------- sub DESTROY { my $self = shift; $self->{'file_handle'}->close() if $self->{'need_to_close_filehandle'}; } #------------------------------------------------------------------------------- # Returns: # - a file handle to the decompressed mailbox # - the file type (see _GET_FILE_TYPE) # - a boolean indicating whether the caller needs to close the file handle # - an error message (or undef) # - the endline: "\n", "\r\n", or undef sub _PREPARE_FILE_HANDLE { my $file_name = shift; my $file_handle = shift; dprint "Preparing file handle"; if (defined $file_handle) { # Promote this to a FileHandle::Unget if it isn't already $file_handle = new FileHandle::Unget($file_handle) unless UNIVERSAL::isa($file_handle, 'FileHandle::Unget'); binmode $file_handle; my $file_type = _GET_FILE_TYPE(\$file_handle); dprint "Filehandle file type: $file_type"; # Do decompression if we need to if (_IS_COMPRESSED_TYPE($file_type)) { my ($decompressed_file_handle,$error) = _DO_DECOMPRESSION($file_handle, $file_type); return ($file_handle,$file_type,0,$error,undef) unless defined $decompressed_file_handle; return ($decompressed_file_handle,$file_type,0,"Not a mailbox",undef) if _GET_FILE_TYPE(\$decompressed_file_handle) ne 'mailbox'; my $endline = _GET_ENDLINE(\$decompressed_file_handle); return ($decompressed_file_handle,$file_type,0,undef,$endline); } else { dprint "Filehandle is not compressed"; my $endline = _GET_ENDLINE(\$file_handle); return ($file_handle,$file_type,0,"Not a mailbox",$endline) if !eof($file_handle) && $file_type ne 'mailbox'; return ($file_handle,$file_type,0,undef,$endline); } } else { my $file_type = _GET_FILE_TYPE(\$file_name); dprint "Filename \"$file_name\" file type: $file_type"; my ($opened_file_handle,$error) = _OPEN_FILE_HANDLE($file_name, $file_type); return ($file_handle,$file_type,0,$error,undef) unless defined $opened_file_handle; my $endline = _GET_ENDLINE(\$opened_file_handle); if (_IS_COMPRESSED_TYPE($file_type)) { return ($opened_file_handle,$file_type,1,"Not a mailbox",$endline) if _GET_FILE_TYPE(\$opened_file_handle) ne 'mailbox'; return ($opened_file_handle,$file_type,1,undef,$endline); } else { return ($opened_file_handle,$file_type,1,"Not a mailbox",$endline) if $file_type ne 'mailbox'; return ($opened_file_handle,$file_type,1,undef,$endline); } } } #------------------------------------------------------------------------------- # This function does not analyze the file to determine if it is valid. It only # opens it using a suitable decompresson if necessary. sub _OPEN_FILE_HANDLE { my $file_name = shift; my $file_type = shift; dprint "Opening file \"$file_name\""; # Non-compressed file unless (_IS_COMPRESSED_TYPE($file_type)) { my $file_handle = new FileHandle::Unget($file_name); return (undef,"Can't open $file_name: $!") unless defined $file_handle; binmode $file_handle; dprint "File \"$file_name\" is not compressed"; return ($file_handle,undef); } # It must be a known compressed file type return (undef,"Can't decompress $file_name--no decompressor available") unless defined $Mail::Mbox::MessageParser::Config{'programs'}{$file_type}; my $filter_command = qq{"$Mail::Mbox::MessageParser::Config{'programs'}{$file_type}" -cd "$file_name" |}; dprint "Calling \"$filter_command\" to decompress file \"$file_name\"."; my $oldstderr; open $oldstderr,">&STDERR" or die "Can't save STDERR: $!\n"; open STDERR,">" . File::Spec->devnull() or die "Can't redirect STDERR to " . File::Spec->devnull() . ": $!\n"; my $file_handle = new FileHandle::Unget($filter_command); return (undef,"Can't execute \"$filter_command\" for file \"$file_name\": $!") unless defined $file_handle; binmode $file_handle; open STDERR, '>&', $oldstderr or die "Can't restore STDERR: $!\n"; if (eof($file_handle)) { $file_handle->close(); return (undef,"Can't execute \"$filter_command\" for file \"$file_name\""); } return ($file_handle, undef); } #------------------------------------------------------------------------------- # Returns: unknown, unknown binary, mailbox, non-mailbox ascii, bzip, # bzip2, gzip, compress sub _GET_FILE_TYPE { my $file_name_or_handle_ref = shift; # Open the file if we need to my $file_handle_ref; my $need_to_close_filehandle = 0; if (ref $file_name_or_handle_ref eq 'SCALAR') { my $temp = new FileHandle::Unget($$file_name_or_handle_ref); return 'unknown' unless defined $temp; $file_handle_ref = \$temp; $need_to_close_filehandle = 1; } else { $file_handle_ref = $file_name_or_handle_ref; } # Read test characters my $test_chars = ''; my $readResult; while(index($test_chars,"\n\n") == -1 && index($test_chars,"\r\n\r\n") == -1) { $readResult = read($$file_handle_ref,$test_chars,4000,CORE::length($test_chars)); last unless defined $readResult && $readResult != 0; last if _IS_BINARY_MAILBOX(\$test_chars); if(CORE::length($test_chars) > $Mail::Mbox::MessageParser::Config{'max_testchar_buffer_size'}) { if(index($test_chars,"\n\n") == -1 && index($test_chars,"\r\n\r\n") == -1) { dprint "Couldn't find end of first paragraph after " . "$Mail::Mbox::MessageParser::Config{'max_testchar_buffer_size'} bytes." } last; } } if($need_to_close_filehandle) { $$file_handle_ref->close(); } else { $$file_handle_ref->ungets($test_chars); } return 'unknown' unless defined $readResult && $readResult != 0; unless (_IS_BINARY_MAILBOX(\$test_chars)) { return 'mailbox' if _IS_MAILBOX(\$test_chars); return 'non-mailbox ascii'; } # See "magic" on unix systems for details on how to identify file types return 'bzip2' if substr($test_chars, 0, 3) eq 'BZh'; return 'bzip' if substr($test_chars, 0, 2) eq 'BZ'; return 'xz' if substr($test_chars, 1, 4) eq '7zXZ'; return 'lzip' if substr($test_chars, 0, 4) eq 'LZIP'; # return 'zip' if substr($test_chars, 0, 2) eq 'PK' && # ord(substr($test_chars,3,1)) == 0003 && ord(substr($test_chars,4,1)) == 0004; return 'gzip' if ord(substr($test_chars,0,1)) == 0037 && ord(substr($test_chars,1,1)) == 0213; return 'compress' if ord(substr($test_chars,0,1)) == 0037 && ord(substr($test_chars,1,1)) == 0235; return 'unknown binary'; } #------------------------------------------------------------------------------- # Returns: undef, "\r\n", "\n" sub _GET_ENDLINE { my $file_name_or_handle_ref = shift; # Open the file if we need to my $file_handle_ref; my $need_to_close_filehandle = 0; if (ref $file_name_or_handle_ref eq 'SCALAR') { my $temp = new FileHandle::Unget($$file_name_or_handle_ref); return 'unknown' unless defined $temp; $file_handle_ref = \$temp; $need_to_close_filehandle = 1; } else { $file_handle_ref = $file_name_or_handle_ref; } # Read test characters my $test_chars = ''; my $readResult; while(index($test_chars,"\n") == -1 && index($test_chars,"\r\n") == -1) { $readResult = read($$file_handle_ref,$test_chars,4000,CORE::length($test_chars)); last unless defined $readResult && $readResult != 0; last if _IS_BINARY_MAILBOX(\$test_chars); if(CORE::length($test_chars) > $Mail::Mbox::MessageParser::Config{'max_testchar_buffer_size'}) { if(index($test_chars,"\n") == -1 && index($test_chars,"\r\n") == -1) { dprint "Couldn't find end of first line after " . "$Mail::Mbox::MessageParser::Config{'max_testchar_buffer_size'} bytes." } last; } } if($need_to_close_filehandle) { $$file_handle_ref->close(); } else { $$file_handle_ref->ungets($test_chars); } return undef unless defined $readResult && $readResult != 0; return undef if _IS_BINARY_MAILBOX(\$test_chars); if(index($test_chars,"\r\n") != -1) { return "\r\n"; } else { return "\n"; } } #------------------------------------------------------------------------------- sub _IS_COMPRESSED_TYPE { my $file_type = shift; local $" = '|'; my @types = qw( gzip bzip bzip2 xz lzip compress ); my $file_type_pattern = "(@types)"; return $file_type =~ /^$file_type_pattern$/; } #------------------------------------------------------------------------------- # man perlfork for details # simulate open(FOO, "-|") sub pipe_from_fork ($) { my $parent = shift; my $child = new FileHandle::Unget; pipe $parent, $child or die; my $pid = fork(); return undef unless defined $pid; if ($pid) { close $child; } else { close $parent; open(STDOUT, ">&=" . fileno($child)) or die; } return $pid; } #------------------------------------------------------------------------------- sub _DO_WINDOWS_DECOMPRESSION { my $file_handle = shift; my $file_type = shift; return (undef,"Can't decompress file handle--no decompressor available") unless defined $Mail::Mbox::MessageParser::Config{'programs'}{$file_type}; my $filter_command = qq{"$Mail::Mbox::MessageParser::Config{'programs'}{$file_type}" -cd}; my ($temp_file_handle, $temp_file_name) = File::Temp::tempfile('mail-mbox-messageparser-XXXXXX', SUFFIX => '.tmp', UNLINK => 1); while(my $line = <$file_handle>) { print $temp_file_handle $line; } close $file_handle; # So that it won't be deleted until the program is complete # close $temp_file_handle; dprint "Calling \"$filter_command\" to decompress filehandle"; my $decompressed_file_handle = new FileHandle::Unget("$filter_command $temp_file_name |"); binmode $decompressed_file_handle; return ($decompressed_file_handle,undef); } #------------------------------------------------------------------------------- sub _DO_NONWINDOWS_DECOMPRESSION { my $file_handle = shift; my $file_type = shift; return (undef,"Can't decompress file handle--no decompressor available") unless defined $Mail::Mbox::MessageParser::Config{'programs'}{$file_type}; my $filter_command = qq{"$Mail::Mbox::MessageParser::Config{'programs'}{$file_type}" -cd}; dprint "Calling \"$filter_command\" to decompress filehandle"; # Implicit fork my $decompressed_file_handle = new FileHandle::Unget; my $pid = pipe_from_fork($decompressed_file_handle); unless (defined($pid)) { $file_handle->close(); die 'Can\'t fork to decompress file handle'; } # In child. Write to the parent, giving it all the data to decompress. # We have to do it this way because other methods (e.g. open2) require us # to feed the filter as we use the filtered data. This method allows us to # keep the remainder of the code the same for both compressed and # uncompressed input. unless ($pid) { open(FRONT_OF_PIPE, "|$filter_command 2>" . File::Spec->devnull()) or return (undef,"Can't execute \"$filter_command\" on file handle: $!"); binmode FRONT_OF_PIPE; print FRONT_OF_PIPE <$file_handle>; $file_handle->close() or return (undef,"Can't execute \"$filter_command\" on file handle: $!"); # We intentionally don't check for error here. This is because the # parent may have aborted, in which case we let it take care of # error messages. (e.g. Non-mailbox standard input.) close FRONT_OF_PIPE; exit; } binmode $decompressed_file_handle; # In parent return ($decompressed_file_handle,undef); } #------------------------------------------------------------------------------- sub _DO_DECOMPRESSION { my $file_handle = shift; my $file_type = shift; if ($^O eq 'MSWin32') { return _DO_WINDOWS_DECOMPRESSION($file_handle,$file_type); } else { return _DO_NONWINDOWS_DECOMPRESSION($file_handle,$file_type); } } #------------------------------------------------------------------------------- # Simulates -B, which consumes data on a stream. We only look at the first # 1000 characters because the body may have foreign binary-like characters sub _IS_BINARY_MAILBOX { my ($start, $data_length); # Unix line endings { $start = 0; # Handle newlines at the start while (index(${$_[0]}, "\n\n", $start) == $start) { $start += 2; } $data_length = index(${$_[0]}, "\n\n", $start) - $start; } # If we didn't succeed with Unix line endings, try DOS line endings if ($data_length == -1) { # Handle newlines at the start $start = 0; while (index(${$_[0]}, "\r\n\r\n", $start) == $start) { $start += 4; } $data_length = index(${$_[0]}, "\r\n\r\n", $start) - $start; } # Didn't find any kind of empty line. Use the whole buffer. $data_length = CORE::length(${$_[0]}) - $start if $data_length == -1; my $bin_length = substr(${$_[0]}, $start ,$data_length) =~ tr/[\t\n\x20-\x7e]//c; my $non_bin_length = $data_length - $bin_length; return (($non_bin_length / $data_length) <= .70); } #------------------------------------------------------------------------------- # Detects whether an ASCII file is a mailbox, based on whether it has a line # whose prefix is 'From' and another line whose prefix is 'Received ', # 'Date:', 'Subject:', 'X-Status:', 'Status:', or 'To:'. sub _IS_MAILBOX { my $test_characters = shift; if ($$test_characters =~ /$Mail::Mbox::MessageParser::Config{'from_pattern'}/im && $$test_characters =~ /^(Received[ :]|Date:|Subject:|X-Status:|Status:|To:)/sm) { return 1; } else { return 0; } } #------------------------------------------------------------------------------- sub reset { my $self = shift; if (_IS_A_PIPE($self->{'file_handle'})) { dprint "Avoiding seek() on a pipe"; } else { seek $self->{'file_handle'}, length($self->{'prologue'}), 0 } $self->{'email_line_number'} = 0; $self->{'email_offset'} = 0; $self->{'email_length'} = 0; $self->{'email_number'} = 0; } #------------------------------------------------------------------------------- # Ceci n'set pas une pipe sub _IS_A_PIPE { my $file_handle = shift; return (-t $file_handle || -S $file_handle || -p $file_handle || !-f $file_handle || !(seek $file_handle, 0, 1)); } #------------------------------------------------------------------------------- sub endline { my $self = shift; return $self->{'endline'}; } #------------------------------------------------------------------------------- sub prologue { my $self = shift; return $self->{'prologue'}; } #------------------------------------------------------------------------------- sub _print_debug_information { return unless $DEBUG; my $self = shift; dprint "Version: $VERSION"; foreach my $key (keys %$self) { my $value = $self->{$key}; if (defined $value) { $value = '' unless ref \$value eq 'SCALAR'; } else { $value = ''; } dprint "$key: $value"; } } #------------------------------------------------------------------------------- # Returns true if the file handle has been fully read sub end_of_file { my $self = shift; # Reset eof in case the file was appended to. Hopefully this works all the # time. See perldoc -f seek for details. seek($self->{'file_handle'},0,1) if eof $self->{'file_handle'}; return eof $self->{'file_handle'}; } #------------------------------------------------------------------------------- # The line number of the last email read sub line_number { my $self = shift; return $self->{'email_line_number'}; } #------------------------------------------------------------------------------- sub number { my $self = shift; return $self->{'email_number'}; } #------------------------------------------------------------------------------- # The length of the last email read sub length { my $self = shift; return $self->{'email_length'}; } #------------------------------------------------------------------------------- # The offset of the last email read sub offset { my $self = shift; return $self->{'email_offset'}; } #------------------------------------------------------------------------------- sub _read_prologue { die "Derived class must provide an implementation"; } #------------------------------------------------------------------------------- sub read_next_email { my $self = shift; if ($UPDATING_CACHE) { dprint "Storing data into cache, length " . $self->{'email_length'}; my $CACHE = $Mail::Mbox::MessageParser::Cache::CACHE; $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}-1]{'length'} = $self->{'email_length'}; $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}-1]{'line_number'} = $self->{'email_line_number'}; $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}-1]{'offset'} = $self->{'email_offset'}; $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}-1]{'validated'} = 1; $CACHE->{$self->{'file_name'}}{'modified'} = 1; if ($self->end_of_file()) { $UPDATING_CACHE = 0; # Last one is always validated $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}-1]{'validated'} = 1; } } } #------------------------------------------------------------------------------- # - Returns header lines in the email header which match the given name. # - Example names: 'From:', 'Received:' or 'From ' # - If the calling context wants a list, a list of the matching header lines # are returned. Otherwise, the first (and perhaps only) match is returned. # - Wrapped lines are handled. Look for multiple \n's in the return value(s) # - 'From ' also looks for Gnus 'X-From-Line:' or 'X-Draft-From:' # Stolen from grepmail sub _GET_HEADER_FIELD { my $email_header = shift; my $header_name = shift; my $endline = shift; die unless ref $email_header; # Avoid perl 5.6 bug which causes spurious warning even though $email_header # is defined. local $^W = 0 if $] >= 5.006 && $] < 5.008; if ($header_name =~ /^From$/i && $$email_header =~ /^((?:From\s|X-From-Line:|X-Draft-From:).*$endline(\s.*$endline)*)/im) { return wantarray ? ($1) : $1; } my @matches = $$email_header =~ /^($header_name\s.*$endline(?:\s.*$endline)*)/igm; if (@matches) { return wantarray ? @matches : shift @matches; } if (lc $header_name eq 'from ' && $$email_header =~ /^(From\s.*$endline(\s.*$endline)*)/im) { return wantarray ? ($1) : $1; } return undef; } 1; __END__ # -------------------------------------------------------------------------- =head1 NAME Mail::Mbox::MessageParser - A fast and simple mbox folder reader =head1 SYNOPSIS #!/usr/bin/perl use Mail::Mbox::MessageParser; # Compression support my $file_name = 'mail/saved-mail.xz'; my $file_handle = new FileHandle($file_name); # Set up cache. (Not necessary if enable_cache is false.) Mail::Mbox::MessageParser::SETUP_CACHE( { 'file_name' => '/tmp/cache' } ); my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $file_name, 'file_handle' => $file_handle, 'enable_cache' => 1, 'enable_grep' => 1, } ); die $folder_reader unless ref $folder_reader; # Any newlines or such before the start of the first email my $prologue = $folder_reader->prologue; print $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()) { my $email = $folder_reader->read_next_email(); print $$email; } =head1 DESCRIPTION This module implements a fast but simple mbox folder reader. One of three implementations (Cache, Grep, Perl) will be used depending on the wishes of the user and the system configuration. The first implementation is a cached-based one which stores email information about mailboxes on the file system. Subsequent accesses will be faster because no analysis of the mailbox will be needed. The second implementation is one based on GNU grep, and is significantly faster than the Perl version for mailboxes which contain very large (10MB) emails. The final implementation is a fast Perl-based one which should always be applicable. The Cache implementation is about 6 times faster than the standard Perl implementation. The Grep implementation is about 4 times faster than the standard Perl implementation. If you have GNU grep, it's best to enable both the Cache and Grep implementations. If the cache information is available, you'll get very fast speeds. Otherwise, you'll take about a 1/3 performance hit when the Grep version is used instead. The overriding requirement for this module is speed. If you wish more sophisticated parsing, use Mail::MboxParser (which is based on this module) or Mail::Box. =head2 METHODS AND FUNCTIONS =over 4 =item SETUP_CACHE(...) SETUP_CACHE( { 'file_name' => } ); - the file name of the cache Call this function once to set up the cache before creating any parsers. You must provide the location to the cache file. There is no default value. =item new(...) new( { 'file_name' => , 'file_handle' => , 'enable_cache' => <1 or 0>, 'enable_grep' => <1 or 0>, 'force_processing' => <1 or 0>, 'debug' => <1 or 0>, } ); - the file name of the mailbox - the already opened file handle for the mailbox - true to attempt to use the cache implementation - true to attempt to use the grep implementation - true to force processing of files that look invalid - true to print some debugging information to STDERR The constructor takes either a file name or a file handle, or both. If the file handle is not defined, Mail::Mbox::MessageParser will attempt to open the file using the file name. You should always pass the file name if you have it, so that the parser can cache the mailbox information. This module will automatically decompress the mailbox as necessary. If a filename is available but the file handle is undef, the module will call bzip, bzip2, gzip, lzip, xz to decompress the file in memory if the filename ends with the appropriate suffix. If the file handle is defined, it will detect the type of compression and apply the correct decompression program. The Cache, Grep, or Perl implementation of the parser will be loaded, whichever is most appropriate. For example, the first time you use caching, there will be no cache. In this case, the grep implementation can be used instead. The cache will be updated in memory as the grep implementation parses the mailbox, and the cache will be written after the program exits. The file name is optional, in which case I and I must both be false. I will cause the module to process folders that look to be binary, or whose text data doesn't look like a mailbox. Returns a reference to a Mail::Mbox::MessageParser object on success, and a scalar desribing an error on failure. ("Not a mailbox", "Can't open : ", "Can't execute for file " =item reset() Reset the filehandle and all internal state. Note that this will not work with filehandles which are streams. If there is enough demand, I may add the ability to store the previously read stream data internally so that I will work correctly. =item endline() Returns "\n" or "\r\n", depending on the file format. =item prologue() Returns any newlines or other content at the start of the mailbox prior to the first email. =item end_of_file() Returns true if the end of the file has been encountered. =item line_number() Returns the line number for the start of the last email read. =item number() Returns the number of the last email read. (i.e. The first email will have a number of 1.) =item length() Returns the length of the last email read. =item offset() Returns the byte offset of the last email read. =item read_next_email() Returns a reference to a scalar holding the text of the next email in the mailbox, or undef at the end of the file. =back =head1 BUGS No known bugs. Contact david@coppit.org for bug reports and suggestions. =head1 AUTHOR David Coppit . =head1 LICENSE This code is distributed under the GNU General Public License (GPL) Version 2. See the file LICENSE in the distribution for details. =head1 HISTORY This code was originally part of the grepmail distribution. See http://grepmail.sf.net/ for previous versions of grepmail which included early versions of this code. =head1 SEE ALSO Mail::MboxParser, Mail::Box =cut Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser/Cache.pm000644 000765 000024 00000017571 12514506520 025244 0ustar00coppitstaff000000 000000 package Mail::Mbox::MessageParser::Cache; no strict; @ISA = qw( Exporter Mail::Mbox::MessageParser ); use strict; use Carp; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::MetaInfo; use vars qw( $VERSION $DEBUG ); use vars qw( $CACHE ); $VERSION = sprintf "%d.%02d%02d", q/1.30.2/ =~ /(\d+)/g; *ENTRY_STILL_VALID = \&Mail::Mbox::MessageParser::MetaInfo::ENTRY_STILL_VALID; sub ENTRY_STILL_VALID; *CACHE = \$Mail::Mbox::MessageParser::MetaInfo::CACHE; *WRITE_CACHE = \&Mail::Mbox::MessageParser::MetaInfo::WRITE_CACHE; *INITIALIZE_ENTRY = \&Mail::Mbox::MessageParser::MetaInfo::INITIALIZE_ENTRY; sub WRITE_CACHE; sub INITIALIZE_ENTRY; *DEBUG = \$Mail::Mbox::MessageParser::DEBUG; *dprint = \&Mail::Mbox::MessageParser::dprint; sub dprint; #------------------------------------------------------------------------------- sub new { my ($proto, $self) = @_; carp "Need file_name option" unless defined $self->{'file_name'}; carp "Need file_handle option" unless defined $self->{'file_handle'}; carp "Call SETUP_CACHE() before calling new()" unless exists $Mail::Mbox::MessageParser::MetaInfo::CACHE_OPTIONS{'file_name'}; bless ($self, __PACKAGE__); $self->_init(); return $self; } #------------------------------------------------------------------------------- sub _init { my $self = shift; WRITE_CACHE(); $self->SUPER::_init(); INITIALIZE_ENTRY($self->{'file_name'}); } #------------------------------------------------------------------------------- sub reset { my $self = shift; $self->SUPER::reset(); # If we're in the middle of parsing this file, we need to reset the cache INITIALIZE_ENTRY($self->{'file_name'}); } #------------------------------------------------------------------------------- sub _read_prologue { my $self = shift; dprint "Reading mailbox prologue using cache"; my $prologue_length = $CACHE->{$self->{'file_name'}}{'emails'}[0]{'offset'}; my $total_amount_read = 0; do { $total_amount_read += read($self->{'file_handle'}, $self->{'prologue'}, $prologue_length-$total_amount_read, $total_amount_read); } while ($total_amount_read != $prologue_length); } #------------------------------------------------------------------------------- sub read_next_email { my $self = shift; my $entry_became_invalidated = 0; unless (defined $self->{'file_name'} && ENTRY_STILL_VALID($self->{'file_name'})) { $entry_became_invalidated = 1; # Patch up the data structures for the Perl implementation $self->{'CURRENT_LINE_NUMBER'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'line_number'}; $self->{'CURRENT_OFFSET'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'offset'}; $self->{'READ_CHUNK_SIZE'} = $Mail::Mbox::MessageParser::Config{'read_chunk_size'}; $self->{'READ_BUFFER'} = ''; $self->{'END_OF_EMAIL'} = 0; # Invalidate the remaining data $#{ $CACHE->{$self->{'file_name'}}{'emails'} } = $self->{'email_number'}; bless ($self, 'Mail::Mbox::MessageParser::Perl'); return $self->read_next_email(); } return undef if $self->end_of_file(); $self->{'email_line_number'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'line_number'}; $self->{'email_offset'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'offset'}; my $email = ''; $self->{'email_length'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'length'}; { my $total_amount_read = length($email); do { $total_amount_read += read($self->{'file_handle'}, $email, $self->{'email_length'}-$total_amount_read, $total_amount_read); } while ($total_amount_read != $self->{'email_length'}); } unless ($CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'validated'}) { my $current_time = localtime; my $email_last_modified_time = localtime((stat($self->{'file_name'}))[9]); my $cache_last_modified_time = localtime((stat($Mail::Mbox::MessageParser::MetaInfo::CACHE_OPTIONS{'file_name'}))[9]); die <{'file_name'} - Email file last modified time: $email_last_modified_time - Cache file: $Mail::Mbox::MessageParser::MetaInfo::CACHE_OPTIONS{'file_name'} - Cache file last modified time: $cache_last_modified_time - Email number: $self->{'email_number'} - Email line number: $self->{'email_line_number'} - Email offset: $self->{'email_offset'} - Email length: $self->{'email_length'} - Entry became invalidated?: $entry_became_invalidated It would also be really helpful if you could send the cache and email file, but I realize that many would not be comfortable doing that. EOF } $self->{'email_number'}++; $self->SUPER::read_next_email(); return \$email; } #------------------------------------------------------------------------------- sub _print_debug_information { return unless $DEBUG; my $self = shift; $self->SUPER::_print_debug_information(); dprint "Valid cache entry exists: " . ($#{ $CACHE->{$self->{'file_name'}}{'emails'} } != -1 ? "Yes" : "No"); } 1; __END__ # -------------------------------------------------------------------------- =head1 NAME Mail::Mbox::MessageParser::Cache - A cache-based mbox folder reader =head1 SYNOPSIS #!/usr/bin/perl use Mail::Mbox::MessageParser; my $filename = 'mail/saved-mail'; my $filehandle = new FileHandle($filename); # Set up cache Mail::Mbox::MessageParser::SETUP_CACHE( { 'file_name' => '/tmp/cache' } ); my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_cache' => 1, } ); die $folder_reader unless ref $folder_reader; warn "No cached information" if $Mail::Mbox::MessageParser::Cache::UPDATING_CACHE; # Any newlines or such before the start of the first email my $prologue = $folder_reader->prologue; print $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()); { my $email = $folder_reader->read_next_email(); print $email; } =head1 DESCRIPTION This module implements a cached-based mbox folder reader. It can only be used when cache information already exists. Users must not instantiate this class directly--use Mail::Mbox::MessageParser instead. The base MessageParser module will automatically manage the use of cache and non-cache implementations. =head2 METHODS AND FUNCTIONS The following methods and functions are specific to the Mail::Mbox::MessageParser::Cache package. For additional inherited ones, see the Mail::Mbox::MessageParser documentation. =over 4 =item $ref = new( { 'file_name' => , 'file_handle' => , }); - The full filename of the mailbox - An opened file handle for the mailbox The constructor for the class takes two parameters. I is the filename of the mailbox. This will be used as the cache key, so it's important that it fully defines the path to the mailbox. The I argument is the opened file handle to the mailbox. Both arguments are required. Returns a reference to a Mail::Mbox::MessageParser object, or a string describing the error. =back =head1 BUGS No known bugs. Contact david@coppit.org for bug reports and suggestions. =head1 AUTHOR David Coppit . =head1 LICENSE This code is distributed under the GNU General Public License (GPL) Version 2. See the file LICENSE in the distribution for details. =head1 HISTORY This code was originally part of the grepmail distribution. See http://grepmail.sf.net/ for previous versions of grepmail which included early versions of this code. =head1 SEE ALSO Mail::Mbox::MessageParser =cut Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser/Config.pm000644 000765 000024 00000001564 12521305603 025436 0ustar00coppitstaff000000 000000 package Mail::Mbox::MessageParser::Config; use strict; use vars qw( $VERSION %Config ); $VERSION = sprintf "%d.%02d%02d", q/0.1.2/ =~ /(\d+)/g; %Mail::Mbox::MessageParser::Config = ( 'programs' => { 'bzip' => '/usr/bin/bzip2', 'bzip2' => '/usr/bin/bzip2', 'cat' => '/usr/local/opt/coreutils/libexec/gnubin/cat', 'diff' => '/usr/bin/diff', 'grep' => undef, 'gzip' => '/usr/bin/gzip', 'lzip' => '/usr/local/bin/lzip', 'xz' => '/usr/local/bin/xz', }, 'max_testchar_buffer_size' => 1048576, 'read_chunk_size' => 20000, 'from_pattern' => q/(?mx)^ (From\s # Skip names, months, days (?> [^:\n]+ ) # Match time (?: :\d\d){1,2} # Match time zone (EST), hour shift (+0500), and-or year (?: \s+ (?: [A-Z]{2,6} | [+-]?\d{4} ) ){1,3} # smail compatibility (\sremote\sfrom\s.*)? )/, ); 1; Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser/Grep.pm000644 000765 000024 00000041673 12514506527 025145 0ustar00coppitstaff000000 000000 package Mail::Mbox::MessageParser::Grep; no strict; @ISA = qw( Exporter Mail::Mbox::MessageParser ); use strict; use Carp; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use vars qw( $VERSION $DEBUG ); use vars qw( $CACHE ); $VERSION = sprintf "%d.%02d%02d", q/1.70.5/ =~ /(\d+)/g; *ENTRY_STILL_VALID = \&Mail::Mbox::MessageParser::MetaInfo::ENTRY_STILL_VALID; sub ENTRY_STILL_VALID; *CACHE = \$Mail::Mbox::MessageParser::MetaInfo::CACHE; *DEBUG = \$Mail::Mbox::MessageParser::DEBUG; *dprint = \&Mail::Mbox::MessageParser::dprint; sub dprint; #------------------------------------------------------------------------------- sub new { my ($proto, $self) = @_; carp "Need file_name option" unless defined $self->{'file_name'}; carp "Need file_handle option" unless defined $self->{'file_handle'}; return "Mail::Mbox::MessageParser::Grep not configured to use GNU grep. Perhaps it is not installed" unless defined $Mail::Mbox::MessageParser::Config{'programs'}{'grep'}; bless ($self, __PACKAGE__); $self->_init(); return $self; } #------------------------------------------------------------------------------- sub _init { my $self = shift; # Reading grep data provides us with an array of potential email starting # locations. However, due to included emails and attachments, we have to # validate these locations as actually being the start of emails. As a # result, there may be more "chunks" in the array than emails. So # CHUNK_INDEX >= email_number-1. $self->{'CHUNK_INDEX'} = -1; $self->{'READ_BUFFER'} = ''; $self->{'START_OF_EMAIL'} = 0; $self->{'END_OF_EMAIL'} = 0; $self->SUPER::_init(); $self->_initialize_cache_entry(); } #------------------------------------------------------------------------------- sub reset { my $self = shift; $self->{'CHUNK_INDEX'} = 0; $self->{'READ_BUFFER'} = ''; $self->{'START_OF_EMAIL'} = 0; $self->{'END_OF_EMAIL'} = 0; $self->SUPER::reset(); } #------------------------------------------------------------------------------- sub end_of_file { my $self = shift; # Reset eof in case the file was appended to. Hopefully this works all the # time. See perldoc -f seek for details. seek($self->{'file_handle'},0,1) if eof $self->{'file_handle'}; return eof $self->{'file_handle'} && $self->{'END_OF_EMAIL'} == length($self->{'READ_BUFFER'}); } #------------------------------------------------------------------------------- sub _read_prologue { my $self = shift; dprint "Reading mailbox prologue using grep"; $self->_read_until_match( qr/$Mail::Mbox::MessageParser::Config{'from_pattern'}/m,0); my $start_of_email = pos($self->{'READ_BUFFER'}); $self->{'prologue'} = substr($self->{'READ_BUFFER'}, 0, $start_of_email); # Set up for read_next_email $self->{'END_OF_EMAIL'} = $start_of_email; } #------------------------------------------------------------------------------- sub read_next_email { my $self = shift; unless (defined $self->{'file_name'} && ENTRY_STILL_VALID($self->{'file_name'})) { # Patch up the data structures for the Perl implementation undef $self->{'CHUNK_INDEX'}; $self->{'CURRENT_LINE_NUMBER'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'line_number'}; $self->{'CURRENT_OFFSET'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'offset'}; $self->{'READ_CHUNK_SIZE'} = $Mail::Mbox::MessageParser::Config{'read_chunk_size'}; # Invalidate the remaining data $#{ $CACHE->{$self->{'file_name'}}{'emails'} } = $self->{'email_number'}; bless ($self, 'Mail::Mbox::MessageParser::Perl'); return $self->read_next_email(); } return undef if $self->end_of_file(); $self->{'email_line_number'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'line_number'}; $self->{'email_offset'} = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'offset'}; $self->{'START_OF_EMAIL'} = $self->{'END_OF_EMAIL'}; # Slurp in an entire multipart email (but continue looking for the next # header so that we can get any following newlines as well) unless ($self->_read_header()) { return $self->_extract_email_and_finalize(); } unless ($self->_read_email_parts()) { # Could issue a warning here, but I'm not sure how to do this cleanly for # a work-only module like this. Maybe something like CGI's cgi_error()? dprint "Inconsistent multi-part message. Could not find ending for " . "boundary \"" . $self->_multipart_boundary() . "\""; # Try to read the content length and use that my $email_header = substr($self->{'READ_BUFFER'}, $self->{'START_OF_EMAIL'}, $self->{'START_OF_BODY'} - $self->{'START_OF_EMAIL'}); my $content_length = Mail::Mbox::MessageParser::_GET_HEADER_FIELD( \$email_header, 'Content-Length:', $self->{'endline'}); if (defined $content_length) { $content_length =~ s/Content-Length: *(\d+).*/$1/i; pos($self->{'READ_BUFFER'}) = $self->{'START_OF_EMAIL'} + $content_length; } # Otherwise use the start of the body else { pos($self->{'READ_BUFFER'}) = $self->{'START_OF_BODY'}; } # Reset the search and look for the start of the next email. $self->_read_rest_of_email(); return $self->_extract_email_and_finalize(); } $self->_read_rest_of_email(); return $self->_extract_email_and_finalize(); } #------------------------------------------------------------------------------- sub _read_rest_of_email { my $self = shift; # Look for the start of the next email while (1) { while ($self->{'READ_BUFFER'} =~ m/$Mail::Mbox::MessageParser::Config{'from_pattern'}/mg) { $self->{'END_OF_EMAIL'} = pos($self->{'READ_BUFFER'}) - length($1); my $endline = $self->{'endline'}; # Keep looking if the header we found is part of a "Begin Included # Message". my $end_of_string = ''; my $backup_amount = 100; do { $backup_amount *= 2; $end_of_string = substr($self->{'READ_BUFFER'}, $self->{'END_OF_EMAIL'}-$backup_amount, $backup_amount); } while (index($end_of_string, "$endline$endline") == -1 && $backup_amount < $self->{'END_OF_EMAIL'}); next if $end_of_string =~ /$endline-----(?: Begin Included Message |Original Message)-----$endline[^\r\n]*(?:$endline)*$/i; next unless $end_of_string =~ /$endline$endline$/; # Found the next email! return; } # Didn't find next email in current buffer. Most likely we need to read some # more of the mailbox. Shift the current email to the front of the buffer # unless we've already done so. my $shift_amount = $self->{'START_OF_EMAIL'}; $self->{'READ_BUFFER'} = substr($self->{'READ_BUFFER'}, $self->{'START_OF_EMAIL'}); $self->{'START_OF_EMAIL'} -= $shift_amount; $self->{'START_OF_BODY'} -= $shift_amount; pos($self->{'READ_BUFFER'}) = length($self->{'READ_BUFFER'}); # Start looking at the end of the buffer, but back up some in case the # edge of the newly read buffer contains the start of a new header. I # believe the RFC says header lines can be at most 90 characters long. unless ($self->_read_until_match( qr/$Mail::Mbox::MessageParser::Config{'from_pattern'}/m,90)) { $self->{'END_OF_EMAIL'} = length($self->{'READ_BUFFER'}); return; } redo; } } #------------------------------------------------------------------------------- sub _multipart_boundary { my $self = shift; my $endline = $self->{'endline'}; if (substr($self->{'READ_BUFFER'},$self->{'START_OF_EMAIL'}, $self->{'START_OF_BODY'}-$self->{'START_OF_EMAIL'}) =~ /^(content-type: *multipart[^\n\r]*$endline( [^\n\r]*$endline)*)/im) { my $content_type_header = $1; $content_type_header =~ s/$endline//g; if ($content_type_header =~ /boundary *= *"([^"]*)"/i || $content_type_header =~ /boundary *= *([-0-9A-Za-z'()+_,.\/:=? ]*[-0-9A-Za-z'()+_,.\/:=?])/i) { return $1 } } return undef; } #------------------------------------------------------------------------------- sub _read_email_parts { my $self = shift; my $boundary = $self->_multipart_boundary(); return 1 unless defined $boundary; # RFC 1521 says the boundary can be no longer than 70 characters. Back up a # little more than that. my $endline = $self->{'endline'}; $self->_read_until_match(qr/^--\Q$boundary\E--$endline/m,76) or return 0; return 1; } #------------------------------------------------------------------------------- sub _extract_email_and_finalize { my $self = shift; $self->{'email_length'} = $self->{'END_OF_EMAIL'}-$self->{'START_OF_EMAIL'}; my $email = substr($self->{'READ_BUFFER'}, $self->{'START_OF_EMAIL'}, $self->{'email_length'}); while ($self->{'email_length'} > $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'length'}) { $self->_adjust_cache_data(); } $self->{'email_number'}++; $self->SUPER::read_next_email(); return \$email; } #------------------------------------------------------------------------------- sub _read_header { my $self = shift; $self->_read_until_match(qr/$self->{'endline'}$self->{'endline'}/m,0) or return 0; $self->{'START_OF_BODY'} = pos($self->{'READ_BUFFER'}) + length("$self->{'endline'}$self->{'endline'}"); return 1; } #------------------------------------------------------------------------------- # The search position is at the start of the pattern when this function # returns 1. sub _read_until_match { my $self = shift; my $pattern = shift; my $backup = shift; # Start looking at the end of the buffer, but back up some in case the edge # of the newly read buffer contains part of the pattern. if (!defined pos($self->{'READ_BUFFER'}) || pos($self->{'READ_BUFFER'}) - $backup <= 0) { pos($self->{'READ_BUFFER'}) = 0; } else { pos($self->{'READ_BUFFER'}) -= $backup; } while (1) { if ($self->{'READ_BUFFER'} =~ m/($pattern)/mg) { pos($self->{'READ_BUFFER'}) -= length($1); return 1; } pos($self->{'READ_BUFFER'}) = length($self->{'READ_BUFFER'}); unless ($self->_read_chunk()) { $self->{'END_OF_EMAIL'} = length($self->{'READ_BUFFER'}); return 0; } if (pos($self->{'READ_BUFFER'}) - $backup <= 0) { pos($self->{'READ_BUFFER'}) = 0; } else { pos($self->{'READ_BUFFER'}) -= $backup; } } } #------------------------------------------------------------------------------- # Maintains pos($self->{'READ_BUFFER'}) sub _read_chunk { my $self = shift; my $search_position = pos($self->{'READ_BUFFER'}); # Reading the prologue, so use the offset of the first email if ($self->{'CHUNK_INDEX'} == -1) { my $length_to_read = $CACHE->{$self->{'file_name'}}{'emails'}[0]{'offset'}; my $total_amount_read = 0; do { $total_amount_read += read($self->{'file_handle'}, $self->{'READ_BUFFER'}, $length_to_read-$total_amount_read, length($self->{'READ_BUFFER'})); } while ($total_amount_read != $length_to_read); pos($self->{'READ_BUFFER'}) = $search_position; $self->{'CHUNK_INDEX'}++; } my $last_email_index = $#{$CACHE->{$self->{'file_name'}}{'emails'}}; return 0 if $self->{'CHUNK_INDEX'} == $last_email_index+1; my $length_to_read = $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'CHUNK_INDEX'}]{'length'}; my $total_amount_read = 0; do { $total_amount_read += read($self->{'file_handle'}, $self->{'READ_BUFFER'}, $length_to_read-$total_amount_read, length($self->{'READ_BUFFER'})); } while ($total_amount_read != $length_to_read); pos($self->{'READ_BUFFER'}) = $search_position; $self->{'CHUNK_INDEX'}++; return 1; } #------------------------------------------------------------------------------- sub _adjust_cache_data { my $self = shift; my $last_email_index = $#{$CACHE->{$self->{'file_name'}}{'emails'}}; die<{'email_number'} == $last_email_index; $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}]{'length'} += $CACHE->{$self->{'file_name'}}{'emails'}[$self->{'email_number'}+1]{'length'}; if($self->{'email_number'}+2 <= $last_email_index) { @{$CACHE->{$self->{'file_name'}}{'emails'}} [$self->{'email_number'}+1..$last_email_index-1] = @{$CACHE->{$self->{'file_name'}}{'emails'}} [$self->{'email_number'}+2..$last_email_index]; } pop @{$CACHE->{$self->{'file_name'}}{'emails'}}; $self->{'CHUNK_INDEX'}--; } #------------------------------------------------------------------------------- sub _initialize_cache_entry { my $self = shift; my @stat = stat $self->{'file_name'}; my $size = $stat[7]; my $time_stamp = $stat[9]; $CACHE->{$self->{'file_name'}}{'size'} = $size; $CACHE->{$self->{'file_name'}}{'time_stamp'} = $time_stamp; $CACHE->{$self->{'file_name'}}{'emails'} = _READ_GREP_DATA($self->{'file_name'}); } #------------------------------------------------------------------------------- sub _READ_GREP_DATA { my $filename = shift; my @lines_and_offsets; dprint "Reading grep data"; { my @grep_results; @grep_results = `unset LC_ALL LC_COLLATE LANG LC_CTYPE LC_MESSAGES; $Mail::Mbox::MessageParser::Config{'programs'}{'grep'} --extended-regexp --line-number --byte-offset --binary-files=text "^From [^:]+(:[0-9][0-9]){1,2}( *([A-Z]{2,6}|[+-]?[0-9]{4})){1,3}( remote from .*)?\r?\$" "$filename"`; dprint "Read " . scalar(@grep_results) . " lines of grep data"; foreach my $match_result (@grep_results) { my ($line_number, $byte_offset) = $match_result =~ /^(\d+):(\d+):/; push @lines_and_offsets, {'line number' => $line_number,'byte offset' => $byte_offset}; } } my @emails; for(my $match_number = 0; $match_number <= $#lines_and_offsets; $match_number++) { if ($match_number == $#lines_and_offsets) { my $filesize = -s $filename; $emails[$match_number]{'length'} = $filesize - $lines_and_offsets[$match_number]{'byte offset'}; } else { $emails[$match_number]{'length'} = $lines_and_offsets[$match_number+1]{'byte offset'} - $lines_and_offsets[$match_number]{'byte offset'}; } $emails[$match_number]{'line_number'} = $lines_and_offsets[$match_number]{'line number'}; $emails[$match_number]{'offset'} = $lines_and_offsets[$match_number]{'byte offset'}; $emails[$match_number]{'validated'} = 0; } return \@emails; } 1; __END__ # -------------------------------------------------------------------------- =head1 NAME Mail::Mbox::MessageParser::Grep - A GNU grep-based mbox folder reader =head1 SYNOPSIS #!/usr/bin/perl use Mail::Mbox::MessageParser; my $filename = 'mail/saved-mail'; my $filehandle = new FileHandle($filename); my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, 'enable_grep' => 1, } ); die $folder_reader unless ref $folder_reader; # Any newlines or such before the start of the first email my $prologue = $folder_reader->prologue; print $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()); { my $email = $folder_reader->read_next_email(); print $email; } =head1 DESCRIPTION This module implements a GNU grep-based mbox folder reader. It can only be used when GNU grep is installed on the system. Users must not instantiate this class directly--use Mail::Mbox::MessageParser instead. The base MessageParser module will automatically manage the use of grep and non-grep implementations. =head2 METHODS AND FUNCTIONS The following methods and functions are specific to the Mail::Mbox::MessageParser::Grep package. For additional inherited ones, see the Mail::Mbox::MessageParser documentation. =over 4 =item $ref = new( { 'file_name' => , 'file_handle' => }); - The full filename of the mailbox - An opened file handle for the mailbox The constructor for the class takes two parameters. The I parameter is the filename of the mailbox. The I argument is the opened file handle to the mailbox. Returns a reference to a Mail::Mbox::MessageParser object, or a string describing the error. =back =head1 BUGS No known bugs. Contact david@coppit.org for bug reports and suggestions. =head1 AUTHOR David Coppit . =head1 LICENSE This code is distributed under the GNU General Public License (GPL) Version 2. See the file LICENSE in the distribution for details. =head1 HISTORY This code was originally part of the grepmail distribution. See http://grepmail.sf.net/ for previous versions of grepmail which included early versions of this code. =head1 SEE ALSO Mail::Mbox::MessageParser =cut Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser/MetaInfo.pm000644 000765 000024 00000017504 12514506534 025744 0ustar00coppitstaff000000 000000 package Mail::Mbox::MessageParser::MetaInfo; no strict; @ISA = qw( Exporter ); use strict; use Carp; use Mail::Mbox::MessageParser; use vars qw( $VERSION $DEBUG ); use vars qw( $CACHE %CACHE_OPTIONS $UPDATING_CACHE ); $VERSION = sprintf "%d.%02d%02d", q/0.2.0/ =~ /(\d+)/g; *DEBUG = \$Mail::Mbox::MessageParser::DEBUG; *dprint = \&Mail::Mbox::MessageParser::dprint; sub dprint; # The class-wide cache, which will be read and written when necessary. i.e. # read when an folder reader object is created which uses caching, and # written when a different cache is specified, or when the program exits, $CACHE = {}; %CACHE_OPTIONS = (); $UPDATING_CACHE = 0; #------------------------------------------------------------------------------- sub _LOAD_STORABLE { if (eval 'require Storable;') { import Storable; return 1; } else { return 0; } } #------------------------------------------------------------------------------- sub SETUP_CACHE { my $cache_options = shift; carp "Need file_name option" unless defined $cache_options->{'file_name'}; return "Can not load " . __PACKAGE__ . ": Storable is not installed.\n" unless _LOAD_STORABLE(); # Load Storable if we need to # See if the client is setting up a different cache if (exists $CACHE_OPTIONS{'file_name'} && $cache_options->{'file_name'} ne $CACHE_OPTIONS{'file_name'}) { dprint "New cache file specified--writing old cache if necessary."; WRITE_CACHE(); $CACHE = {}; } %CACHE_OPTIONS = %$cache_options; _READ_CACHE(); return 'ok'; } #------------------------------------------------------------------------------- sub CLEAR_CACHE { unlink $CACHE_OPTIONS{'file_name'} if defined $CACHE_OPTIONS{'file_name'} && -f $CACHE_OPTIONS{'file_name'}; $CACHE = {}; $UPDATING_CACHE = 1; } #------------------------------------------------------------------------------- sub INITIALIZE_ENTRY { my $file_name = shift; my @stat = stat $file_name; return 0 unless @stat; my $size = $stat[7]; my $time_stamp = $stat[9]; if (exists $CACHE->{$file_name} && (defined $CACHE->{$file_name}{'size'} && defined $CACHE->{$file_name}{'time_stamp'} && $CACHE->{$file_name}{'size'} == $size && $CACHE->{$file_name}{'time_stamp'} == $time_stamp)) { dprint "Cache is valid"; # TODO: For now, if we re-initialize, we start over. Fix this so that we # can use partial cache information. if ($UPDATING_CACHE) { dprint "Resetting cache entry for \"$file_name\"\n"; # Reset the cache entry for this file $CACHE->{$file_name}{'size'} = $size; $CACHE->{$file_name}{'time_stamp'} = $time_stamp; $CACHE->{$file_name}{'emails'} = []; $CACHE->{$file_name}{'modified'} = 0; } } else { if (exists $CACHE->{$file_name}) { dprint "Size or time stamp has changed for file \"" . $file_name . "\". Invalidating cache entry"; } else { dprint "Cache is invalid: \"$file_name\" has not yet been parsed"; } $CACHE->{$file_name}{'size'} = $size; $CACHE->{$file_name}{'time_stamp'} = $time_stamp; $CACHE->{$file_name}{'emails'} = []; $CACHE->{$file_name}{'modified'} = 0; $UPDATING_CACHE = 1; } } #------------------------------------------------------------------------------- sub ENTRY_STILL_VALID { my $file_name = shift; return 0 unless exists $CACHE->{$file_name} && defined $CACHE->{$file_name}{'size'} && defined $CACHE->{$file_name}{'time_stamp'} && # Sanity check the cache to ensure we can at least determine the prologue # length. defined $CACHE->{$file_name}{'emails'}[0]{'offset'}; my @stat = stat $file_name; return 0 unless @stat; my $size = $stat[7]; my $time_stamp = $stat[9]; return ($CACHE->{$file_name}{'size'} == $size && $CACHE->{$file_name}{'time_stamp'} == $time_stamp); } #------------------------------------------------------------------------------- sub _READ_CACHE { my $self = shift; return unless -f $CACHE_OPTIONS{'file_name'}; dprint "Reading cache"; # Unserialize using Storable local $@; eval { $CACHE = retrieve($CACHE_OPTIONS{'file_name'}) }; if ($@) { $CACHE = {}; dprint "Invalid cache detected, and will be ignored."; dprint "Message from Storable module: \"$@\""; } } #------------------------------------------------------------------------------- sub WRITE_CACHE { # In case this is called during cleanup following an error loading # Storable return unless defined $Storable::VERSION; return if $UPDATING_CACHE; # TODO: Make this cache separate files instead of one big file, to improve # performance. my $cache_modified = 0; foreach my $file_name (keys %$CACHE) { if ($CACHE->{$file_name}{'modified'}) { $cache_modified = 1; $CACHE->{$file_name}{'modified'} = 0; } } unless ($cache_modified) { dprint "Cache not modified, so no writing is necessary"; return; } dprint "Cache was modified, so writing is necessary"; # The mail box cache may contain sensitive information, so protect it # from prying eyes. my $oldmask = umask(077); # Serialize using Storable store($CACHE, $CACHE_OPTIONS{'file_name'}); umask($oldmask); $CACHE->{$CACHE_OPTIONS{'file_name'}}{'modified'} = 0; } #------------------------------------------------------------------------------- # Write the cache when the program exits sub END { dprint "Exiting and writing cache if necessary" if defined(&dprint); WRITE_CACHE(); } 1; __END__ # -------------------------------------------------------------------------- =head1 NAME Mail::Mbox::MessageParser::MetaInfo - A cache for folder metadata =head1 DESCRIPTION This module implements a cache for meta-information for mbox folders. The information includes such items such as the file position, the line number, and the byte offset of the start of each email. =head2 METHODS AND FUNCTIONS =over 4 =item SETUP_CACHE(...) SETUP_CACHE( { 'file_name' => } ); - the file name of the cache Call this function once to set up the cache before creating any parsers. You must provide the location to the cache file. There is no default value. Returns an error string or 1 if there is no error. =item CLEAR_CACHE(); Use this function to clear the cache and delete the cache file. Normally you should not need to clear the cache--the module will automatically update the cache when the mailbox changes. Call this function after I. =item WRITE_CACHE(); Use this function to force the module to write the in-memory cache information to the cache file. Normally you do not need to do this--the module will automatically write the information when the program exits. =item $ref = new( { 'file_name' => , 'file_handle' => , }); - The full filename of the mailbox - An opened file handle for the mailbox The constructor for the class takes two parameters. I is the filename of the mailbox. This will be used as the cache key, so it's important that it fully defines the path to the mailbox. The I argument is the opened file handle to the mailbox. Both arguments are required. Returns a reference to a Mail::Mbox::MessageParser object, or a string describing the error. =back =head1 BUGS No known bugs. Contact david@coppit.org for bug reports and suggestions. =head1 AUTHOR David Coppit . =head1 LICENSE This code is distributed under the GNU General Public License (GPL) Version 2. See the file LICENSE in the distribution for details. =head1 HISTORY This code was originally part of the grepmail distribution. See http://grepmail.sf.net/ for previous versions of grepmail which included early versions of this code. =head1 SEE ALSO Mail::Mbox::MessageParser =cut Mail-Mbox-MessageParser-1.5105/lib/Mail/Mbox/MessageParser/Perl.pm000644 000765 000024 00000033136 12514506543 025143 0ustar00coppitstaff000000 000000 package Mail::Mbox::MessageParser::Perl; no strict; @ISA = qw( Exporter Mail::Mbox::MessageParser ); use strict; use Carp; use Mail::Mbox::MessageParser; use Mail::Mbox::MessageParser::Config; use vars qw( $VERSION $DEBUG ); $VERSION = sprintf "%d.%02d%02d", q/1.60.5/ =~ /(\d+)/g; *ENTRY_STILL_VALID = \&Mail::Mbox::MessageParser::MetaInfo::ENTRY_STILL_VALID; sub ENTRY_STILL_VALID; *DEBUG = \$Mail::Mbox::MessageParser::DEBUG; *dprint = \&Mail::Mbox::MessageParser::dprint; sub dprint; #------------------------------------------------------------------------------- sub new { my ($proto, $self) = @_; carp "Need file_handle option" unless defined $self->{'file_handle'}; bless ($self, __PACKAGE__); $self->_init(); return $self; } #------------------------------------------------------------------------------- sub _init { my $self = shift; $self->{'CURRENT_LINE_NUMBER'} = 1; $self->{'CURRENT_OFFSET'} = 0; $self->{'READ_BUFFER'} = ''; $self->{'START_OF_EMAIL'} = 0; $self->{'END_OF_EMAIL'} = 0; $self->{'READ_CHUNK_SIZE'} = $Mail::Mbox::MessageParser::Config{'read_chunk_size'}; $self->SUPER::_init(); } #------------------------------------------------------------------------------- sub reset { my $self = shift; $self->{'CURRENT_LINE_NUMBER'} = ($self->{'prologue'} =~ tr/\n//) + 1; $self->{'CURRENT_OFFSET'} = length($self->{'prologue'}); $self->{'READ_BUFFER'} = ''; $self->{'START_OF_EMAIL'} = 0; $self->{'END_OF_EMAIL'} = 0; $self->SUPER::reset(); } #------------------------------------------------------------------------------- sub end_of_file { my $self = shift; # Reset eof in case the file was appended to. Hopefully this works all the # time. See perldoc -f seek for details. seek($self->{'file_handle'},0,1) if eof $self->{'file_handle'}; return eof $self->{'file_handle'} && $self->{'END_OF_EMAIL'} == length($self->{'READ_BUFFER'}); } #------------------------------------------------------------------------------- sub _read_prologue { my $self = shift; dprint "Reading mailbox prologue using Perl"; $self->_read_until_match( qr/$Mail::Mbox::MessageParser::Config{'from_pattern'}/m,0); my $start_of_email = pos($self->{'READ_BUFFER'}); $self->{'prologue'} = substr($self->{'READ_BUFFER'}, 0, $start_of_email); # Set up for read_next_email $self->{'CURRENT_LINE_NUMBER'} += ($self->{'prologue'} =~ tr/\n//); $self->{'CURRENT_OFFSET'} = $start_of_email; $self->{'END_OF_EMAIL'} = $start_of_email; } #------------------------------------------------------------------------------- sub read_next_email { my $self = shift; return undef if $self->end_of_file(); $self->{'email_line_number'} = $self->{'CURRENT_LINE_NUMBER'}; $self->{'email_offset'} = $self->{'CURRENT_OFFSET'}; $self->{'START_OF_EMAIL'} = $self->{'END_OF_EMAIL'}; # Slurp in an entire multipart email (but continue looking for the next # header so that we can get any following newlines as well) unless ($self->_read_header()) { return $self->_extract_email_and_finalize(); } unless ($self->_read_email_parts()) { # Could issue a warning here, but I'm not sure how to do this cleanly for # a work-only module like this. Maybe something like CGI's cgi_error()? dprint "Inconsistent multi-part message. Could not find ending for " . "boundary \"" . $self->_multipart_boundary() . "\""; # Try to read the content length and use that my $email_header = substr($self->{'READ_BUFFER'}, $self->{'START_OF_EMAIL'}, $self->{'START_OF_BODY'} - $self->{'START_OF_EMAIL'}); my $content_length = Mail::Mbox::MessageParser::_GET_HEADER_FIELD( \$email_header, 'Content-Length:', $self->{'endline'}); if (defined $content_length) { $content_length =~ s/Content-Length: *(\d+).*/$1/i; pos($self->{'READ_BUFFER'}) = $self->{'START_OF_EMAIL'} + $content_length; } # Otherwise use the start of the body else { pos($self->{'READ_BUFFER'}) = $self->{'START_OF_BODY'}; } # Reset the search and look for the start of the # next email. $self->_read_rest_of_email(); return $self->_extract_email_and_finalize(); } $self->_read_rest_of_email(); return $self->_extract_email_and_finalize(); } #------------------------------------------------------------------------------- sub _read_rest_of_email { my $self = shift; my $previous_backup; # Look for the start of the next email while (1) { while ($self->{'READ_BUFFER'} =~ m/$Mail::Mbox::MessageParser::Config{'from_pattern'}/mg) { $self->{'END_OF_EMAIL'} = pos($self->{'READ_BUFFER'}) - length($1); my $endline = $self->{'endline'}; # Keep looking if the header we found is part of a "Begin Included # Message". my $end_of_string = ''; my $backup_amount = 100; do { $backup_amount *= 2; $backup_amount = $self->{'END_OF_EMAIL'} - $self->{'START_OF_EMAIL'} if $backup_amount > $self->{'END_OF_EMAIL'} - $self->{'START_OF_EMAIL'}; $end_of_string = substr($self->{'READ_BUFFER'}, $self->{'END_OF_EMAIL'}-$backup_amount, $backup_amount); } while (index($end_of_string, "$endline$endline") == -1 && $backup_amount < $self->{'END_OF_EMAIL'} - $self->{'START_OF_EMAIL'}); next if $end_of_string =~ /$endline-----(?: Begin Included Message |Original Message)-----$endline[^\r\n]*(?:$endline)*$/i; next unless $end_of_string =~ /$endline$endline$/; # Found the next email! return; } # Didn't find next email in current buffer. Most likely we need to read some # more of the mailbox. Shift the current email to the front of the buffer # unless we've already done so. my $shift_amount = $self->{'START_OF_EMAIL'}; $self->{'READ_BUFFER'} = substr($self->{'READ_BUFFER'}, $self->{'START_OF_EMAIL'}); $self->{'START_OF_EMAIL'} -= $shift_amount; $self->{'START_OF_BODY'} -= $shift_amount; pos($self->{'READ_BUFFER'}) = length($self->{'READ_BUFFER'}); # Start looking at the end of the buffer, but back up some in case the # edge of the newly read buffer contains the start of a new header. I # believe the RFC says header lines can be at most 90 characters long. my $backup_amount = 90; $backup_amount = length($self->{'READ_BUFFER'}) - 1 if length($self->{'READ_BUFFER'}) < $backup_amount; # Avoid an infinite loop that can occur if the pattern is within the # 90-character lookback, but doesn't indicate the start of the next email. # We detect this case as one where we previously shifted the email to # the start of the buffer. if ($shift_amount == 0) { $previous_backup--; $backup_amount = $previous_backup; } else { $previous_backup = $backup_amount; } unless ($self->_read_until_match( qr/$Mail::Mbox::MessageParser::Config{'from_pattern'}/m,$backup_amount)) { $self->{'END_OF_EMAIL'} = length($self->{'READ_BUFFER'}); return; } redo; } } #------------------------------------------------------------------------------- sub _multipart_boundary { my $self = shift; my $endline = $self->{'endline'}; if (substr($self->{'READ_BUFFER'},$self->{'START_OF_EMAIL'}, $self->{'START_OF_BODY'}-$self->{'START_OF_EMAIL'}) =~ /^(content-type: *multipart[^\n\r]*$endline( [^\n\r]*$endline)*)/im) { my $content_type_header = $1; $content_type_header =~ s/$endline//g; if ($content_type_header =~ /boundary *= *"([^"]*)"/i || $content_type_header =~ /boundary *= *([-0-9A-Za-z'()+_,.\/:=? ]*[-0-9A-Za-z'()+_,.\/:=?])/i) { return $1 } } return undef; } #------------------------------------------------------------------------------- sub _read_email_parts { my $self = shift; my $boundary = $self->_multipart_boundary(); return 1 unless defined $boundary; # RFC 1521 says the boundary can be no longer than 70 characters. Back up a # little more than that. Unlike _read_rest_of_email() we don't have to # worry about infinite loops here since the pattern is designed to not # match falsely. my $endline = $self->{'endline'}; $self->_read_until_match(qr/^--\Q$boundary\E--$endline/m,76) or return 0; return 1; } #------------------------------------------------------------------------------- sub _extract_email_and_finalize { my $self = shift; $self->{'email_length'} = $self->{'END_OF_EMAIL'}-$self->{'START_OF_EMAIL'}; my $email = substr($self->{'READ_BUFFER'}, $self->{'START_OF_EMAIL'}, $self->{'email_length'}); $self->{'CURRENT_LINE_NUMBER'} += ($email =~ tr/\n//); $self->{'CURRENT_OFFSET'} += $self->{'email_length'}; $self->{'email_number'}++; $self->SUPER::read_next_email(); return \$email; } #------------------------------------------------------------------------------- sub _read_header { my $self = shift; $self->_read_until_match(qr/$self->{'endline'}$self->{'endline'}/m,0) or return 0; $self->{'START_OF_BODY'} = pos($self->{'READ_BUFFER'}) + length("$self->{'endline'}$self->{'endline'}"); return 1; } #------------------------------------------------------------------------------- # The search position is at the start of the pattern when this function # returns 1. sub _read_until_match { my $self = shift; my $pattern = shift; my $backup = shift; # Start looking at the end of the buffer, but back up some in case the edge # of the newly read buffer contains part of the pattern. if (!defined pos($self->{'READ_BUFFER'}) || pos($self->{'READ_BUFFER'}) - $backup <= 0) { pos($self->{'READ_BUFFER'}) = 0; } else { pos($self->{'READ_BUFFER'}) -= $backup; } while (1) { if ($self->{'READ_BUFFER'} =~ m/($pattern)/mg) { pos($self->{'READ_BUFFER'}) -= length($1); return 1; } pos($self->{'READ_BUFFER'}) = length($self->{'READ_BUFFER'}); unless ($self->_read_chunk()) { $self->{'END_OF_EMAIL'} = length($self->{'READ_BUFFER'}); return 0; } if (pos($self->{'READ_BUFFER'}) - $backup <= 0) { pos($self->{'READ_BUFFER'}) = 0; } else { pos($self->{'READ_BUFFER'}) -= $backup; } } } #------------------------------------------------------------------------------- # Maintains pos($self->{'READ_BUFFER'}) sub _read_chunk { my $self = shift; my $search_position = pos($self->{'READ_BUFFER'}); # Can't use sysread because it doesn't work with ungetc if ($self->{'READ_CHUNK_SIZE'} == 0) { local $/ = undef; return 0 if eof $self->{'file_handle'}; # < $self->{'file_handle'} > doesn't work, so we use readline $self->{'READ_BUFFER'} = readline($self->{'file_handle'}); pos($self->{'READ_BUFFER'}) = $search_position; return 1; } else { my $total_amount_read = 0; my $amount_read = 0; while ($total_amount_read < $self->{'READ_CHUNK_SIZE'}) { $amount_read = read($self->{'file_handle'}, $self->{'READ_BUFFER'}, $self->{'READ_CHUNK_SIZE'} - $total_amount_read, length($self->{'READ_BUFFER'})); pos($self->{'READ_BUFFER'}) = $search_position; if ($amount_read == 0) { return 1 unless $total_amount_read == 0; return 0; } $total_amount_read += $amount_read; } return 1; } } #------------------------------------------------------------------------------- 1; __END__ # -------------------------------------------------------------------------- =head1 NAME Mail::Mbox::MessageParser::Perl - A Perl-based mbox folder reader =head1 SYNOPSIS #!/usr/bin/perl use Mail::Mbox::MessageParser; my $filename = 'mail/saved-mail'; my $filehandle = new FileHandle($filename); my $folder_reader = new Mail::Mbox::MessageParser( { 'file_name' => $filename, 'file_handle' => $filehandle, } ); die $folder_reader unless ref $folder_reader; # Any newlines or such before the start of the first email my $prologue = $folder_reader->prologue; print $prologue; # This is the main loop. It's executed once for each email while(!$folder_reader->end_of_file()); { my $email = $folder_reader->read_next_email(); print $$email; } =head1 DESCRIPTION This module implements a Perl-based mbox folder reader. Users must not instantiate this class directly--use Mail::Mbox::MessageParser instead. The base MessageParser module will automatically manage the use of faster implementations if they can be used. =head2 METHODS AND FUNCTIONS The following methods and functions are specific to the Mail::Mbox::MessageParser::Perl package. For additional inherited ones, see the Mail::Mbox::MessageParser documentation. =over 4 =item $ref = new( { 'file_name' => , 'file_handle' => }); - The full filename of the mailbox - An opened file handle for the mailbox The constructor for the class takes two parameters. The optional I parameter is the filename of the mailbox. The required I argument is the opened file handle to the mailbox. Returns a reference to a Mail::Mbox::MessageParser object, or a string describing the error. =back =head1 BUGS No known bugs. Contact david@coppit.org for bug reports and suggestions. =head1 AUTHOR David Coppit . =head1 LICENSE This code is distributed under the GNU General Public License (GPL) Version 2. See the file LICENSE in the distribution for details. =head1 HISTORY This code was originally part of the grepmail distribution. See http://grepmail.sf.net/ for previous versions of grepmail which included early versions of this code. =head1 SEE ALSO Mail::Mbox::MessageParser =cut Mail-Mbox-MessageParser-1.5105/inc/Module/000755 000765 000024 00000000000 12521305625 020571 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/inc/Sort/000755 000765 000024 00000000000 12521305625 020273 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/inc/Sort/Versions.pm000644 000765 000024 00000002475 12521305603 022445 0ustar00coppitstaff000000 000000 #line 1 package Sort::Versions; $Sort::Versions::VERSION = '1.60'; # Copyright (c) 1996, Kenneth J. Albanowski. All rights reserved. This # program is free software; you can redistribute it and/or modify it under # the same terms as Perl itself. use 5.006; use strict; use warnings; require Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(&versions &versioncmp); our @EXPORT_OK = qw(); sub versioncmp( $$ ) { my @A = ($_[0] =~ /([-.]|\d+|[^-.\d]+)/g); my @B = ($_[1] =~ /([-.]|\d+|[^-.\d]+)/g); my ($A, $B); while (@A and @B) { $A = shift @A; $B = shift @B; if ($A eq '-' and $B eq '-') { next; } elsif ( $A eq '-' ) { return -1; } elsif ( $B eq '-') { return 1; } elsif ($A eq '.' and $B eq '.') { next; } elsif ( $A eq '.' ) { return -1; } elsif ( $B eq '.' ) { return 1; } elsif ($A =~ /^\d+$/ and $B =~ /^\d+$/) { if ($A =~ /^0/ || $B =~ /^0/) { return $A cmp $B if $A cmp $B; } else { return $A <=> $B if $A <=> $B; } } else { $A = uc $A; $B = uc $B; return $A cmp $B if $A cmp $B; } } @A <=> @B; } sub versions() { my $callerpkg = (caller)[0]; my $caller_a = "${callerpkg}::a"; my $caller_b = "${callerpkg}::b"; no strict 'refs'; return versioncmp($$caller_a, $$caller_b); } #line 159 1; Mail-Mbox-MessageParser-1.5105/inc/Module/AutoInstall.pm000644 000765 000024 00000062254 12521305601 023371 0ustar00coppitstaff000000 000000 #line 1 package Module::AutoInstall; use strict; use Cwd (); use File::Spec (); use ExtUtils::MakeMaker (); use vars qw{$VERSION}; BEGIN { $VERSION = '1.14'; } # special map on pre-defined feature sets my %FeatureMap = ( '' => 'Core Features', # XXX: deprecated '-core' => 'Core Features', ); # various lexical flags my ( @Missing, @Existing, %DisabledTests, $UnderCPAN, $InstallDepsTarget, $HasCPANPLUS ); my ( $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly, $AllDeps, $UpgradeDeps ); my ( $PostambleActions, $PostambleActionsNoTest, $PostambleActionsUpgradeDeps, $PostambleActionsUpgradeDepsNoTest, $PostambleActionsListDeps, $PostambleActionsListAllDeps, $PostambleUsed, $NoTest); # See if it's a testing or non-interactive session _accept_default( $ENV{AUTOMATED_TESTING} or ! -t STDIN ); _init(); sub _accept_default { $AcceptDefault = shift; } sub _installdeps_target { $InstallDepsTarget = shift; } sub missing_modules { return @Missing; } sub do_install { __PACKAGE__->install( [ $Config ? ( UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) : () ], @Missing, ); } # initialize various flags, and/or perform install sub _init { foreach my $arg ( @ARGV, split( /[\s\t]+/, $ENV{PERL_AUTOINSTALL} || $ENV{PERL_EXTUTILS_AUTOINSTALL} || '' ) ) { if ( $arg =~ /^--config=(.*)$/ ) { $Config = [ split( ',', $1 ) ]; } elsif ( $arg =~ /^--installdeps=(.*)$/ ) { __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) ); exit 0; } elsif ( $arg =~ /^--upgradedeps=(.*)$/ ) { $UpgradeDeps = 1; __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) ); exit 0; } elsif ( $arg =~ /^--default(?:deps)?$/ ) { $AcceptDefault = 1; } elsif ( $arg =~ /^--check(?:deps)?$/ ) { $CheckOnly = 1; } elsif ( $arg =~ /^--skip(?:deps)?$/ ) { $SkipInstall = 1; } elsif ( $arg =~ /^--test(?:only)?$/ ) { $TestOnly = 1; } elsif ( $arg =~ /^--all(?:deps)?$/ ) { $AllDeps = 1; } } } # overrides MakeMaker's prompt() to automatically accept the default choice sub _prompt { goto &ExtUtils::MakeMaker::prompt unless $AcceptDefault; my ( $prompt, $default ) = @_; my $y = ( $default =~ /^[Yy]/ ); print $prompt, ' [', ( $y ? 'Y' : 'y' ), '/', ( $y ? 'n' : 'N' ), '] '; print "$default\n"; return $default; } # the workhorse sub import { my $class = shift; my @args = @_ or return; my $core_all; print "*** $class version " . $class->VERSION . "\n"; print "*** Checking for Perl dependencies...\n"; my $cwd = Cwd::getcwd(); $Config = []; my $maxlen = length( ( sort { length($b) <=> length($a) } grep { /^[^\-]/ } map { ref($_) ? ( ( ref($_) eq 'HASH' ) ? keys(%$_) : @{$_} ) : '' } map { +{@args}->{$_} } grep { /^[^\-]/ or /^-core$/i } keys %{ +{@args} } )[0] ); # We want to know if we're under CPAN early to avoid prompting, but # if we aren't going to try and install anything anyway then skip the # check entirely since we don't want to have to load (and configure) # an old CPAN just for a cosmetic message $UnderCPAN = _check_lock(1) unless $SkipInstall || $InstallDepsTarget; while ( my ( $feature, $modules ) = splice( @args, 0, 2 ) ) { my ( @required, @tests, @skiptests ); my $default = 1; my $conflict = 0; if ( $feature =~ m/^-(\w+)$/ ) { my $option = lc($1); # check for a newer version of myself _update_to( $modules, @_ ) and return if $option eq 'version'; # sets CPAN configuration options $Config = $modules if $option eq 'config'; # promote every features to core status $core_all = ( $modules =~ /^all$/i ) and next if $option eq 'core'; next unless $option eq 'core'; } print "[" . ( $FeatureMap{ lc($feature) } || $feature ) . "]\n"; $modules = [ %{$modules} ] if UNIVERSAL::isa( $modules, 'HASH' ); unshift @$modules, -default => &{ shift(@$modules) } if ( ref( $modules->[0] ) eq 'CODE' ); # XXX: bugward compatibility while ( my ( $mod, $arg ) = splice( @$modules, 0, 2 ) ) { if ( $mod =~ m/^-(\w+)$/ ) { my $option = lc($1); $default = $arg if ( $option eq 'default' ); $conflict = $arg if ( $option eq 'conflict' ); @tests = @{$arg} if ( $option eq 'tests' ); @skiptests = @{$arg} if ( $option eq 'skiptests' ); next; } printf( "- %-${maxlen}s ...", $mod ); if ( $arg and $arg =~ /^\D/ ) { unshift @$modules, $arg; $arg = 0; } # XXX: check for conflicts and uninstalls(!) them. my $cur = _version_of($mod); if (_version_cmp ($cur, $arg) >= 0) { print "loaded. ($cur" . ( $arg ? " >= $arg" : '' ) . ")\n"; push @Existing, $mod => $arg; $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } else { if (not defined $cur) # indeed missing { print "missing." . ( $arg ? " (would need $arg)" : '' ) . "\n"; } else { # no need to check $arg as _version_cmp ($cur, undef) would satisfy >= above print "too old. ($cur < $arg)\n"; } push @required, $mod => $arg; } } next unless @required; my $mandatory = ( $feature eq '-core' or $core_all ); if ( !$SkipInstall and ( $CheckOnly or ($mandatory and $UnderCPAN) or $AllDeps or $InstallDepsTarget or _prompt( qq{==> Auto-install the } . ( @required / 2 ) . ( $mandatory ? ' mandatory' : ' optional' ) . qq{ module(s) from CPAN?}, $default ? 'y' : 'n', ) =~ /^[Yy]/ ) ) { push( @Missing, @required ); $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } elsif ( !$SkipInstall and $default and $mandatory and _prompt( qq{==> The module(s) are mandatory! Really skip?}, 'n', ) =~ /^[Nn]/ ) { push( @Missing, @required ); $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } else { $DisabledTests{$_} = 1 for map { glob($_) } @tests; } } if ( @Missing and not( $CheckOnly or $UnderCPAN) ) { require Config; my $make = $Config::Config{make}; if ($InstallDepsTarget) { print "*** To install dependencies type '$make installdeps' or '$make installdeps_notest'.\n"; } else { print "*** Dependencies will be installed the next time you type '$make'.\n"; } # make an educated guess of whether we'll need root permission. print " (You may need to do that as the 'root' user.)\n" if eval '$>'; } print "*** $class configuration finished.\n"; chdir $cwd; # import to main:: no strict 'refs'; *{'main::WriteMakefile'} = \&Write if caller(0) eq 'main'; return (@Existing, @Missing); } sub _running_under { my $thing = shift; print <<"END_MESSAGE"; *** Since we're running under ${thing}, I'll just let it take care of the dependency's installation later. END_MESSAGE return 1; } # Check to see if we are currently running under CPAN.pm and/or CPANPLUS; # if we are, then we simply let it taking care of our dependencies sub _check_lock { return unless @Missing or @_; if ($ENV{PERL5_CPANM_IS_RUNNING}) { return _running_under('cpanminus'); } my $cpan_env = $ENV{PERL5_CPAN_IS_RUNNING}; if ($ENV{PERL5_CPANPLUS_IS_RUNNING}) { return _running_under($cpan_env ? 'CPAN' : 'CPANPLUS'); } require CPAN; if ($CPAN::VERSION > '1.89') { if ($cpan_env) { return _running_under('CPAN'); } return; # CPAN.pm new enough, don't need to check further } # last ditch attempt, this -will- configure CPAN, very sorry _load_cpan(1); # force initialize even though it's already loaded # Find the CPAN lock-file my $lock = MM->catfile( $CPAN::Config->{cpan_home}, ".lock" ); return unless -f $lock; # Check the lock local *LOCK; return unless open(LOCK, $lock); if ( ( $^O eq 'MSWin32' ? _under_cpan() : == getppid() ) and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore' ) { print <<'END_MESSAGE'; *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. END_MESSAGE return 1; } close LOCK; return; } sub install { my $class = shift; my $i; # used below to strip leading '-' from config keys my @config = ( map { s/^-// if ++$i; $_ } @{ +shift } ); my ( @modules, @installed, @modules_to_upgrade ); while (my ($pkg, $ver) = splice(@_, 0, 2)) { # grep out those already installed if (_version_cmp(_version_of($pkg), $ver) >= 0) { push @installed, $pkg; if ($UpgradeDeps) { push @modules_to_upgrade, $pkg, $ver; } } else { push @modules, $pkg, $ver; } } if ($UpgradeDeps) { push @modules, @modules_to_upgrade; @installed = (); @modules_to_upgrade = (); } return @installed unless @modules; # nothing to do return @installed if _check_lock(); # defer to the CPAN shell print "*** Installing dependencies...\n"; return unless _connected_to('cpan.org'); my %args = @config; my %failed; local *FAILED; if ( $args{do_once} and open( FAILED, '.#autoinstall.failed' ) ) { while () { chomp; $failed{$_}++ } close FAILED; my @newmod; while ( my ( $k, $v ) = splice( @modules, 0, 2 ) ) { push @newmod, ( $k => $v ) unless $failed{$k}; } @modules = @newmod; } if ( _has_cpanplus() and not $ENV{PERL_AUTOINSTALL_PREFER_CPAN} ) { _install_cpanplus( \@modules, \@config ); } else { _install_cpan( \@modules, \@config ); } print "*** $class installation finished.\n"; # see if we have successfully installed them while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { if ( _version_cmp( _version_of($pkg), $ver ) >= 0 ) { push @installed, $pkg; } elsif ( $args{do_once} and open( FAILED, '>> .#autoinstall.failed' ) ) { print FAILED "$pkg\n"; } } close FAILED if $args{do_once}; return @installed; } sub _install_cpanplus { my @modules = @{ +shift }; my @config = _cpanplus_config( @{ +shift } ); my $installed = 0; require CPANPLUS::Backend; my $cp = CPANPLUS::Backend->new; my $conf = $cp->configure_object; return unless $conf->can('conf') # 0.05x+ with "sudo" support or _can_write($conf->_get_build('base')); # 0.04x # if we're root, set UNINST=1 to avoid trouble unless user asked for it. my $makeflags = $conf->get_conf('makeflags') || ''; if ( UNIVERSAL::isa( $makeflags, 'HASH' ) ) { # 0.03+ uses a hashref here $makeflags->{UNINST} = 1 unless exists $makeflags->{UNINST}; } else { # 0.02 and below uses a scalar $makeflags = join( ' ', split( ' ', $makeflags ), 'UNINST=1' ) if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } ); } $conf->set_conf( makeflags => $makeflags ); $conf->set_conf( prereqs => 1 ); while ( my ( $key, $val ) = splice( @config, 0, 2 ) ) { $conf->set_conf( $key, $val ); } my $modtree = $cp->module_tree; while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { print "*** Installing $pkg...\n"; MY::preinstall( $pkg, $ver ) or next if defined &MY::preinstall; my $success; my $obj = $modtree->{$pkg}; if ( $obj and _version_cmp( $obj->{version}, $ver ) >= 0 ) { my $pathname = $pkg; $pathname =~ s/::/\\W/; foreach my $inc ( grep { m/$pathname.pm/i } keys(%INC) ) { delete $INC{$inc}; } my $rv = $cp->install( modules => [ $obj->{module} ] ); if ( $rv and ( $rv->{ $obj->{module} } or $rv->{ok} ) ) { print "*** $pkg successfully installed.\n"; $success = 1; } else { print "*** $pkg installation cancelled.\n"; $success = 0; } $installed += $success; } else { print << "."; *** Could not find a version $ver or above for $pkg; skipping. . } MY::postinstall( $pkg, $ver, $success ) if defined &MY::postinstall; } return $installed; } sub _cpanplus_config { my @config = (); while ( @_ ) { my ($key, $value) = (shift(), shift()); if ( $key eq 'prerequisites_policy' ) { if ( $value eq 'follow' ) { $value = CPANPLUS::Internals::Constants::PREREQ_INSTALL(); } elsif ( $value eq 'ask' ) { $value = CPANPLUS::Internals::Constants::PREREQ_ASK(); } elsif ( $value eq 'ignore' ) { $value = CPANPLUS::Internals::Constants::PREREQ_IGNORE(); } else { die "*** Cannot convert option $key = '$value' to CPANPLUS version.\n"; } push @config, 'prereqs', $value; } elsif ( $key eq 'force' ) { push @config, $key, $value; } elsif ( $key eq 'notest' ) { push @config, 'skiptest', $value; } else { die "*** Cannot convert option $key to CPANPLUS version.\n"; } } return @config; } sub _install_cpan { my @modules = @{ +shift }; my @config = @{ +shift }; my $installed = 0; my %args; _load_cpan(); require Config; if (CPAN->VERSION < 1.80) { # no "sudo" support, probe for writableness return unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) ) and _can_write( $Config::Config{sitelib} ); } # if we're root, set UNINST=1 to avoid trouble unless user asked for it. my $makeflags = $CPAN::Config->{make_install_arg} || ''; $CPAN::Config->{make_install_arg} = join( ' ', split( ' ', $makeflags ), 'UNINST=1' ) if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } ); # don't show start-up info $CPAN::Config->{inhibit_startup_message} = 1; # set additional options while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) { ( $args{$opt} = $arg, next ) if $opt =~ /^(?:force|notest)$/; # pseudo-option $CPAN::Config->{$opt} = $arg; } if ($args{notest} && (not CPAN::Shell->can('notest'))) { die "Your version of CPAN is too old to support the 'notest' pragma"; } local $CPAN::Config->{prerequisites_policy} = 'follow'; while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { MY::preinstall( $pkg, $ver ) or next if defined &MY::preinstall; print "*** Installing $pkg...\n"; my $obj = CPAN::Shell->expand( Module => $pkg ); my $success = 0; if ( $obj and _version_cmp( $obj->cpan_version, $ver ) >= 0 ) { my $pathname = $pkg; $pathname =~ s/::/\\W/; foreach my $inc ( grep { m/$pathname.pm/i } keys(%INC) ) { delete $INC{$inc}; } my $rv = do { if ($args{force}) { CPAN::Shell->force( install => $pkg ) } elsif ($args{notest}) { CPAN::Shell->notest( install => $pkg ) } else { CPAN::Shell->install($pkg) } }; $rv ||= eval { $CPAN::META->instance( 'CPAN::Distribution', $obj->cpan_file, ) ->{install} if $CPAN::META; }; if ( $rv eq 'YES' ) { print "*** $pkg successfully installed.\n"; $success = 1; } else { print "*** $pkg installation failed.\n"; $success = 0; } $installed += $success; } else { print << "."; *** Could not find a version $ver or above for $pkg; skipping. . } MY::postinstall( $pkg, $ver, $success ) if defined &MY::postinstall; } return $installed; } sub _has_cpanplus { return ( $HasCPANPLUS = ( $INC{'CPANPLUS/Config.pm'} or _load('CPANPLUS::Shell::Default') ) ); } # make guesses on whether we're under the CPAN installation directory sub _under_cpan { require Cwd; require File::Spec; my $cwd = File::Spec->canonpath( Cwd::getcwd() ); my $cpan = File::Spec->canonpath( $CPAN::Config->{cpan_home} ); return ( index( $cwd, $cpan ) > -1 ); } sub _update_to { my $class = __PACKAGE__; my $ver = shift; return if _version_cmp( _version_of($class), $ver ) >= 0; # no need to upgrade if ( _prompt( "==> A newer version of $class ($ver) is required. Install?", 'y' ) =~ /^[Nn]/ ) { die "*** Please install $class $ver manually.\n"; } print << "."; *** Trying to fetch it from CPAN... . # install ourselves _load($class) and return $class->import(@_) if $class->install( [], $class, $ver ); print << '.'; exit 1; *** Cannot bootstrap myself. :-( Installation terminated. . } # check if we're connected to some host, using inet_aton sub _connected_to { my $site = shift; return ( ( _load('Socket') and Socket::inet_aton($site) ) or _prompt( qq( *** Your host cannot resolve the domain name '$site', which probably means the Internet connections are unavailable. ==> Should we try to install the required module(s) anyway?), 'n' ) =~ /^[Yy]/ ); } # check if a directory is writable; may create it on demand sub _can_write { my $path = shift; mkdir( $path, 0755 ) unless -e $path; return 1 if -w $path; print << "."; *** You are not allowed to write to the directory '$path'; the installation may fail due to insufficient permissions. . if ( eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt( qq( ==> Should we try to re-execute the autoinstall process with 'sudo'?), ((-t STDIN) ? 'y' : 'n') ) =~ /^[Yy]/ ) { # try to bootstrap ourselves from sudo print << "."; *** Trying to re-execute the autoinstall process with 'sudo'... . my $missing = join( ',', @Missing ); my $config = join( ',', UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) if $Config; return unless system( 'sudo', $^X, $0, "--config=$config", "--installdeps=$missing" ); print << "."; *** The 'sudo' command exited with error! Resuming... . } return _prompt( qq( ==> Should we try to install the required module(s) anyway?), 'n' ) =~ /^[Yy]/; } # load a module and return the version it reports sub _load { my $mod = pop; # method/function doesn't matter my $file = $mod; $file =~ s|::|/|g; $file .= '.pm'; local $@; return eval { require $file; $mod->VERSION } || ( $@ ? undef: 0 ); } # report version without loading a module sub _version_of { my $mod = pop; # method/function doesn't matter my $file = $mod; $file =~ s|::|/|g; $file .= '.pm'; foreach my $dir ( @INC ) { next if ref $dir; my $path = File::Spec->catfile($dir, $file); next unless -e $path; require ExtUtils::MM_Unix; return ExtUtils::MM_Unix->parse_version($path); } return undef; } # Load CPAN.pm and it's configuration sub _load_cpan { return if $CPAN::VERSION and $CPAN::Config and not @_; require CPAN; # CPAN-1.82+ adds CPAN::Config::AUTOLOAD to redirect to # CPAN::HandleConfig->load. CPAN reports that the redirection # is deprecated in a warning printed at the user. # CPAN-1.81 expects CPAN::HandleConfig->load, does not have # $CPAN::HandleConfig::VERSION but cannot handle # CPAN::Config->load # Which "versions expect CPAN::Config->load? if ( $CPAN::HandleConfig::VERSION || CPAN::HandleConfig->can('load') ) { # Newer versions of CPAN have a HandleConfig module CPAN::HandleConfig->load; } else { # Older versions had the load method in Config directly CPAN::Config->load; } } # compare two versions, either use Sort::Versions or plain comparison # return values same as <=> sub _version_cmp { my ( $cur, $min ) = @_; return -1 unless defined $cur; # if 0 keep comparing return 1 unless $min; $cur =~ s/\s+$//; # check for version numbers that are not in decimal format if ( ref($cur) or ref($min) or $cur =~ /v|\..*\./ or $min =~ /v|\..*\./ ) { if ( ( $version::VERSION or defined( _load('version') )) and version->can('new') ) { # use version.pm if it is installed. return version->new($cur) <=> version->new($min); } elsif ( $Sort::Versions::VERSION or defined( _load('Sort::Versions') ) ) { # use Sort::Versions as the sorting algorithm for a.b.c versions return Sort::Versions::versioncmp( $cur, $min ); } warn "Cannot reliably compare non-decimal formatted versions.\n" . "Please install version.pm or Sort::Versions.\n"; } # plain comparison local $^W = 0; # shuts off 'not numeric' bugs return $cur <=> $min; } # nothing; this usage is deprecated. sub main::PREREQ_PM { return {}; } sub _make_args { my %args = @_; $args{PREREQ_PM} = { %{ $args{PREREQ_PM} || {} }, @Existing, @Missing } if $UnderCPAN or $TestOnly; if ( $args{EXE_FILES} and -e 'MANIFEST' ) { require ExtUtils::Manifest; my $manifest = ExtUtils::Manifest::maniread('MANIFEST'); $args{EXE_FILES} = [ grep { exists $manifest->{$_} } @{ $args{EXE_FILES} } ]; } $args{test}{TESTS} ||= 't/*.t'; $args{test}{TESTS} = join( ' ', grep { !exists( $DisabledTests{$_} ) } map { glob($_) } split( /\s+/, $args{test}{TESTS} ) ); my $missing = join( ',', @Missing ); my $config = join( ',', UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) if $Config; $PostambleActions = ( ($missing and not $UnderCPAN) ? "\$(PERL) $0 --config=$config --installdeps=$missing" : "\$(NOECHO) \$(NOOP)" ); my $deps_list = join( ',', @Missing, @Existing ); $PostambleActionsUpgradeDeps = "\$(PERL) $0 --config=$config --upgradedeps=$deps_list"; my $config_notest = join( ',', (UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config}), 'notest', 1 ) if $Config; $PostambleActionsNoTest = ( ($missing and not $UnderCPAN) ? "\$(PERL) $0 --config=$config_notest --installdeps=$missing" : "\$(NOECHO) \$(NOOP)" ); $PostambleActionsUpgradeDepsNoTest = "\$(PERL) $0 --config=$config_notest --upgradedeps=$deps_list"; $PostambleActionsListDeps = '@$(PERL) -le "print for @ARGV" ' . join(' ', map $Missing[$_], grep $_ % 2 == 0, 0..$#Missing); my @all = (@Missing, @Existing); $PostambleActionsListAllDeps = '@$(PERL) -le "print for @ARGV" ' . join(' ', map $all[$_], grep $_ % 2 == 0, 0..$#all); return %args; } # a wrapper to ExtUtils::MakeMaker::WriteMakefile sub Write { require Carp; Carp::croak "WriteMakefile: Need even number of args" if @_ % 2; if ($CheckOnly) { print << "."; *** Makefile not written in check-only mode. . return; } my %args = _make_args(@_); no strict 'refs'; $PostambleUsed = 0; local *MY::postamble = \&postamble unless defined &MY::postamble; ExtUtils::MakeMaker::WriteMakefile(%args); print << "." unless $PostambleUsed; *** WARNING: Makefile written with customized MY::postamble() without including contents from Module::AutoInstall::postamble() -- auto installation features disabled. Please contact the author. . return 1; } sub postamble { $PostambleUsed = 1; my $fragment; $fragment .= <<"AUTO_INSTALL" if !$InstallDepsTarget; config :: installdeps \t\$(NOECHO) \$(NOOP) AUTO_INSTALL $fragment .= <<"END_MAKE"; checkdeps :: \t\$(PERL) $0 --checkdeps installdeps :: \t$PostambleActions installdeps_notest :: \t$PostambleActionsNoTest upgradedeps :: \t$PostambleActionsUpgradeDeps upgradedeps_notest :: \t$PostambleActionsUpgradeDepsNoTest listdeps :: \t$PostambleActionsListDeps listalldeps :: \t$PostambleActionsListAllDeps END_MAKE return $fragment; } 1; __END__ #line 1197 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/000755 000765 000024 00000000000 12521305625 022177 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/inc/Module/Install.pm000644 000765 000024 00000030217 12521305601 022532 0ustar00coppitstaff000000 000000 #line 1 package Module::Install; # For any maintainers: # The load order for Module::Install is a bit magic. # It goes something like this... # # IF ( host has Module::Install installed, creating author mode ) { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to installed version of inc::Module::Install # 3. The installed version of inc::Module::Install loads # 4. inc::Module::Install calls "require Module::Install" # 5. The ./inc/ version of Module::Install loads # } ELSE { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install # 3. The ./inc/ version of Module::Install loads # } use 5.006; use strict 'vars'; use Cwd (); use File::Find (); use File::Path (); use vars qw{$VERSION $MAIN}; BEGIN { # All Module::Install core packages now require synchronised versions. # This will be used to ensure we don't accidentally load old or # different versions of modules. # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. $VERSION = '1.14'; # Storage for the pseudo-singleton $MAIN = undef; *inc::Module::Install::VERSION = *VERSION; @inc::Module::Install::ISA = __PACKAGE__; } sub import { my $class = shift; my $self = $class->new(@_); my $who = $self->_caller; #------------------------------------------------------------- # all of the following checks should be included in import(), # to allow "eval 'require Module::Install; 1' to test # installation of Module::Install. (RT #51267) #------------------------------------------------------------- # Whether or not inc::Module::Install is actually loaded, the # $INC{inc/Module/Install.pm} is what will still get set as long as # the caller loaded module this in the documented manner. # If not set, the caller may NOT have loaded the bundled version, and thus # they may not have a MI version that works with the Makefile.PL. This would # result in false errors or unexpected behaviour. And we don't want that. my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm'; unless ( $INC{$file} ) { die <<"END_DIE" } Please invoke ${\__PACKAGE__} with: use inc::${\__PACKAGE__}; not: use ${\__PACKAGE__}; END_DIE # This reportedly fixes a rare Win32 UTC file time issue, but # as this is a non-cross-platform XS module not in the core, # we shouldn't really depend on it. See RT #24194 for detail. # (Also, this module only supports Perl 5.6 and above). eval "use Win32::UTCFileTime" if $^O eq 'MSWin32' && $] >= 5.006; # If the script that is loading Module::Install is from the future, # then make will detect this and cause it to re-run over and over # again. This is bad. Rather than taking action to touch it (which # is unreliable on some platforms and requires write permissions) # for now we should catch this and refuse to run. if ( -f $0 ) { my $s = (stat($0))[9]; # If the modification time is only slightly in the future, # sleep briefly to remove the problem. my $a = $s - time; if ( $a > 0 and $a < 5 ) { sleep 5 } # Too far in the future, throw an error. my $t = time; if ( $s > $t ) { die <<"END_DIE" } Your installer $0 has a modification time in the future ($s > $t). This is known to create infinite loops in make. Please correct this, then run $0 again. END_DIE } # Build.PL was formerly supported, but no longer is due to excessive # difficulty in implementing every single feature twice. if ( $0 =~ /Build.PL$/i ) { die <<"END_DIE" } Module::Install no longer supports Build.PL. It was impossible to maintain duel backends, and has been deprecated. Please remove all Build.PL files and only use the Makefile.PL installer. END_DIE #------------------------------------------------------------- # To save some more typing in Module::Install installers, every... # use inc::Module::Install # ...also acts as an implicit use strict. $^H |= strict::bits(qw(refs subs vars)); #------------------------------------------------------------- unless ( -f $self->{file} ) { foreach my $key (keys %INC) { delete $INC{$key} if $key =~ /Module\/Install/; } local $^W; require "$self->{path}/$self->{dispatch}.pm"; File::Path::mkpath("$self->{prefix}/$self->{author}"); $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self ); $self->{admin}->init; @_ = ($class, _self => $self); goto &{"$self->{name}::import"}; } local $^W; *{"${who}::AUTOLOAD"} = $self->autoload; $self->preload; # Unregister loader and worker packages so subdirs can use them again delete $INC{'inc/Module/Install.pm'}; delete $INC{'Module/Install.pm'}; # Save to the singleton $MAIN = $self; return 1; } sub autoload { my $self = shift; my $who = $self->_caller; my $cwd = Cwd::getcwd(); my $sym = "${who}::AUTOLOAD"; $sym->{$cwd} = sub { my $pwd = Cwd::getcwd(); if ( my $code = $sym->{$pwd} ) { # Delegate back to parent dirs goto &$code unless $cwd eq $pwd; } unless ($$sym =~ s/([^:]+)$//) { # XXX: it looks like we can't retrieve the missing function # via $$sym (usually $main::AUTOLOAD) in this case. # I'm still wondering if we should slurp Makefile.PL to # get some context or not ... my ($package, $file, $line) = caller; die <<"EOT"; Unknown function is found at $file line $line. Execution of $file aborted due to runtime errors. If you're a contributor to a project, you may need to install some Module::Install extensions from CPAN (or other repository). If you're a user of a module, please contact the author. EOT } my $method = $1; if ( uc($method) eq $method ) { # Do nothing return; } elsif ( $method =~ /^_/ and $self->can($method) ) { # Dispatch to the root M:I class return $self->$method(@_); } # Dispatch to the appropriate plugin unshift @_, ( $self, $1 ); goto &{$self->can('call')}; }; } sub preload { my $self = shift; unless ( $self->{extensions} ) { $self->load_extensions( "$self->{prefix}/$self->{path}", $self ); } my @exts = @{$self->{extensions}}; unless ( @exts ) { @exts = $self->{admin}->load_all_extensions; } my %seen; foreach my $obj ( @exts ) { while (my ($method, $glob) = each %{ref($obj) . '::'}) { next unless $obj->can($method); next if $method =~ /^_/; next if $method eq uc($method); $seen{$method}++; } } my $who = $self->_caller; foreach my $name ( sort keys %seen ) { local $^W; *{"${who}::$name"} = sub { ${"${who}::AUTOLOAD"} = "${who}::$name"; goto &{"${who}::AUTOLOAD"}; }; } } sub new { my ($class, %args) = @_; delete $INC{'FindBin.pm'}; { # to suppress the redefine warning local $SIG{__WARN__} = sub {}; require FindBin; } # ignore the prefix on extension modules built from top level. my $base_path = Cwd::abs_path($FindBin::Bin); unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) { delete $args{prefix}; } return $args{_self} if $args{_self}; $args{dispatch} ||= 'Admin'; $args{prefix} ||= 'inc'; $args{author} ||= ($^O eq 'VMS' ? '_author' : '.author'); $args{bundle} ||= 'inc/BUNDLES'; $args{base} ||= $base_path; $class =~ s/^\Q$args{prefix}\E:://; $args{name} ||= $class; $args{version} ||= $class->VERSION; unless ( $args{path} ) { $args{path} = $args{name}; $args{path} =~ s!::!/!g; } $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm"; $args{wrote} = 0; bless( \%args, $class ); } sub call { my ($self, $method) = @_; my $obj = $self->load($method) or return; splice(@_, 0, 2, $obj); goto &{$obj->can($method)}; } sub load { my ($self, $method) = @_; $self->load_extensions( "$self->{prefix}/$self->{path}", $self ) unless $self->{extensions}; foreach my $obj (@{$self->{extensions}}) { return $obj if $obj->can($method); } my $admin = $self->{admin} or die <<"END_DIE"; The '$method' method does not exist in the '$self->{prefix}' path! Please remove the '$self->{prefix}' directory and run $0 again to load it. END_DIE my $obj = $admin->load($method, 1); push @{$self->{extensions}}, $obj; $obj; } sub load_extensions { my ($self, $path, $top) = @_; my $should_reload = 0; unless ( grep { ! ref $_ and lc $_ eq lc $self->{prefix} } @INC ) { unshift @INC, $self->{prefix}; $should_reload = 1; } foreach my $rv ( $self->find_extensions($path) ) { my ($file, $pkg) = @{$rv}; next if $self->{pathnames}{$pkg}; local $@; my $new = eval { local $^W; require $file; $pkg->can('new') }; unless ( $new ) { warn $@ if $@; next; } $self->{pathnames}{$pkg} = $should_reload ? delete $INC{$file} : $INC{$file}; push @{$self->{extensions}}, &{$new}($pkg, _top => $top ); } $self->{extensions} ||= []; } sub find_extensions { my ($self, $path) = @_; my @found; File::Find::find( sub { my $file = $File::Find::name; return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is; my $subpath = $1; return if lc($subpath) eq lc($self->{dispatch}); $file = "$self->{path}/$subpath.pm"; my $pkg = "$self->{name}::$subpath"; $pkg =~ s!/!::!g; # If we have a mixed-case package name, assume case has been preserved # correctly. Otherwise, root through the file to locate the case-preserved # version of the package name. if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) { my $content = Module::Install::_read($subpath . '.pm'); my $in_pod = 0; foreach ( split /\n/, $content ) { $in_pod = 1 if /^=\w/; $in_pod = 0 if /^=cut/; next if ($in_pod || /^=cut/); # skip pod text next if /^\s*#/; # and comments if ( m/^\s*package\s+($pkg)\s*;/i ) { $pkg = $1; last; } } } push @found, [ $file, $pkg ]; }, $path ) if -d $path; @found; } ##################################################################### # Common Utility Functions sub _caller { my $depth = 0; my $call = caller($depth); while ( $call eq __PACKAGE__ ) { $depth++; $call = caller($depth); } return $call; } # Done in evals to avoid confusing Perl::MinimumVersion eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; sub _read { local *FH; open( FH, '<', $_[0] ) or die "open($_[0]): $!"; binmode FH; my $string = do { local $/; }; close FH or die "close($_[0]): $!"; return $string; } END_NEW sub _read { local *FH; open( FH, "< $_[0]" ) or die "open($_[0]): $!"; binmode FH; my $string = do { local $/; }; close FH or die "close($_[0]): $!"; return $string; } END_OLD sub _readperl { my $string = Module::Install::_read($_[0]); $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; $string =~ s/(\n)\n*__(?:DATA|END)__\b.*\z/$1/s; $string =~ s/\n\n=\w+.+?\n\n=cut\b.+?\n+/\n\n/sg; return $string; } sub _readpod { my $string = Module::Install::_read($_[0]); $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; return $string if $_[0] =~ /\.pod\z/; $string =~ s/(^|\n=cut\b.+?\n+)[^=\s].+?\n(\n=\w+|\z)/$1$2/sg; $string =~ s/\n*=pod\b[^\n]*\n+/\n\n/sg; $string =~ s/\n*=cut\b[^\n]*\n+/\n\n/sg; $string =~ s/^\n+//s; return $string; } # Done in evals to avoid confusing Perl::MinimumVersion eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; sub _write { local *FH; open( FH, '>', $_[0] ) or die "open($_[0]): $!"; binmode FH; foreach ( 1 .. $#_ ) { print FH $_[$_] or die "print($_[0]): $!"; } close FH or die "close($_[0]): $!"; } END_NEW sub _write { local *FH; open( FH, "> $_[0]" ) or die "open($_[0]): $!"; binmode FH; foreach ( 1 .. $#_ ) { print FH $_[$_] or die "print($_[0]): $!"; } close FH or die "close($_[0]): $!"; } END_OLD # _version is for processing module versions (eg, 1.03_05) not # Perl versions (eg, 5.8.1). sub _version { my $s = shift || 0; my $d =()= $s =~ /(\.)/g; if ( $d >= 2 ) { # Normalise multipart versions $s =~ s/(\.)(\d{1,3})/sprintf("$1%03d",$2)/eg; } $s =~ s/^(\d+)\.?//; my $l = $1 || 0; my @v = map { $_ . '0' x (3 - length $_) } $s =~ /(\d{1,3})\D?/g; $l = $l . '.' . join '', @v if @v; return $l + 0; } sub _cmp { _version($_[1]) <=> _version($_[2]); } # Cloned from Params::Util::_CLASS sub _CLASS { ( defined $_[0] and ! ref $_[0] and $_[0] =~ m/^[^\W\d]\w*(?:::\w+)*\z/s ) ? $_[0] : undef; } 1; # Copyright 2008 - 2012 Adam Kennedy. Mail-Mbox-MessageParser-1.5105/inc/Module/Install/AutoLicense.pm000644 000765 000024 00000003166 12521305603 024752 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::AutoLicense; use strict; use warnings; use base qw(Module::Install::Base); use vars qw($VERSION); $VERSION = '0.08'; my %licenses = ( perl => 'Software::License::Perl_5', apache => 'Software::License::Apache_2_0', artistic => 'Software::License::Artistic_1_0', artistic_2 => 'Software::License::Artistic_2_0', lgpl2 => 'Software::License::LGPL_2_1', lgpl3 => 'Software::License::LGPL_3_0', bsd => 'Software::License::BSD', gpl => 'Software::License::GPL_1', gpl2 => 'Software::License::GPL_2', gpl3 => 'Software::License::GPL_3', mit => 'Software::License::MIT', mozilla => 'Software::License::Mozilla_1_1', ); sub auto_license { my $self = shift; return unless $Module::Install::AUTHOR; my %opts = @_; $opts{lc $_} = delete $opts{$_} for keys %opts; my $holder = $opts{holder} || _get_authors( $self ); #my $holder = $opts{holder} || $self->author; my $license = $self->license(); unless ( defined $licenses{ $license } ) { warn "No license definition for '$license', aborting\n"; return 1; } my $class = $licenses{ $license }; eval "require $class"; my $sl = $class->new( { holder => $holder } ); open LICENSE, '>LICENSE' or die "$!\n"; print LICENSE $sl->fulltext; close LICENSE; $self->postamble(<<"END"); distclean :: license_clean license_clean: \t\$(RM_F) LICENSE END return 1; } sub _get_authors { my $self = shift; my $joined = join ', ', @{ $self->author() || [] }; return $joined; } 'Licensed to auto'; __END__ #line 125 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/AutomatedTester.pm000644 000765 000024 00000000512 12521305603 025641 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::AutomatedTester; use strict; use warnings; use base qw(Module::Install::Base); use vars qw($VERSION); $VERSION = '0.02'; sub auto_tester { return if $Module::Install::AUTHOR; return $ENV{AUTOMATED_TESTING}; } sub cpan_tester { &auto_tester; } 'ARE WE BEING SMOKED?'; __END__ #line 78 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Base.pm000644 000765 000024 00000002147 12521305601 023405 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Base; use strict 'vars'; use vars qw{$VERSION}; BEGIN { $VERSION = '1.14'; } # Suspend handler for "redefined" warnings BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w }; } #line 42 sub new { my $class = shift; unless ( defined &{"${class}::call"} ) { *{"${class}::call"} = sub { shift->_top->call(@_) }; } unless ( defined &{"${class}::load"} ) { *{"${class}::load"} = sub { shift->_top->load(@_) }; } bless { @_ }, $class; } #line 61 sub AUTOLOAD { local $@; my $func = eval { shift->_top->autoload } or return; goto &$func; } #line 75 sub _top { $_[0]->{_top}; } #line 90 sub admin { $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new; } #line 106 sub is_admin { ! $_[0]->admin->isa('Module::Install::Base::FakeAdmin'); } sub DESTROY {} package Module::Install::Base::FakeAdmin; use vars qw{$VERSION}; BEGIN { $VERSION = $Module::Install::Base::VERSION; } my $fake; sub new { $fake ||= bless(\@_, $_[0]); } sub AUTOLOAD {} sub DESTROY {} # Restore warning handler BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->(); } 1; #line 159 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Bugtracker.pm000644 000765 000024 00000001100 12521305601 024610 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Bugtracker; use 5.006; use strict; use warnings; use URI::Escape; use base qw(Module::Install::Base); our $VERSION = sprintf "%d.%02d%02d", q/0.3.0/ =~ /(\d+)/g; sub auto_set_bugtracker { my $self = shift; if ($self->name) { $self->configure_requires('URI::Escape', 0); $self->bugtracker( sprintf 'http://rt.cpan.org/Public/Dist/Display.html?Name=%s', uri_escape($self->name), ); } else { warn "can't set bugtracker if 'name' is not set\n"; } } 1; __END__ #line 100 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Can.pm000644 000765 000024 00000006157 12521305601 023241 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Can; use strict; use Config (); use ExtUtils::MakeMaker (); use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.14'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } # check if we can load some module ### Upgrade this to not have to load the module if possible sub can_use { my ($self, $mod, $ver) = @_; $mod =~ s{::|\\}{/}g; $mod .= '.pm' unless $mod =~ /\.pm$/i; my $pkg = $mod; $pkg =~ s{/}{::}g; $pkg =~ s{\.pm$}{}i; local $@; eval { require $mod; $pkg->VERSION($ver || 0); 1 }; } # Check if we can run some command sub can_run { my ($self, $cmd) = @_; my $_cmd = $cmd; return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd)); for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { next if $dir eq ''; require File::Spec; my $abs = File::Spec->catfile($dir, $cmd); return $abs if (-x $abs or $abs = MM->maybe_command($abs)); } return; } # Can our C compiler environment build XS files sub can_xs { my $self = shift; # Ensure we have the CBuilder module $self->configure_requires( 'ExtUtils::CBuilder' => 0.27 ); # Do we have the configure_requires checker? local $@; eval "require ExtUtils::CBuilder;"; if ( $@ ) { # They don't obey configure_requires, so it is # someone old and delicate. Try to avoid hurting # them by falling back to an older simpler test. return $self->can_cc(); } # Do we have a working C compiler my $builder = ExtUtils::CBuilder->new( quiet => 1, ); unless ( $builder->have_compiler ) { # No working C compiler return 0; } # Write a C file representative of what XS becomes require File::Temp; my ( $FH, $tmpfile ) = File::Temp::tempfile( "compilexs-XXXXX", SUFFIX => '.c', ); binmode $FH; print $FH <<'END_C'; #include "EXTERN.h" #include "perl.h" #include "XSUB.h" int main(int argc, char **argv) { return 0; } int boot_sanexs() { return 1; } END_C close $FH; # Can the C compiler access the same headers XS does my @libs = (); my $object = undef; eval { local $^W = 0; $object = $builder->compile( source => $tmpfile, ); @libs = $builder->link( objects => $object, module_name => 'sanexs', ); }; my $result = $@ ? 0 : 1; # Clean up all the build files foreach ( $tmpfile, $object, @libs ) { next unless defined $_; 1 while unlink; } return $result; } # Can we locate a (the) C compiler sub can_cc { my $self = shift; my @chunks = split(/ /, $Config::Config{cc}) or return; # $Config{cc} may contain args; try to find out the program part while (@chunks) { return $self->can_run("@chunks") || (pop(@chunks), next); } return; } # Fix Cygwin bug on maybe_command(); if ( $^O eq 'cygwin' ) { require ExtUtils::MM_Cygwin; require ExtUtils::MM_Win32; if ( ! defined(&ExtUtils::MM_Cygwin::maybe_command) ) { *ExtUtils::MM_Cygwin::maybe_command = sub { my ($self, $file) = @_; if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) { ExtUtils::MM_Win32->maybe_command($file); } else { ExtUtils::MM_Unix->maybe_command($file); } } } } 1; __END__ #line 236 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/CheckOptional.pm000644 000765 000024 00000002174 12521305601 025256 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::CheckOptional; use strict; use 5.005; use Carp; # For module install and version checks use Module::AutoInstall; use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base Module::AutoInstall ); $VERSION = sprintf "%d.%02d%02d", q/0.11.00/ =~ /(\d+)/g; # --------------------------------------------------------------------------- sub check_optional { my ($self, $module, $version, $message) = @_; # Tell Module::Install to include this, since we use it. $self->perl_version('5.005'); $self->include('Module::AutoInstall', 0); croak "check_optional requires a dependency and version such as \"Carp => 1.03\"" unless defined $module and defined $version; return if Module::AutoInstall::_version_cmp( Module::AutoInstall::_load($module), $version ) >= 0; print<new($host, Passive => 1, Timeout => 600); $ftp->login("anonymous", 'anonymous@example.com'); $ftp->cwd($path); $ftp->binary; $ftp->get($file) or (warn("$!\n"), return); $ftp->quit; } } elsif (my $ftp = $self->can_run('ftp')) { eval { # no Net::FTP, fallback to ftp.exe require FileHandle; my $fh = FileHandle->new; local $SIG{CHLD} = 'IGNORE'; unless ($fh->open("|$ftp -n")) { warn "Couldn't open ftp: $!\n"; chdir $dir; return; } my @dialog = split(/\n/, <<"END_FTP"); open $host user anonymous anonymous\@example.com cd $path binary get $file $file quit END_FTP foreach (@dialog) { $fh->print("$_\n") } $fh->close; } } else { warn "No working 'ftp' program available!\n"; chdir $dir; return; } unless (-f $file) { warn "Fetching failed: $@\n"; chdir $dir; return; } return if exists $args{size} and -s $file != $args{size}; system($args{run}) if exists $args{run}; unlink($file) if $args{remove}; print(((!exists $args{check_for} or -e $args{check_for}) ? "done!" : "failed! ($!)"), "\n"); chdir $dir; return !$?; } 1; Mail-Mbox-MessageParser-1.5105/inc/Module/Install/GetProgramLocations.pm000644 000765 000024 00000023765 12521305601 026467 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::GetProgramLocations; use strict; use 5.005; use Config; use Cwd; use Carp; use File::Spec; use Sort::Versions; use Exporter(); use vars qw( @ISA $VERSION @EXPORT ); use Module::Install::Base; @ISA = qw( Module::Install::Base Exporter ); @EXPORT = qw( &get_gnu_version &get_bzip2_version ); $VERSION = sprintf "%d.%02d%02d", q/0.30.8/ =~ /(\d+)/g; # --------------------------------------------------------------------------- sub get_program_locations { my $self = shift; my %info = %{ shift @_ }; foreach my $program (keys %info) { croak "argname is required for $program" unless defined $info{$program}{'argname'}; if (exists $info{$program}{'types'}) { foreach my $type (keys %{ $info{$program}{'types'} }) { next unless exists $info{$program}{'types'}{$type}{'fetch'}; croak "Fetch routine must be a valid code reference" unless ref $info{$program}{'types'}{$type}{'fetch'} eq "CODE" && defined &{ $info{$program}{'types'}{$type}{'fetch'} }; } } } $self->include_deps('Config',0); $self->include_deps('File::Spec',0); $self->include_deps('Sort::Versions',0); $self->include_deps('Cwd',0); my %user_specified_program_paths = $self->_get_user_specified_program_locations(\%info); if (keys %user_specified_program_paths) { return $self->_get_argv_program_locations(\%info, \%user_specified_program_paths); } else { return $self->_prompt_user_for_program_locations(\%info); } } # --------------------------------------------------------------------------- sub _get_user_specified_program_locations { my $self = shift; my %info = %{ shift @_ }; my %user_specified_program_paths; my @remaining_args; # Look for user-provided paths in @ARGV foreach my $arg (@ARGV) { my ($var,$value) = $arg =~ /^(.*?)=(.*)$/; push(@remaining_args, $arg), next unless defined $var; $value = undef if $value eq ''; my $is_a_program_arg = 0; foreach my $program (keys %info) { if ($var eq $info{$program}{'argname'}) { $user_specified_program_paths{$program} = $value; $is_a_program_arg = 1; last; } } push @remaining_args, $arg unless $is_a_program_arg; } @ARGV = @remaining_args; return %user_specified_program_paths; } # --------------------------------------------------------------------------- sub _get_argv_program_locations { my $self = shift; my %info = %{ shift @_ }; my %program_locations = %{ shift @_ }; my %program_info; foreach my $program_name (sort keys %info) { $program_info{$program_name} = { 'path' => undef, 'type' => undef, 'version' => undef }; next if exists $program_locations{$program_name} && $program_locations{$program_name} eq ''; $program_locations{$program_name} = $info{$program_name}{'default'} unless exists $program_locations{$program_name}; my $full_path = $self->_Make_Absolute($program_locations{$program_name}); if (!defined $self->can_run($full_path)) { warn "\"$full_path\" does not appear to be a valid executable\n"; warn "Using anyway\n"; $program_info{$program_name} = { path => $full_path, type => undef, version => undef }; } else { my ($is_valid,$type,$version) = $self->_program_version_is_valid($program_name,$full_path,\%info); unless($is_valid) { warn "\"$full_path\" is not a correct version\n"; warn "Using anyway\n"; } $program_info{$program_name} = { path => $full_path, type => $type, version => $version }; } } return %program_info; } # --------------------------------------------------------------------------- sub _prompt_user_for_program_locations { my $self = shift; my %info = %{ shift @_ }; # Force the include inc/Module/Install/Can.pm message to appear early $self->can_run(); print "Enter the full path, or \"none\" for none.\n"; my $last_choice = ''; my %program_info; ASK: foreach my $program_name (sort keys %info) { my ($name,$full_path); # Convert any default to a full path, initially $name = $Config{$program_name}; $full_path = $self->can_run($name); if ($name eq '' || !defined $full_path) { $name = $info{$program_name}{'default'}; $full_path = $self->can_run($name); } $full_path = 'none' if !defined $full_path || $name eq ''; my $allowed_types = ''; if (exists $info{$program_name}{'types'}) { foreach my $type (keys %{ $info{$program_name}{'types'} } ) { $allowed_types .= ", $type"; } $allowed_types =~ s/^, //; $allowed_types =~ s/(.*), /$1, or /; $allowed_types = " ($allowed_types"; $allowed_types .= scalar(keys %{ $info{$program_name}{'types'} }) > 1 ? " types)" : " type)"; } my $choice = $self->prompt( "Where can I find your \"$program_name\" executable?" . "$allowed_types", $full_path); $program_info{$program_name} = { path => undef, type => undef, version => undef }, next if $choice eq 'none'; $choice = $self->_Make_Absolute($choice); if (!defined $self->can_run($choice)) { warn "\"$choice\" does not appear to be a valid executable\n"; if ($last_choice ne $choice) { $last_choice = $choice; redo ASK; } warn "Using anyway\n"; } else { my ($is_valid,$type,$version) = $self->_program_version_is_valid($program_name,$choice,\%info); if(!$is_valid) { warn "\"$choice\" is not a correct version\n"; if ($last_choice ne $choice) { $last_choice = $choice; redo ASK; } warn "Using anyway\n"; } $program_info{$program_name} = { path => $choice, type => $type, version => $version }; } } return %program_info; } # --------------------------------------------------------------------------- sub _program_version_is_valid { my $self = shift; my $program_name = shift; my $program = shift; my %info = %{ shift @_ }; if (exists $info{$program_name}{'types'}) { my $version; TYPE: foreach my $type (keys %{$info{$program_name}{'types'}}) { $version = &{$info{$program_name}{'types'}{$type}{'fetch'}}($program); next TYPE unless defined $version; if ($self->version_matches_range($version, $info{$program_name}{'types'}{$type}{'numbers'})) { return (1,$type,$version); } } my $version_string = ''; $version_string = $version if defined $version; warn "\"$program\" version $version_string is not valid for any of the following:\n"; foreach my $type (keys %{$info{$program_name}{'types'}}) { warn " $type => " . $info{$program_name}{'types'}{$type}{'numbers'} . "\n"; } return (0,undef,undef); } return (1,undef,undef); } # --------------------------------------------------------------------------- sub version_matches_range { my $self = shift; my $version = shift; my $version_specification = shift; my $range_pattern = '([\[\(].*?\s*,\s*.*?[\]\)])'; my @ranges = $version_specification =~ /$range_pattern/g; die "Version specification \"$version_specification\" is incorrect\n" unless @ranges; foreach my $range (@ranges) { my ($lower_bound,$lower_version,$upper_version,$upper_bound) = ( $range =~ /([\[\(])(.*?)\s*,\s*(.*?)([\]\)])/ ); $lower_bound = '>' . ( $lower_bound eq '[' ? '=' : ''); $upper_bound = '<' . ( $upper_bound eq ']' ? '=' : ''); my ($lower_bound_satisified, $upper_bound_satisified); $lower_bound_satisified = ($lower_version eq '' || versioncmp($version,$lower_version) == 1 || ($lower_bound eq '>=' && versioncmp($version,$lower_version) == 0)); $upper_bound_satisified = ($upper_version eq '' || versioncmp($version,$upper_version) == -1 || ($upper_bound eq '<=' && versioncmp($version,$upper_version) == 0)); return 1 if $lower_bound_satisified && $upper_bound_satisified; } return 0; } # --------------------------------------------------------------------------- # Returns the original if the full path can't be found sub _Make_Absolute { my $self = shift; my $program = shift; if(File::Spec->file_name_is_absolute($program)) { return $program; } else { my $path_to_choice = undef; foreach my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), cwd()) { $path_to_choice = File::Spec->catfile($dir, $program); last if defined $self->can_run($path_to_choice); } return $program unless -e $path_to_choice; warn "WARNING: Avoiding security risks by converting to absolute paths\n"; warn "\"$program\" is currently in your path at \"$path_to_choice\"\n"; return $path_to_choice; } } # --------------------------------------------------------------------------- sub get_gnu_version { my $program = shift; die "Missing GNU program to get version for" unless defined $program; my $version_message; # Newer versions { my $command = "\"$program\" --version 2>" . File::Spec->devnull(); $version_message = `$command`; } # Older versions use -V unless($version_message =~ /\b(GNU|Free\s+Software\s+Foundation)\b/s) { my $command = "\"$program\" -V 2>&1 1>" . File::Spec->devnull(); $version_message = `$command`; } return undef unless $version_message =~ /\b(GNU|Free\s+Software\s+Foundation)\b/s; my ($program_version) = $version_message =~ /^.*?([\d]+\.[\d.a-z]+)/s; return $program_version; } # --------------------------------------------------------------------------- sub get_bzip2_version { my $program = shift; my $command = "\"$program\" --help 2>&1 1>" . File::Spec->devnull(); my $version_message = `$command`; my ($program_version) = $version_message =~ /^.*?([\d]+\.[\d.a-z]+)/s; return $program_version; } 1; # --------------------------------------------------------------------------- #line 629 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/GithubMeta.pm000644 000765 000024 00000002163 12521305601 024562 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::GithubMeta; use strict; use warnings; use Cwd; use base qw(Module::Install::Base); use vars qw($VERSION); $VERSION = '0.30'; sub githubmeta { my $self = shift; return unless $Module::Install::AUTHOR; return unless _under_git(); return unless $self->can_run('git'); my $remote = shift || 'origin'; local $ENV{LC_ALL}='C'; local $ENV{LANG}='C'; return unless my ($git_url) = `git remote show -n $remote` =~ /URL: (.*)$/m; return unless $git_url =~ /github\.com/; # Not a Github repository my $http_url = $git_url; $git_url =~ s![\w\-]+\@([^:]+):!git://$1/!; $http_url =~ s![\w\-]+\@([^:]+):!https://$1/!; $http_url =~ s!\.git$!/!; $self->repository( $git_url ); $self->homepage( $http_url ) unless $self->homepage(); return 1; } sub _under_git { return 1 if -e '.git'; my $cwd = getcwd; my $last = $cwd; my $found = 0; while (1) { chdir '..' or last; my $current = getcwd; last if $last eq $current; $last = $current; if ( -e '.git' ) { $found = 1; last; } } chdir $cwd; return $found; } 'Github'; __END__ #line 113 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Include.pm000644 000765 000024 00000001015 12521305601 024107 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Include; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.14'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub include { shift()->admin->include(@_); } sub include_deps { shift()->admin->include_deps(@_); } sub auto_include { shift()->admin->auto_include(@_); } sub auto_include_deps { shift()->admin->auto_include_deps(@_); } sub auto_include_dependent_dists { shift()->admin->auto_include_dependent_dists(@_); } 1; Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Makefile.pm000644 000765 000024 00000027437 12521305601 024261 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Makefile; use strict 'vars'; use ExtUtils::MakeMaker (); use Module::Install::Base (); use Fcntl qw/:flock :seek/; use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.14'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub Makefile { $_[0] } my %seen = (); sub prompt { shift; # Infinite loop protection my @c = caller(); if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) { die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])"; } # In automated testing or non-interactive session, always use defaults if ( ($ENV{AUTOMATED_TESTING} or -! -t STDIN) and ! $ENV{PERL_MM_USE_DEFAULT} ) { local $ENV{PERL_MM_USE_DEFAULT} = 1; goto &ExtUtils::MakeMaker::prompt; } else { goto &ExtUtils::MakeMaker::prompt; } } # Store a cleaned up version of the MakeMaker version, # since we need to behave differently in a variety of # ways based on the MM version. my $makemaker = eval $ExtUtils::MakeMaker::VERSION; # If we are passed a param, do a "newer than" comparison. # Otherwise, just return the MakeMaker version. sub makemaker { ( @_ < 2 or $makemaker >= eval($_[1]) ) ? $makemaker : 0 } # Ripped from ExtUtils::MakeMaker 6.56, and slightly modified # as we only need to know here whether the attribute is an array # or a hash or something else (which may or may not be appendable). my %makemaker_argtype = ( C => 'ARRAY', CONFIG => 'ARRAY', # CONFIGURE => 'CODE', # ignore DIR => 'ARRAY', DL_FUNCS => 'HASH', DL_VARS => 'ARRAY', EXCLUDE_EXT => 'ARRAY', EXE_FILES => 'ARRAY', FUNCLIST => 'ARRAY', H => 'ARRAY', IMPORTS => 'HASH', INCLUDE_EXT => 'ARRAY', LIBS => 'ARRAY', # ignore '' MAN1PODS => 'HASH', MAN3PODS => 'HASH', META_ADD => 'HASH', META_MERGE => 'HASH', PL_FILES => 'HASH', PM => 'HASH', PMLIBDIRS => 'ARRAY', PMLIBPARENTDIRS => 'ARRAY', PREREQ_PM => 'HASH', CONFIGURE_REQUIRES => 'HASH', SKIP => 'ARRAY', TYPEMAPS => 'ARRAY', XS => 'HASH', # VERSION => ['version',''], # ignore # _KEEP_AFTER_FLUSH => '', clean => 'HASH', depend => 'HASH', dist => 'HASH', dynamic_lib=> 'HASH', linkext => 'HASH', macro => 'HASH', postamble => 'HASH', realclean => 'HASH', test => 'HASH', tool_autosplit => 'HASH', # special cases where you can use makemaker_append CCFLAGS => 'APPENDABLE', DEFINE => 'APPENDABLE', INC => 'APPENDABLE', LDDLFLAGS => 'APPENDABLE', LDFROM => 'APPENDABLE', ); sub makemaker_args { my ($self, %new_args) = @_; my $args = ( $self->{makemaker_args} ||= {} ); foreach my $key (keys %new_args) { if ($makemaker_argtype{$key}) { if ($makemaker_argtype{$key} eq 'ARRAY') { $args->{$key} = [] unless defined $args->{$key}; unless (ref $args->{$key} eq 'ARRAY') { $args->{$key} = [$args->{$key}] } push @{$args->{$key}}, ref $new_args{$key} eq 'ARRAY' ? @{$new_args{$key}} : $new_args{$key}; } elsif ($makemaker_argtype{$key} eq 'HASH') { $args->{$key} = {} unless defined $args->{$key}; foreach my $skey (keys %{ $new_args{$key} }) { $args->{$key}{$skey} = $new_args{$key}{$skey}; } } elsif ($makemaker_argtype{$key} eq 'APPENDABLE') { $self->makemaker_append($key => $new_args{$key}); } } else { if (defined $args->{$key}) { warn qq{MakeMaker attribute "$key" is overriden; use "makemaker_append" to append values\n}; } $args->{$key} = $new_args{$key}; } } return $args; } # For mm args that take multiple space-separated args, # append an argument to the current list. sub makemaker_append { my $self = shift; my $name = shift; my $args = $self->makemaker_args; $args->{$name} = defined $args->{$name} ? join( ' ', $args->{$name}, @_ ) : join( ' ', @_ ); } sub build_subdirs { my $self = shift; my $subdirs = $self->makemaker_args->{DIR} ||= []; for my $subdir (@_) { push @$subdirs, $subdir; } } sub clean_files { my $self = shift; my $clean = $self->makemaker_args->{clean} ||= {}; %$clean = ( %$clean, FILES => join ' ', grep { length $_ } ($clean->{FILES} || (), @_), ); } sub realclean_files { my $self = shift; my $realclean = $self->makemaker_args->{realclean} ||= {}; %$realclean = ( %$realclean, FILES => join ' ', grep { length $_ } ($realclean->{FILES} || (), @_), ); } sub libs { my $self = shift; my $libs = ref $_[0] ? shift : [ shift ]; $self->makemaker_args( LIBS => $libs ); } sub inc { my $self = shift; $self->makemaker_args( INC => shift ); } sub _wanted_t { } sub tests_recursive { my $self = shift; my $dir = shift || 't'; unless ( -d $dir ) { die "tests_recursive dir '$dir' does not exist"; } my %tests = map { $_ => 1 } split / /, ($self->tests || ''); require File::Find; File::Find::find( sub { /\.t$/ and -f $_ and $tests{"$File::Find::dir/*.t"} = 1 }, $dir ); $self->tests( join ' ', sort keys %tests ); } sub write { my $self = shift; die "&Makefile->write() takes no arguments\n" if @_; # Check the current Perl version my $perl_version = $self->perl_version; if ( $perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; } # Make sure we have a new enough MakeMaker require ExtUtils::MakeMaker; if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) { # This previous attempted to inherit the version of # ExtUtils::MakeMaker in use by the module author, but this # was found to be untenable as some authors build releases # using future dev versions of EU:MM that nobody else has. # Instead, #toolchain suggests we use 6.59 which is the most # stable version on CPAN at time of writing and is, to quote # ribasushi, "not terminally fucked, > and tested enough". # TODO: We will now need to maintain this over time to push # the version up as new versions are released. $self->build_requires( 'ExtUtils::MakeMaker' => 6.59 ); $self->configure_requires( 'ExtUtils::MakeMaker' => 6.59 ); } else { # Allow legacy-compatibility with 5.005 by depending on the # most recent EU:MM that supported 5.005. $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 ); $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 ); } # Generate the MakeMaker params my $args = $self->makemaker_args; $args->{DISTNAME} = $self->name; $args->{NAME} = $self->module_name || $self->name; $args->{NAME} =~ s/-/::/g; $args->{VERSION} = $self->version or die <<'EOT'; ERROR: Can't determine distribution version. Please specify it explicitly via 'version' in Makefile.PL, or set a valid $VERSION in a module, and provide its file path via 'version_from' (or 'all_from' if you prefer) in Makefile.PL. EOT if ( $self->tests ) { my @tests = split ' ', $self->tests; my %seen; $args->{test} = { TESTS => (join ' ', grep {!$seen{$_}++} @tests), }; } elsif ( $Module::Install::ExtraTests::use_extratests ) { # Module::Install::ExtraTests doesn't set $self->tests and does its own tests via harness. # So, just ignore our xt tests here. } elsif ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) { $args->{test} = { TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ), }; } if ( $] >= 5.005 ) { $args->{ABSTRACT} = $self->abstract; $args->{AUTHOR} = join ', ', @{$self->author || []}; } if ( $self->makemaker(6.10) ) { $args->{NO_META} = 1; #$args->{NO_MYMETA} = 1; } if ( $self->makemaker(6.17) and $self->sign ) { $args->{SIGN} = 1; } unless ( $self->is_admin ) { delete $args->{SIGN}; } if ( $self->makemaker(6.31) and $self->license ) { $args->{LICENSE} = $self->license; } my $prereq = ($args->{PREREQ_PM} ||= {}); %$prereq = ( %$prereq, map { @$_ } # flatten [module => version] map { @$_ } grep $_, ($self->requires) ); # Remove any reference to perl, PREREQ_PM doesn't support it delete $args->{PREREQ_PM}->{perl}; # Merge both kinds of requires into BUILD_REQUIRES my $build_prereq = ($args->{BUILD_REQUIRES} ||= {}); %$build_prereq = ( %$build_prereq, map { @$_ } # flatten [module => version] map { @$_ } grep $_, ($self->configure_requires, $self->build_requires) ); # Remove any reference to perl, BUILD_REQUIRES doesn't support it delete $args->{BUILD_REQUIRES}->{perl}; # Delete bundled dists from prereq_pm, add it to Makefile DIR my $subdirs = ($args->{DIR} || []); if ($self->bundles) { my %processed; foreach my $bundle (@{ $self->bundles }) { my ($mod_name, $dist_dir) = @$bundle; delete $prereq->{$mod_name}; $dist_dir = File::Basename::basename($dist_dir); # dir for building this module if (not exists $processed{$dist_dir}) { if (-d $dist_dir) { # List as sub-directory to be processed by make push @$subdirs, $dist_dir; } # Else do nothing: the module is already present on the system $processed{$dist_dir} = undef; } } } unless ( $self->makemaker('6.55_03') ) { %$prereq = (%$prereq,%$build_prereq); delete $args->{BUILD_REQUIRES}; } if ( my $perl_version = $self->perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; if ( $self->makemaker(6.48) ) { $args->{MIN_PERL_VERSION} = $perl_version; } } if ($self->installdirs) { warn qq{old INSTALLDIRS (probably set by makemaker_args) is overriden by installdirs\n} if $args->{INSTALLDIRS}; $args->{INSTALLDIRS} = $self->installdirs; } my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_} ) } keys %$args; my $user_preop = delete $args{dist}->{PREOP}; if ( my $preop = $self->admin->preop($user_preop) ) { foreach my $key ( keys %$preop ) { $args{dist}->{$key} = $preop->{$key}; } } my $mm = ExtUtils::MakeMaker::WriteMakefile(%args); $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile'); } sub fix_up_makefile { my $self = shift; my $makefile_name = shift; my $top_class = ref($self->_top) || ''; my $top_version = $self->_top->VERSION || ''; my $preamble = $self->preamble ? "# Preamble by $top_class $top_version\n" . $self->preamble : ''; my $postamble = "# Postamble by $top_class $top_version\n" . ($self->postamble || ''); local *MAKEFILE; open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; eval { flock MAKEFILE, LOCK_EX }; my $makefile = do { local $/; }; $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /; $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g; $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g; $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m; $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m; # Module::Install will never be used to build the Core Perl # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m; #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m; # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well. $makefile =~ s/(\"?)-I\$\(PERL_LIB\)\1//g; # XXX - This is currently unused; not sure if it breaks other MM-users # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg; seek MAKEFILE, 0, SEEK_SET; truncate MAKEFILE, 0; print MAKEFILE "$preamble$makefile$postamble" or die $!; close MAKEFILE or die $!; 1; } sub preamble { my ($self, $text) = @_; $self->{preamble} = $text . $self->{preamble} if defined $text; $self->{preamble}; } sub postamble { my ($self, $text) = @_; $self->{postamble} ||= $self->admin->postamble; $self->{postamble} .= $text if defined $text; $self->{postamble} } 1; __END__ #line 544 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Metadata.pm000644 000765 000024 00000043302 12521305601 024251 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Metadata; use strict 'vars'; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.14'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } my @boolean_keys = qw{ sign }; my @scalar_keys = qw{ name module_name abstract version distribution_type tests installdirs }; my @tuple_keys = qw{ configure_requires build_requires requires recommends bundles resources }; my @resource_keys = qw{ homepage bugtracker repository }; my @array_keys = qw{ keywords author }; *authors = \&author; sub Meta { shift } sub Meta_BooleanKeys { @boolean_keys } sub Meta_ScalarKeys { @scalar_keys } sub Meta_TupleKeys { @tuple_keys } sub Meta_ResourceKeys { @resource_keys } sub Meta_ArrayKeys { @array_keys } foreach my $key ( @boolean_keys ) { *$key = sub { my $self = shift; if ( defined wantarray and not @_ ) { return $self->{values}->{$key}; } $self->{values}->{$key} = ( @_ ? $_[0] : 1 ); return $self; }; } foreach my $key ( @scalar_keys ) { *$key = sub { my $self = shift; return $self->{values}->{$key} if defined wantarray and !@_; $self->{values}->{$key} = shift; return $self; }; } foreach my $key ( @array_keys ) { *$key = sub { my $self = shift; return $self->{values}->{$key} if defined wantarray and !@_; $self->{values}->{$key} ||= []; push @{$self->{values}->{$key}}, @_; return $self; }; } foreach my $key ( @resource_keys ) { *$key = sub { my $self = shift; unless ( @_ ) { return () unless $self->{values}->{resources}; return map { $_->[1] } grep { $_->[0] eq $key } @{ $self->{values}->{resources} }; } return $self->{values}->{resources}->{$key} unless @_; my $uri = shift or die( "Did not provide a value to $key()" ); $self->resources( $key => $uri ); return 1; }; } foreach my $key ( grep { $_ ne "resources" } @tuple_keys) { *$key = sub { my $self = shift; return $self->{values}->{$key} unless @_; my @added; while ( @_ ) { my $module = shift or last; my $version = shift || 0; push @added, [ $module, $version ]; } push @{ $self->{values}->{$key} }, @added; return map {@$_} @added; }; } # Resource handling my %lc_resource = map { $_ => 1 } qw{ homepage license bugtracker repository }; sub resources { my $self = shift; while ( @_ ) { my $name = shift or last; my $value = shift or next; if ( $name eq lc $name and ! $lc_resource{$name} ) { die("Unsupported reserved lowercase resource '$name'"); } $self->{values}->{resources} ||= []; push @{ $self->{values}->{resources} }, [ $name, $value ]; } $self->{values}->{resources}; } # Aliases for build_requires that will have alternative # meanings in some future version of META.yml. sub test_requires { shift->build_requires(@_) } sub install_requires { shift->build_requires(@_) } # Aliases for installdirs options sub install_as_core { $_[0]->installdirs('perl') } sub install_as_cpan { $_[0]->installdirs('site') } sub install_as_site { $_[0]->installdirs('site') } sub install_as_vendor { $_[0]->installdirs('vendor') } sub dynamic_config { my $self = shift; my $value = @_ ? shift : 1; if ( $self->{values}->{dynamic_config} ) { # Once dynamic we never change to static, for safety return 0; } $self->{values}->{dynamic_config} = $value ? 1 : 0; return 1; } # Convenience command sub static_config { shift->dynamic_config(0); } sub perl_version { my $self = shift; return $self->{values}->{perl_version} unless @_; my $version = shift or die( "Did not provide a value to perl_version()" ); # Normalize the version $version = $self->_perl_version($version); # We don't support the really old versions unless ( $version >= 5.005 ) { die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n"; } $self->{values}->{perl_version} = $version; } sub all_from { my ( $self, $file ) = @_; unless ( defined($file) ) { my $name = $self->name or die( "all_from called with no args without setting name() first" ); $file = join('/', 'lib', split(/-/, $name)) . '.pm'; $file =~ s{.*/}{} unless -e $file; unless ( -e $file ) { die("all_from cannot find $file from $name"); } } unless ( -f $file ) { die("The path '$file' does not exist, or is not a file"); } $self->{values}{all_from} = $file; # Some methods pull from POD instead of code. # If there is a matching .pod, use that instead my $pod = $file; $pod =~ s/\.pm$/.pod/i; $pod = $file unless -e $pod; # Pull the different values $self->name_from($file) unless $self->name; $self->version_from($file) unless $self->version; $self->perl_version_from($file) unless $self->perl_version; $self->author_from($pod) unless @{$self->author || []}; $self->license_from($pod) unless $self->license; $self->abstract_from($pod) unless $self->abstract; return 1; } sub provides { my $self = shift; my $provides = ( $self->{values}->{provides} ||= {} ); %$provides = (%$provides, @_) if @_; return $provides; } sub auto_provides { my $self = shift; return $self unless $self->is_admin; unless (-e 'MANIFEST') { warn "Cannot deduce auto_provides without a MANIFEST, skipping\n"; return $self; } # Avoid spurious warnings as we are not checking manifest here. local $SIG{__WARN__} = sub {1}; require ExtUtils::Manifest; local *ExtUtils::Manifest::manicheck = sub { return }; require Module::Build; my $build = Module::Build->new( dist_name => $self->name, dist_version => $self->version, license => $self->license, ); $self->provides( %{ $build->find_dist_packages || {} } ); } sub feature { my $self = shift; my $name = shift; my $features = ( $self->{values}->{features} ||= [] ); my $mods; if ( @_ == 1 and ref( $_[0] ) ) { # The user used ->feature like ->features by passing in the second # argument as a reference. Accomodate for that. $mods = $_[0]; } else { $mods = \@_; } my $count = 0; push @$features, ( $name => [ map { ref($_) ? ( ref($_) eq 'HASH' ) ? %$_ : @$_ : $_ } @$mods ] ); return @$features; } sub features { my $self = shift; while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) { $self->feature( $name, @$mods ); } return $self->{values}->{features} ? @{ $self->{values}->{features} } : (); } sub no_index { my $self = shift; my $type = shift; push @{ $self->{values}->{no_index}->{$type} }, @_ if $type; return $self->{values}->{no_index}; } sub read { my $self = shift; $self->include_deps( 'YAML::Tiny', 0 ); require YAML::Tiny; my $data = YAML::Tiny::LoadFile('META.yml'); # Call methods explicitly in case user has already set some values. while ( my ( $key, $value ) = each %$data ) { next unless $self->can($key); if ( ref $value eq 'HASH' ) { while ( my ( $module, $version ) = each %$value ) { $self->can($key)->($self, $module => $version ); } } else { $self->can($key)->($self, $value); } } return $self; } sub write { my $self = shift; return $self unless $self->is_admin; $self->admin->write_meta; return $self; } sub version_from { require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->version( ExtUtils::MM_Unix->parse_version($file) ); # for version integrity check $self->makemaker_args( VERSION_FROM => $file ); } sub abstract_from { require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->abstract( bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )->parse_abstract($file) ); } # Add both distribution and module name sub name_from { my ($self, $file) = @_; if ( Module::Install::_read($file) =~ m/ ^ \s* package \s* ([\w:]+) [\s|;]* /ixms ) { my ($name, $module_name) = ($1, $1); $name =~ s{::}{-}g; $self->name($name); unless ( $self->module_name ) { $self->module_name($module_name); } } else { die("Cannot determine name from $file\n"); } } sub _extract_perl_version { if ( $_[0] =~ m/ ^\s* (?:use|require) \s* v? ([\d_\.]+) \s* ; /ixms ) { my $perl_version = $1; $perl_version =~ s{_}{}g; return $perl_version; } else { return; } } sub perl_version_from { my $self = shift; my $perl_version=_extract_perl_version(Module::Install::_read($_[0])); if ($perl_version) { $self->perl_version($perl_version); } else { warn "Cannot determine perl version info from $_[0]\n"; return; } } sub author_from { my $self = shift; my $content = Module::Install::_read($_[0]); if ($content =~ m/ =head \d \s+ (?:authors?)\b \s* ([^\n]*) | =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s* .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s* ([^\n]*) /ixms) { my $author = $1 || $2; # XXX: ugly but should work anyway... if (eval "require Pod::Escapes; 1") { # Pod::Escapes has a mapping table. # It's in core of perl >= 5.9.3, and should be installed # as one of the Pod::Simple's prereqs, which is a prereq # of Pod::Text 3.x (see also below). $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } { defined $2 ? chr($2) : defined $Pod::Escapes::Name2character_number{$1} ? chr($Pod::Escapes::Name2character_number{$1}) : do { warn "Unknown escape: E<$1>"; "E<$1>"; }; }gex; } elsif (eval "require Pod::Text; 1" && $Pod::Text::VERSION < 3) { # Pod::Text < 3.0 has yet another mapping table, # though the table name of 2.x and 1.x are different. # (1.x is in core of Perl < 5.6, 2.x is in core of # Perl < 5.9.3) my $mapping = ($Pod::Text::VERSION < 2) ? \%Pod::Text::HTML_Escapes : \%Pod::Text::ESCAPES; $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } { defined $2 ? chr($2) : defined $mapping->{$1} ? $mapping->{$1} : do { warn "Unknown escape: E<$1>"; "E<$1>"; }; }gex; } else { $author =~ s{E}{<}g; $author =~ s{E}{>}g; } $self->author($author); } else { warn "Cannot determine author info from $_[0]\n"; } } #Stolen from M::B my %license_urls = ( perl => 'http://dev.perl.org/licenses/', apache => 'http://apache.org/licenses/LICENSE-2.0', apache_1_1 => 'http://apache.org/licenses/LICENSE-1.1', artistic => 'http://opensource.org/licenses/artistic-license.php', artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php', lgpl => 'http://opensource.org/licenses/lgpl-license.php', lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php', lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html', bsd => 'http://opensource.org/licenses/bsd-license.php', gpl => 'http://opensource.org/licenses/gpl-license.php', gpl2 => 'http://opensource.org/licenses/gpl-2.0.php', gpl3 => 'http://opensource.org/licenses/gpl-3.0.html', mit => 'http://opensource.org/licenses/mit-license.php', mozilla => 'http://opensource.org/licenses/mozilla1.1.php', open_source => undef, unrestricted => undef, restrictive => undef, unknown => undef, ); sub license { my $self = shift; return $self->{values}->{license} unless @_; my $license = shift or die( 'Did not provide a value to license()' ); $license = __extract_license($license) || lc $license; $self->{values}->{license} = $license; # Automatically fill in license URLs if ( $license_urls{$license} ) { $self->resources( license => $license_urls{$license} ); } return 1; } sub _extract_license { my $pod = shift; my $matched; return __extract_license( ($matched) = $pod =~ m/ (=head \d \s+ L(?i:ICEN[CS]E|ICENSING)\b.*?) (=head \d.*|=cut.*|)\z /xms ) || __extract_license( ($matched) = $pod =~ m/ (=head \d \s+ (?:C(?i:OPYRIGHTS?)|L(?i:EGAL))\b.*?) (=head \d.*|=cut.*|)\z /xms ); } sub __extract_license { my $license_text = shift or return; my @phrases = ( '(?:under )?the same (?:terms|license) as (?:perl|the perl (?:\d )?programming language)' => 'perl', 1, '(?:under )?the terms of (?:perl|the perl programming language) itself' => 'perl', 1, 'Artistic and GPL' => 'perl', 1, 'GNU general public license' => 'gpl', 1, 'GNU public license' => 'gpl', 1, 'GNU lesser general public license' => 'lgpl', 1, 'GNU lesser public license' => 'lgpl', 1, 'GNU library general public license' => 'lgpl', 1, 'GNU library public license' => 'lgpl', 1, 'GNU Free Documentation license' => 'unrestricted', 1, 'GNU Affero General Public License' => 'open_source', 1, '(?:Free)?BSD license' => 'bsd', 1, 'Artistic license 2\.0' => 'artistic_2', 1, 'Artistic license' => 'artistic', 1, 'Apache (?:Software )?license' => 'apache', 1, 'GPL' => 'gpl', 1, 'LGPL' => 'lgpl', 1, 'BSD' => 'bsd', 1, 'Artistic' => 'artistic', 1, 'MIT' => 'mit', 1, 'Mozilla Public License' => 'mozilla', 1, 'Q Public License' => 'open_source', 1, 'OpenSSL License' => 'unrestricted', 1, 'SSLeay License' => 'unrestricted', 1, 'zlib License' => 'open_source', 1, 'proprietary' => 'proprietary', 0, ); while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) { $pattern =~ s#\s+#\\s+#gs; if ( $license_text =~ /\b$pattern\b/i ) { return $license; } } return ''; } sub license_from { my $self = shift; if (my $license=_extract_license(Module::Install::_read($_[0]))) { $self->license($license); } else { warn "Cannot determine license info from $_[0]\n"; return 'unknown'; } } sub _extract_bugtracker { my @links = $_[0] =~ m#L<( https?\Q://rt.cpan.org/\E[^>]+| https?\Q://github.com/\E[\w_]+/[\w_]+/issues| https?\Q://code.google.com/p/\E[\w_\-]+/issues/list )>#gx; my %links; @links{@links}=(); @links=keys %links; return @links; } sub bugtracker_from { my $self = shift; my $content = Module::Install::_read($_[0]); my @links = _extract_bugtracker($content); unless ( @links ) { warn "Cannot determine bugtracker info from $_[0]\n"; return 0; } if ( @links > 1 ) { warn "Found more than one bugtracker link in $_[0]\n"; return 0; } # Set the bugtracker bugtracker( $links[0] ); return 1; } sub requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; $self->requires( $module => $version ); } } sub test_requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; $self->test_requires( $module => $version ); } } # Convert triple-part versions (eg, 5.6.1 or 5.8.9) to # numbers (eg, 5.006001 or 5.008009). # Also, convert double-part versions (eg, 5.8) sub _perl_version { my $v = $_[-1]; $v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e; $v =~ s/^([1-9])\.([1-9]\d?\d?)\.(0|[1-9]\d?\d?)$/sprintf("%d.%03d%03d",$1,$2,$3 || 0)/e; $v =~ s/(\.\d\d\d)000$/$1/; $v =~ s/_.+$//; if ( ref($v) ) { # Numify $v = $v + 0; } return $v; } sub add_metadata { my $self = shift; my %hash = @_; for my $key (keys %hash) { warn "add_metadata: $key is not prefixed with 'x_'.\n" . "Use appopriate function to add non-private metadata.\n" unless $key =~ /^x_/; $self->{values}->{$key} = $hash{$key}; } } ###################################################################### # MYMETA Support sub WriteMyMeta { die "WriteMyMeta has been deprecated"; } sub write_mymeta_yaml { my $self = shift; # We need YAML::Tiny to write the MYMETA.yml file unless ( eval { require YAML::Tiny; 1; } ) { return 1; } # Generate the data my $meta = $self->_write_mymeta_data or return 1; # Save as the MYMETA.yml file print "Writing MYMETA.yml\n"; YAML::Tiny::DumpFile('MYMETA.yml', $meta); } sub write_mymeta_json { my $self = shift; # We need JSON to write the MYMETA.json file unless ( eval { require JSON; 1; } ) { return 1; } # Generate the data my $meta = $self->_write_mymeta_data or return 1; # Save as the MYMETA.yml file print "Writing MYMETA.json\n"; Module::Install::_write( 'MYMETA.json', JSON->new->pretty(1)->canonical->encode($meta), ); } sub _write_mymeta_data { my $self = shift; # If there's no existing META.yml there is nothing we can do return undef unless -f 'META.yml'; # We need Parse::CPAN::Meta to load the file unless ( eval { require Parse::CPAN::Meta; 1; } ) { return undef; } # Merge the perl version into the dependencies my $val = $self->Meta->{values}; my $perl = delete $val->{perl_version}; if ( $perl ) { $val->{requires} ||= []; my $requires = $val->{requires}; # Canonize to three-dot version after Perl 5.6 if ( $perl >= 5.006 ) { $perl =~ s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2||0), int($3||0))}e } unshift @$requires, [ perl => $perl ]; } # Load the advisory META.yml file my @yaml = Parse::CPAN::Meta::LoadFile('META.yml'); my $meta = $yaml[0]; # Overwrite the non-configure dependency hashes delete $meta->{requires}; delete $meta->{build_requires}; delete $meta->{recommends}; if ( exists $val->{requires} ) { $meta->{requires} = { map { @$_ } @{ $val->{requires} } }; } if ( exists $val->{build_requires} ) { $meta->{build_requires} = { map { @$_ } @{ $val->{build_requires} } }; } return $meta; } 1; Mail-Mbox-MessageParser-1.5105/inc/Module/Install/PRIVATE/000755 000765 000024 00000000000 12521305625 023311 5ustar00coppitstaff000000 000000 Mail-Mbox-MessageParser-1.5105/inc/Module/Install/Win32.pm000644 000765 000024 00000003403 12521305603 023433 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::Win32; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.14'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } # determine if the user needs nmake, and download it if needed sub check_nmake { my $self = shift; $self->load('can_run'); $self->load('get_file'); require Config; return unless ( $^O eq 'MSWin32' and $Config::Config{make} and $Config::Config{make} =~ /^nmake\b/i and ! $self->can_run('nmake') ); print "The required 'nmake' executable not found, fetching it...\n"; require File::Basename; my $rv = $self->get_file( url => 'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe', ftp_url => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe', local_dir => File::Basename::dirname($^X), size => 51928, run => 'Nmake15.exe /o > nul', check_for => 'Nmake.exe', remove => 1, ); die <<'END_MESSAGE' unless $rv; ------------------------------------------------------------------------------- Since you are using Microsoft Windows, you will need the 'nmake' utility before installation. It's available at: http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe or ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe Please download the file manually, save it to a directory in %PATH% (e.g. C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to that directory, and run "Nmake15.exe" from there; that will create the 'nmake.exe' file needed by this module. You may then resume the installation process described in README. ------------------------------------------------------------------------------- END_MESSAGE } 1; Mail-Mbox-MessageParser-1.5105/inc/Module/Install/WriteAll.pm000644 000765 000024 00000002376 12521305603 024264 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::WriteAll; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.14'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } sub WriteAll { my $self = shift; my %args = ( meta => 1, sign => 0, inline => 0, check_nmake => 1, @_, ); $self->sign(1) if $args{sign}; $self->admin->WriteAll(%args) if $self->is_admin; $self->check_nmake if $args{check_nmake}; unless ( $self->makemaker_args->{PL_FILES} ) { # XXX: This still may be a bit over-defensive... unless ($self->makemaker(6.25)) { $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL'; } } # Until ExtUtils::MakeMaker support MYMETA.yml, make sure # we clean it up properly ourself. $self->realclean_files('MYMETA.yml'); if ( $args{inline} ) { $self->Inline->write; } else { $self->Makefile->write; } # The Makefile write process adds a couple of dependencies, # so write the META.yml files after the Makefile. if ( $args{meta} ) { $self->Meta->write; } # Experimental support for MYMETA if ( $ENV{X_MYMETA} ) { if ( $ENV{X_MYMETA} eq 'JSON' ) { $self->Meta->write_mymeta_json; } else { $self->Meta->write_mymeta_yaml; } } return 1; } 1; Mail-Mbox-MessageParser-1.5105/inc/Module/Install/PRIVATE/Add_Test_Target.pm000644 000765 000024 00000001055 12521305601 026637 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::PRIVATE::Add_Test_Target; use strict; use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base ); $VERSION = sprintf "%d.%02d%02d", q/0.10.0/ =~ /(\d+)/g; # --------------------------------------------------------------------------- sub Add_Test_Target { my ($self, $target, $test) = @_; *main::MY::postamble = sub { return &Module::AutoInstall::postamble . <include('Module::Install::GetProgramLocations', 0); $self->configure_requires('File::Slurp', 0); my %info = ( 'cat' => { default => 'cat', argname => 'CAT' }, 'diff' => { default => 'diff', argname => 'DIFF' }, 'grep' => { default => 'grep', argname => 'GREP', types => { 'GNU' => { fetch => \&get_gnu_version, numbers => '[2.1,)', }, }, }, 'lzip' => { default => 'lzip', argname => 'LZIP', types => { 'GNU' => { fetch => \&get_gnu_version, numbers => '[1.3,)', }, }, }, 'xz' => { default => 'xz', argname => 'XZ' }, 'gzip' => { default => 'gzip', argname => 'GZIP' }, 'bzip' => { default => 'bzip2', argname => 'BZIP', types => { 'bzip2' => { fetch => \&get_bzip2_version, numbers => '[1.0,)', }, }, }, 'bzip2' => { default => 'bzip2', argname => 'BZIP2', types => { 'bzip2' => { fetch => \&get_bzip2_version, numbers => '[1.0,)', }, }, }, ); # XXX: disable grep support by pretending like the user doesn't have grep # installed delete $info{'grep'}; my %locations = $self->get_program_locations(\%info); # XXX: pretend we didn't find grep $locations{'grep'} = { 'version' => undef, 'type' => undef, 'path' => undef }; Update_Config('lib/Mail/Mbox/MessageParser/Config.pm', \%locations); Update_Config('old/Mail/Mbox/MessageParser/Config.pm', \%locations) if -e 'old/Mail/Mbox/MessageParser.pm'; return \%locations; } # -------------------------------------------------------------------------- sub Update_Config { my $filename = shift; my %locations = %{ shift @_ }; my $code = read_file($filename); foreach my $program (keys %locations) { if (defined $locations{$program}{'path'}) { $locations{$program}{'path'} = "\'$locations{$program}{'path'}\'"; } else { $locations{$program}{'path'} = "undef"; } } if ($code =~ /'programs'\s*=>\s*{\s*?\n([^}]+?) *}/s) { my $original_programs = $1; my $new_programs = ''; foreach my $program (sort keys %locations) { $new_programs .= " '$program' => $locations{$program}{'path'},\n"; } $code =~ s/\Q$original_programs\E/$new_programs/; } else { die "Couldn't find programs hash in $filename"; } write_file($filename, $code); } Mail-Mbox-MessageParser-1.5105/inc/Module/Install/PRIVATE/Enable_Verbose_CPAN_Testing.pm000644 000765 000024 00000002072 12521305603 031015 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::PRIVATE::Enable_Verbose_CPAN_Testing; use strict; use warnings; use lib 'inc'; use Module::Install::AutomatedTester(); use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base ); $VERSION = sprintf "%d.%02d%02d", q/0.1.0/ =~ /(\d+)/g; our( $ORIG_TEST_VIA_HARNESS ); # --------------------------------------------------------------------------- sub enable_verbose_cpan_testing { my ($self, @args) = @_; # Tell Module::Install to include this, since we use it. $self->perl_version('5.005'); $self->include_deps('Module::Install::AutomatedTester', 0); return unless Module::Install::AutomatedTester::auto_tester(); unless(defined $ORIG_TEST_VIA_HARNESS) { $ORIG_TEST_VIA_HARNESS = MY->can('test_via_harness'); no warnings 'redefine'; *MY::test_via_harness = \&_force_verbose; } } sub _force_verbose { my($self, $perl, $tests) = @_; my $command = MY->$ORIG_TEST_VIA_HARNESS($perl || '$(FULLPERLRUN)', $tests); $command =~ s/\$\(TEST_VERBOSE\)/1/; return $command; } 1; Mail-Mbox-MessageParser-1.5105/inc/Module/Install/PRIVATE/Fix_Sort_Versions.pm000644 000765 000024 00000001065 12521305603 027272 0ustar00coppitstaff000000 000000 #line 1 package Module::Install::PRIVATE::Fix_Sort_Versions; use strict; use warnings; use File::Slurp; use vars qw( @ISA $VERSION ); use Module::Install::Base; @ISA = qw( Module::Install::Base ); $VERSION = sprintf "%d.%02d%02d", q/0.1.0/ =~ /(\d+)/g; # --------------------------------------------------------------------------- sub fix_sort_versions { my ($self, $file) = @_; $self->configure_requires('File::Slurp', 0); print "Fixing POD in $file\n"; my $code = read_file($file); $code =~ s|^=encoding.*||m; write_file($file, $code); } 1;