Re: floppy driver unusable
Dag-Erling Smorgrav <[EMAIL PROTECTED]> wrote: > After Joerg's late-June round of brea^H^H^H^Hcommits to the floppy > driver, I can no longer use my floppy drive. Any attempt to access > the drive (with a known-good writeable floppy in it) simply hangs in > physst state until I eject the disk, at which point it fails with a > hard read error with "No status". Well, it works for me here, but you knew that, of course. :-) > fdc0: at port 0x3f2-0x3f5,0x3f7 irq 6 drq 1 on isa0 > fdc0: FIFO enabled, 8 bytes threshold > fd0: <1440-KB 3.5" drive> on fdc0 drive 0 > fd0: hard error reading fsbn 0 of 0-7 (No status) > fd0: hard error writing fsbn 0 of 0-35 (No status) > fd0: hard error reading fsbn 0 (No status) Do you have any further input? Does fdformat still work? Does "fdread -I 1" return you a sector ID? There weren't any commit so far until yesterday that was supposed to affect the normal operation of floppies at all (only cosmetics and additions). Can you pin it down to which of the changes has broken it for you? Can you compile with options FDC_DEBUG, and then turn on debugging on the drive? In -current, you can do this with "fdcontrol -d1 /dev/fd0", in older versions you need DDB for it. Debugging output is huge and unreadable, please send it to me privately, not to the list. p.s.: If you'd sent me a Cc of this message, i would have responded quicker. I can't afford it to scan this list on a daily basis. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: diskcheckd goes nuts on /dev/cd0
Bruce Evans <[EMAIL PROTECTED]> wrote: > I think diskcheckd.conf should check no disks by default. My opinion, too. (After i suddenly noticed it checks anything by default...) > Checking is bad for many types of disks. It's bad for all disks on > laptops running off batteries. And for many other disks, it doesn't gain anything. Except for laptops, i generally don't buy ATA disks. For a good SCSI disk, disckcheck won't report anything. It has the only side effect of remapping a bad block, perhaps a bit earlier than it would have been remapped during normal operation. (If the disk really goes bad, it's very likely that diskcheckd will be too late to detect it anyway.) So for me, diskcheckd could only be useful if it would also read out the SCSI defect lists, and compare them on a daily basis so i get an early warning about remap activity. I'll add the knob to turn it off in sysinstall, which phk forgot to add when he added it to rc.conf. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: Cross building FYI
Warner Losh <[EMAIL PROTECTED]> writes: > cc: ../../libbfd/libbfd.a: No such file or directory > cc: ../../libiberty/libiberty.a: No such file or directory > cc: ../../libopcodes/libopcodes.a: No such file or directory > *** Error code 1 Funny, mine got past that and didn't die until much later. DES -- Dag-Erling Smorgrav - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: sysctl -A prints garbage
Dag-Erling Smorgrav <[EMAIL PROTECTED]> writes: > Jens Schweikhardt <[EMAIL PROTECTED]> writes: > > -current as of Jun 17, even with an updated sysctl.c revision 1.36, > > prints garbage when used with -A: > Remove the line that says "offset--;" near the end of > sys/vm/vm_zone.c. Ick, what am I saying - this alone isn't enough, you need to increment offset after setting *offset to '\0'. Index: vm_zone.c === RCS file: /home/ncvs/src/sys/vm/vm_zone.c,v retrieving revision 1.45 diff -u -u -r1.45 vm_zone.c --- vm_zone.c 2001/07/04 16:20:28 1.45 +++ vm_zone.c 2001/07/09 01:09:51 @@ -451,8 +451,7 @@ offset += len; } mtx_unlock(&zone_mtx); - offset--; - *offset = '\0'; + *offset++ = '\0'; error = SYSCTL_OUT(req, tmpbuf, offset - tmpbuf); out: FREE(tmpbuf, M_TEMP); Untested, caveat emptor, etc. DES -- Dag-Erling Smorgrav - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: Cross building FYI
This is, btw, aas good an example as any as I've seen that nightly builds for features you're interested being crucial. On Sun, 8 Jul 2001, Warner Losh wrote: > > % uname -m > i386 > % make buildworld MACHINE_ARCH=alpha > ... > cc -nostdinc -O -pipe -mcpu=ev4 -mcpu=ev4 -D_GNU_SOURCE -I- -I. >-I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd >-I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../libbfd/alpha >-I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils/include > >-I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils/gas > >-I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils/gas/config > >-I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils > -DVERSION=\""2.11.2 [FreeBSD]"\" -DBFD_VERSION=\""2.11.2 [FreeBSD]"\" >-I/usr/obj/alpha/home/imp/FreeBSD/src/i386/usr/include -static -o as app.o as.o >atof-generic.o atof-ieee.o bignum-copy.o cond.o dwarf2dbg.o ecoff.o expr.o >flonum-copy.o flonum-konst.o flonum-mult.o frags.o hash.o input-file.o input-scrub.o >listing.o literal.o macro.o messages.o output-file.o read.o sb.o st! ab! > s.o subsegs.o symbols.o write.o depend.o ehopt.o obj-elf.o tc-alpha.o >../../libbfd/libbfd.a ../../libiberty/libiberty.a ../../libopcodes/libopcodes.a > cc: ../../libbfd/libbfd.a: No such file or directory > cc: ../../libiberty/libiberty.a: No such file or directory > cc: ../../libopcodes/libopcodes.a: No such file or directory > *** Error code 1 > > Stop in /home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd. > > So it looks like things are broken. :-( > > Warner > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: sysctl -A prints garbage
Jens Schweikhardt <[EMAIL PROTECTED]> writes: > -current as of Jun 17, even with an updated sysctl.c revision 1.36, > prints garbage when used with -A: Remove the line that says "offset--;" near the end of sys/vm/vm_zone.c. DES -- Dag-Erling Smorgrav - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Request for change: Disabling filename globbing by ftpd(8)
Greetings, * Conclusion and suggestion first: Csh-style filename globbing in ftpd(8) is *evil*. Please apply the attached patch to make it an option and disable it in the default configuration. * What the patch does: It makes the filename globbing an optional feature, controlled by the new flag -g. -g none disables the globbing entirely (default), -g tildeonly enables home expansion (aka tilde expansion) only, and -g all enables all expansions using glob(3). The current behavior can be kept by using -g all. * My reason to it: Many FTP clients, especially automated mirroring tools and GUI-based ones, and most notably the `mget' command commonly found on standard FTP clients, do one thing in common: they obtain the name of the remote repository using NLST command then subsequently use some or all of the returned names as the argument to other commands such as RETR. In order for this approach to succeed, arguments to the RETR command must not be parsed in any special way but they must be considered as literal filenames. However, this is not the case with the stock ftpd(8) shipped with FreeBSD; it has a `feature' that expands the argument to RETR/CWD/STOR/... commands in a Csh-like way (i.e. filename globbing, tilde/brace/bracket/ampersand expansions). This changes the semantics of the on-the-wire protocol. RFC 959 does not specify any special handling of pathname arguments, so the change breaks compatibility with any potential client which legitimately assumes no special tweaks to pathnames are necessary. Moreover, commands such as RETR, CWD and STOR only expect an argument that designates a single file or directory; it is impossible to fetch multiple files using RETR, or chdir into multiple directories at once :-). In this context, globbing by ftpd is nothing more than an useful shorthand (e.g. we can say "cd abc*" instead of "cd abcdefghijklmnopq"), which is much better to be done on the client side. Example: the remote directory contains two files, `A.jpg' and `A{3}.jpg' and the client tries to `mget A*.jpg'. Step 1. The client sends "NLST" command. Step 2. The server returns a full listing of the remote directory. Step 3. The client searches through the list and picks up the two files. Step 4. The client performs `RETR A.jpg', which succeeds. Step 5. The client performs `RETR A{3}.jpg', which fails because the server performs brace expansion on the name and tries to send `A3.jpg'. Any comments and suggestions are welcomed. Thank you. Best Regards, Eugene diff -urN ftpd/ftpcmd.y ftpd.new/ftpcmd.y --- ftpd/ftpcmd.y Wed Apr 18 03:03:52 2001 +++ ftpd.new/ftpcmd.y Mon Jul 9 01:34:29 2001 @@ -71,6 +71,7 @@ #include #include "extern.h" +#include "types.h" extern union sockunion data_dest, his_addr; extern int logged_in; @@ -92,6 +93,8 @@ extern char tmpline[]; extern int readonly; extern int noepsv; +extern globbing_t globbing; +extern char curname[MAXLOGNAME]; off_t restart_point; @@ -924,7 +927,7 @@ * processing, but only gives a 550 error reply. * This is a valid reply in some cases but not in others. */ - if (logged_in && $1) { + if (logged_in && globbing == GLOBBING_ALL && $1) { glob_t gl; int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE; @@ -944,6 +947,37 @@ } globfree(&gl); free($1); + } else if (globbing == GLOBBING_TILDEONLY && + $1[0] == '~') { + /* do tilde expansion by ourselves */ + char *dir, *newdir, *afteruser, afteruser_ch; + struct passwd *pw; + $$ = $1; + do { + dir = strdup($1); + if (dir == NULL) + break; + afteruser = strchr(dir, '/'); + if (afteruser == NULL) + afteruser = strchr(dir, '\0'); + afteruser_ch = *afteruser; + *afteruser = '\0'; + pw = getpwnam((dir[1] != '\0') + ? dir + 1 : curname); + *afteruser = afteruser_ch; + if (pw == NULL || pw->pw_dir == NULL) + break; + asprintf(&newdir, "%s%s", + pw->pw_dir, afteruser); +
Cross building FYI
% uname -m i386 % make buildworld MACHINE_ARCH=alpha ... cc -nostdinc -O -pipe -mcpu=ev4 -mcpu=ev4 -D_GNU_SOURCE -I- -I. -I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd -I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../libbfd/alpha -I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils/include -I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils/gas -I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils/gas/config -I/home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd/../../../../../contrib/binutils -DVERSION=\""2.11.2 [FreeBSD]"\" -DBFD_VERSION=\""2.11.2 [FreeBSD]"\" -I/usr/obj/alpha/home/imp/FreeBSD/src/i386/usr/include -static -o as app.o as.o atof-generic.o atof-ieee.o bignum-copy.o cond.o dwarf2dbg.o ecoff.o expr.o flonum-copy.o flonum-konst.o flonum-mult.o frags.o hash.o input-file.o input-scrub.o listing.o literal.o macro.o messages.o output-file.o read.o sb.o stab! s.o subsegs.o symbols.o write.o depend.o ehopt.o obj-elf.o tc-alpha.o ../../libbfd/libbfd.a ../../libiberty/libiberty.a ../../libopcodes/libopcodes.a cc: ../../libbfd/libbfd.a: No such file or directory cc: ../../libiberty/libiberty.a: No such file or directory cc: ../../libopcodes/libopcodes.a: No such file or directory *** Error code 1 Stop in /home/imp/FreeBSD/src/gnu/usr.bin/binutils/as/alpha-freebsd. So it looks like things are broken. :-( Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
original medicines
Title: Untitled Dear colleagues and friends, We are pleased to inform you that we are looking forward to collaboration in the production and distribution of revolutionary medicines with NO ANALOGICAL origin in the field of : - Immunostimulants - monocomponent natural products ! - Antioxidants - unusually high capacity of effect ! - Biostimulators - weight enhancement in the breeding industry ! - Strength stimulation and restoration - great with racing horses and dogs ! Their efficiency has been proved also by hardly curable cases of cancer, infections and radiation. For more information please visit us at www.benin.cjb.net This offer is addressed not only to pro medical experts, but also to the public who appreciate the real discoveries ! We believe we can make more money TOGETHER ! To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
Mark Peek <[EMAIL PROTECTED]> writes: > It probably works since i386 and pc98 are similar. I'm trying an alpha > cross build as we speak. So far I needed to apply this patch to get > around having -mcpu=ev4 being fed to the i386 compiler during the > build tools phase. My -DNOPERL build broke in games/fortune in the "building everything" phase because the Alpha compiler tried to use the i386 strfile.o that was left over from the bootstrap phase. DES -- Dag-Erling Smorgrav - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Cross compiling (was Re: chgrp broken on alpha systems)
[cc's trimed] In messageMark Peek writes: : It probably works since i386 and pc98 are similar. I'm trying an : alpha cross build as we speak. So far I needed to apply this patch to : get around having -mcpu=ev4 being fed to the i386 compiler during the : build tools phase. Sure makes some odd pathnames, but so far it seems to be working for me. I waited until I was into stage 4 to send this message. When I started seeing command lines like: cc -nostdinc -O -pipe -mcpu=ev4 -mcpu=ev4 -I/home/imp/FreeBSD/src/lib/libmd -I/usr/obj/alpha/home/imp/FreeBSD/src/i386/usr/include -c /home/imp/FreeBSD/src/lib/libmd/sha0c.c -o sha0c.o which tells me that this is a good patch. Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
At 1:49 PM -0600 7/8/01, Warner Losh wrote: >In message <[EMAIL PROTECTED]> "David O'Brien" writes: >: On Sun, Jul 08, 2001 at 07:03:26PM +0200, Dag-Erling Smorgrav wrote: >: > Bruce Evans <[EMAIL PROTECTED]> writes: >: > > [explaining how to build an LP64 world on i386] >: > >: > I just had a major "doh" moment... >: > >: > # cd /usr/src >: > # make MACHINE_ARCH=alpha buildworld >& /var/log/world.alpha & >: > [1] 13655 >: > >: > Ought to catch any Alpha WARNS fuckups. Or did I overlook something? >: >: It doesn't work anymore. > >What's the misfunction? I do the above with MACHINE_ARCH=pc98 on my >i386 box all the time to build pc98 worlds. It probably works since i386 and pc98 are similar. I'm trying an alpha cross build as we speak. So far I needed to apply this patch to get around having -mcpu=ev4 being fed to the i386 compiler during the build tools phase. Index: Makefile.inc1 === RCS file: /cvs/freebsd/src/Makefile.inc1,v retrieving revision 1.205 diff -u -r1.205 Makefile.inc1 --- Makefile.inc1 2001/06/14 01:35:22 1.205 +++ Makefile.inc1 2001/07/08 20:06:34 @@ -185,6 +185,7 @@ # build-tool stage TMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ + MACHINE_ARCH=`uname -m` \ PATH=${TMPPATH} TMAKE=${TMAKEENV} ${MAKE} -f Makefile.inc1 Mark To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
In message <[EMAIL PROTECTED]> "David O'Brien" writes: : On Sun, Jul 08, 2001 at 07:03:26PM +0200, Dag-Erling Smorgrav wrote: : > Bruce Evans <[EMAIL PROTECTED]> writes: : > > [explaining how to build an LP64 world on i386] : > : > I just had a major "doh" moment... : > : > # cd /usr/src : > # make MACHINE_ARCH=alpha buildworld >& /var/log/world.alpha & : > [1] 13655 : > : > Ought to catch any Alpha WARNS fuckups. Or did I overlook something? : : It doesn't work anymore. What's the misfunction? I do the above with MACHINE_ARCH=pc98 on my i386 box all the time to build pc98 worlds. Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
sysctl -A prints garbage
hello, world\n -current as of Jun 17, even with an updated sysctl.c revision 1.36, prints garbage when used with -A: # sysctl -A|grep VM VMSPACE: 224,0, 51, 57,27031 VM OBJECT:96,0, 7216, 1188, 495393ÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞ can anyone reproduce this? Regards, Jens -- Jens Schweikhardt http://www.schweikhardt.net/ SIGSIG -- signature too long (core dumped) To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
vty numbering with devfs
Pre-DEVFS, vty's were named ttyv0-ttyvf, ttyv10-ttyv1f, etc. When DEVFS is used, the vty's are numbered base-36 instead of base-16. This breaks X if the first 16 tty's are in use. What I want to know is whether we intended to implement this new scheme of tty numbering (to be consistant across all devices perhaps?) or whether this change was unintended. Either case, this should be a quick fix in either syscons or X. (Yes, I'm one of those loons who use 36 vty's) -Jon To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
On Sun, Jul 08, 2001 at 07:03:26PM +0200, Dag-Erling Smorgrav wrote: > Bruce Evans <[EMAIL PROTECTED]> writes: > > [explaining how to build an LP64 world on i386] > > I just had a major "doh" moment... > > # cd /usr/src > # make MACHINE_ARCH=alpha buildworld >& /var/log/world.alpha & > [1] 13655 > > Ought to catch any Alpha WARNS fuckups. Or did I overlook something? It doesn't work anymore. -- -- David ([EMAIL PROTECTED]) To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
Bruce Evans <[EMAIL PROTECTED]> writes: > [explaining how to build an LP64 world on i386] I just had a major "doh" moment... # cd /usr/src # make MACHINE_ARCH=alpha buildworld >& /var/log/world.alpha & [1] 13655 Ought to catch any Alpha WARNS fuckups. Or did I overlook something? DES -- Dag-Erling Smorgrav - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
On Sat, 7 Jul 2001, David O'Brien wrote: > On Sat, Jul 07, 2001 at 01:02:28PM -0700, Matthew Jacob wrote: > > > > > > On Sat, 7 Jul 2001, David O'Brien wrote: > > > > > On Sat, Jul 07, 2001 at 11:54:26AM -0700, Matthew Jacob wrote: > > > > > > > > > > > > On Sat, 7 Jul 2001, David O'Brien wrote: > > > > > > > > > On Fri, Jul 06, 2001 at 03:08:04PM +1000, Peter Jeremy wrote: > > > > > > i386 type Alpha type > > > > > > clock_t unsigned long int > > > > > > > > > > We could make these the same (not sure why they aren't). No good reason. I think "unsigned long" is used on i386's because that was the largest type. This was apparently considered to be too large on alphas, so it was changed to a 32 bit type. Changing it from a signed type to an unsigned type was just a pessimization of its range. With the alpha pessimizations of the scale factors (_BSD_CLOCKS_PER_SEC_ = 100 and _BSD_CLK_TCK_ = 100), the range of a 31-effective-bits clock_t is 24.855 days. A 32-bit unsigned clock_t would have a range of 49.710 days. POSIX.1 only requires a range of 1 day. > > > > because on alpha long == 64 bits > > > > > > What about the otherway around?? Like use "int" or "unsigned int" on > > > both. > > > > Let's use 64 bits for both. > > > > You're retirement has been put off to 2043 at least... clock_t has nothing to do with calendar times. > I don't know what clock_t is used for (kernel version of time_t?). > But the general agreement was to leave time as a 32-bit value on the > Alpha in order to match (1) FreeBSD/i386 and (2) OSF/1,Digital Unix,Tru64. It is used (entirely outside of the kernel) for the following interfaces: clock_t clock(void);(ISO C) clock_t times(struct tms *);(POSIX.1) struct tms members: clock_t tms_utime clock_t tms_stime clock_t tms_cutime clock_t tms_cstime See clocks.7 for more details about whey these interfaces are currently not useful. (To be as useful as getrusage(), CLOCKS_PER_SEC must be at least 10^6. This gives at least 86.4e9 "ticks" per day, so clock_t must have at least 37 bits.) Bruce To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: chgrp broken on alpha systems
On 8 Jul 2001, Dag-Erling Smorgrav wrote: > "David O'Brien" <[EMAIL PROTECTED]> writes: > > OR build a 64-bit long (LP64) x86 gcc and test compile with that also. > > BDE found *lots* of 64-bit dirty code using this technique. > > Mind revealing how that's done? Compiling [g]cc with -DLONG_TYPE_SIZE=64 gives an I32L64P32 compiler (you can also try setting CHAR_TYPE_SIZE through LONG_DOUBLE_TYPE_SIZE to unusual values to get a more exotic compiler). Then fix some build issues (mainly with quad functions in libc; I just hack around these by copying the 3 relevant 32-bit quad objects to the libc obj directory), and fix all the unportable code (I fixed enough to bootstrap but haven't committed everything. I build the world on a normal 32-bit i386 using something like: CC='cc -D_LARGE_LONG' \ DESTDIR=/c/z/root \ LONG_TYPE_SIZE=64 \ MAKEOBJDIRPREFIX=/c/z/obj \ time -l make -s world > /tmp/world.out 2>&1 (-D_LARGE_LONG is a wrong hack. It affects , but should only be affected for the target.). Bruce To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message