i actually read every release notes (i follow through RSS) and didn't see anything regarding backups.It's a deliberate change, well published in change logs. Did you read through relevant "new version announcement post" before installing a beta version?
Already a "problem" since I started working with computers (mind you, that's 1980) and I always tried to follow that rule: NO spaces or special characters in filenames.Sample: YYYYMMDDHHMM_DEVICENAME_OTHERSHORTINTHO.rsc
I know that it's rather a rethorical question and does not help in that particular situation but KISS rule is the rule of thumb across the IT territories for me.
; Command separator
& Background execution
( ) Command grouping
| Pipe
* ? [ ] ~ Filename metacharacters
{ } String expansion characters. Usually don't require quoting.
> < & ! Redirection symbols
! ^ History substitution, quick substitution
" ' \ Using in quoting other characters
$ Variable substitution
newline space tab Word separators
" " Everything between " and " is taken literally, except
for the following characters that keep their
special meaning:
$ Variable substitution will occur
` Command substitution will occur
" This marks the end of the double quote
\ Escape next character
! The history character
newline The newline character
' ' Everything between ' and ' is taken literally except
for ! (history) and another ', and newline.
\ The character following a \ is taken literally. Use
within " " to escape ", $ and `. Often used to escape
itself, spaces, or newlines. Always needed to escape a
history character (usually !).
:local Device [/system identity get name]
:local IntegerLength [:len $Device]
:local Project ""
:for Encoding from=0 to=$IntegerLength do={
:local Characters [:pick $Device $Encoding]
:if ($Characters = " " || $Characters = "|" || $Characters = "*") do={:set Characters "_"}
:set Project ($Project.$Characters)
}
Wondering again: Does anyone intentionaly use characters clashing even in theory with used filesystems?"replace reserved characters..." should be marked as Bold or at least !
Could someone please confirm if those are special characters not allowed?
https://engineering.purdue.edu/ECN/Supp ... aractersIn
....
https://iubemcenter.indiana.edu/equipme ... cters.html
...
Windows…utilize UTF-8
what system are you talking about exactly where space is a reserved character? every system has supported space in filenames for as long as i've known.common sense would dictate not to use special chars in filenames anyway, especially when one can download files to other systems not supporting specific characters in filenames
Sir mrz, for who that is not an expert like you, but learned using MikroTik devices from time to time (sorry not all your users are PRO), could you please spend few minutes writing a clear statement like "attention this version will break scripts if you are using special chars (like space, etc...), you can fix using..."common sense would dictate not to use special chars in filenames...
You must be young.what system are you talking about exactly where space is a reserved character? every system has supported space in filenames for as long as i've known.
comma would be nice too.
Still, given the overall (IMHO) instability of what Mikrotik calls "stable", let alone the (still IMHO) pre-alpha status of what they call "beta" I am surprised that professionals with tens, hundreds or thousands devices would update/upgrade and only later find out the issue, besides what (for those people) motivates the "rush" to update to a "beta" (again read as pre-alpha) version?*) console - replace reserved characters to backup and certificate export file names with underscores;
very good point.But I guess it just seems odd to add more "file system things" like /file/add, ROSE/SMB, and DLNA now...while also adding restriction on stuff like spaces in file names. e.g. imagine someone one day may want to rename some movie with a space on RouterOS DLNA server...
Windows defaults to UTF-16 as its internal representation but has strong support for working with UTF-8 in addition to the legacy CP-1252 and similar encodings.
$ echo 'C:\WINDOWS' | iconv -f utf-8 -t shift-jis | iconv -f shift-jis -t utf-8
iconv: iconv(): Illegal byte sequence
C:%
But that is still beside the point. Prohibiting spaces in file names breaks compatibility
I can see being annoyed. But likely right call. I'm with @Larsa, these breaking changes should not be handled so cavalier.as this is likely going to go nowhere, i guess i'l just have to fix this on a per device basis as i update them.
So, what are the characters not allowed?
I'd think there is some "space" for debate on file names.Guys, we have rights to complain but I doubt they will revert the change and allow spaces in identity.
That be another complaint tooSo, what are the characters not allowed?
[me@Mikrotik] > :put "\E2\9D\A4"
❤
[me@Mikrotik] > /system identity set name="\E2\9D\A4"
[me@\E2\9D\A4] > # it should be a heart if used via SSH with xterm (which processes UTF-8)
Not really. The rename happens automatically. It's not an :error. So a typical ":do {} on-error=" or newer ":onerror err in={} do={}" cannot capture it.Any suggestion to fix the identity name in scripts or get the edited backup file name created by the system?
The issue with Vogon poetry is not ASCII, and replacing spaces with underscore doesn't affect its beauty, the problem is with commas, periods and other punctuation, which are an integral part of the typical structure of the metrics:I'd rather ask "which characters are safe to use?" ... and the answer would be: the same as the last 50 years: US ASCII alphabet (a-z and A-Z), roman numerals (0-9), underscore (_), dash (-) ... and that's about it. So no punctuation marks, no other language specific characters, no financial characters, no math symbols, no vogon poetry, no nothing.
it would become something like:Gashee morphousite, thou expungiest quoopisk!
Gashee_morphousite-_thou_expungiest_quoopisk_
There is a thing called best practices, and is well known through-out that any filename with spaces are a headache to deal with and pain in the ass, and not a recommended approach.I'd prefer if we focus on OP's issue of how to best preserve script compatibility when it comes to potential limitations in file naming.
In my opinion, at an absolute minimum, "spaces" and printable 7-bit ASCII characters that are compatible across common file systems (Windows, Linux, macOS) should be supported. This would provide a reasonable compromise between flexibility and compatibility.
@infabo The real question to be asked is: why do you need them?
What has noclobber got to do with "legacy shell scripting problem" or spaces in filename?@infabo The real question to be asked is: why do you need them?
Furthermore, modern file systems have no inherent problems storing spaces and neither does NFS. You can easily mount NFS shares that include spaces. The "spaces" issue is primarily a legacy shell scripting problem which is why the 'noclobber' option was invented.
To be fair, MT did state the obvious, that's on you relying on using spaces in filenames.To truly understand the fundamental issue of breaking compatibility, you need experience with mission critical support systems for backup, version control and monitoring. One problem that many might not be aware of is that since Mikrotik isn't a major player in the enterprise sector, ready-made support for ROS is often lacking and must be developed in-house. Changes that break compatibility force unnecessary spending on consultants and internal rework, redirecting resources away from more productive work.
Hobbyists or people working with smaller setups often lack this insight.
What's new in 7.15beta4 (2024-Mar-04 08:04):
<snip>
*) console - replace reserved characters to backup and certificate export file names with underscores;
</snip>
@t0mm13b: *) console - replace reserved characters to backup and certificate export file names with underscores;
Why does it matter what the OP's reason?@Larsa I have not addressed any question towards you.
i'm OP.@Larsa I have not addressed any question towards you.
Only time will tell, checked CVE, nada, blog at mt has not been updated recently.<snip/>@Larsa I have not addressed any question towards you.
Is there some buffer overflow issue that this fixes, if so it should be flagged as security update.