Jump to content
IGNORED

TIPI Usage and Support


jedimatt42

Recommended Posts

that can be fixed with some edits to the /etc/samba/smb.conf

 

either I can load the widelinks module and enable it, or create a separate share to the /media/usb0 mount point... creating a separate share is considered a better practice due to vulnerabilities in the widelinks functionality.

 

I'll have to think about the right thing to do.

Link to comment
Share on other sites

@jedimatt42  Just my thoughts, and not how I look at a business network, for certain.  I think the security factor here would be allowing an open share access to a critical path or file, like accessing /etc or /etc/passwd directly, &c.  In this case, there would seem to be no way to create such a link unless the TIPI is already compromised.  The web service itself might be exploited to create the link necessary.  Now, it could be possible to trick the TIPI in to doing things with a page retrieved via curl, so there is a potential for outside compromise.  All this considered, I think if the TIPI is going to be compromised, it is going to be by something of larger concern within the network.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

18 minutes ago, OLD CS1 said:

@jedimatt42  Just my thoughts, and not how I look at a business network, for certain.  I think the security factor here would be allowing an open share access to a critical path or file, like accessing /etc or /etc/passwd directly, &c.  In this case, there would seem to be no way to create such a link unless the TIPI is already compromised.  The web service itself might be exploited to create the link necessary.  Now, it could be possible to trick the TIPI in to doing things with a page retrieved via curl, so there is a potential for outside compromise.  All this considered, I think if the TIPI is going to be compromised, it is going to be by something of larger concern within the network.

 

One of the other factors is that the documentation on the feature to enable wide links is out of date with the feature, and I suspect at some point the SMBd engineers will just pull it. I've made it work locally, but I had to add the 'vfs objects = widelinks' to load the widelinks module, even though the 'current' docs say that is implicit. They also say it may become explicit in some future. But then that future has already arrived, and they didn't care enough about the feature to update the docs.

 

Ideally, I'd fix it so 'USB' under tipi_disk is not present unless the drive is mounted, and that it is the mount point. 

  • Like 1
Link to comment
Share on other sites

This seems to indicate the security problem was addressed.

 

https://unix.stackexchange.com/questions/505170/can-the-samba-security-setting-wide-links-be-bypassed-using-a-race-condition

 

What about a cron job that checks for a USB drive then creates the symlink if one is mounted?  Does Linux have something like event triggers?

 

Is this still viable in Linux?

 

https://unix.stackexchange.com/questions/47337/run-shell-script-when-new-volume-mounted

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

So, I've been using rbrito/usbmount: Simple set of scripts to automount removable devices for a Linux system (github.com)

 

This has a mount trigger and umount trigger I can add scripts to. 

 

I've modified the setup so that it dynamically adds and removes the mountpoint under /home/tipi/tipi_disk for each storage device as they are added or removed. And it performs a bind mount eliminating the issues with the softlinks and smbd.

 

Devices show up in TIPI.USB0, TIPI.USB1, etc.. 

 

This is in update 2.40 which is now available.

 

Note: there is a chance this will work fine for those booting off USB. I personally have not been able to 'reboot' if booted off USB. That is unsupported territory, or will require the community to provide the support.

  • Like 5
Link to comment
Share on other sites

On 10/16/2022 at 1:13 PM, jedimatt42 said:

So, I've been using rbrito/usbmount: Simple set of scripts to automount removable devices for a Linux system (github.com)

 

This has a mount trigger and umount trigger I can add scripts to. 

 

I've modified the setup so that it dynamically adds and removes the mountpoint under /home/tipi/tipi_disk for each storage device as they are added or removed. And it performs a bind mount eliminating the issues with the softlinks and smbd.

 

Devices show up in TIPI.USB0, TIPI.USB1, etc.. 

 

This is in update 2.40 which is now available.

 

Note: there is a chance this will work fine for those booting off USB. I personally have not been able to 'reboot' if booted off USB. That is unsupported territory, or will require the community to provide the support.

Just a FYI, I was not able to see my USB flashdrive plugged into the TIPI that has the USB-SSD setup.

 

Beery

 

  • Like 1
Link to comment
Share on other sites

@GDMike said "I wish it (DM2K) was an option from the tipi menu" in thread: 

 

What is it that users are calling the tipi menu?

 

I know there is the 'mega menu for tipi' program, but it comes out of the box with a DM2K entry and is very end user customizable. So that cannot be the one referred to.  

 

FCMENU for Force Command is also end user configurable, and also not TIPI specific.

 

Everyone has different terminology... And everyone uses this old computer differently... I just want to understand what is being asked for, as it might make enough sense for me to implement.

  • Like 2
Link to comment
Share on other sites

6 minutes ago, jedimatt42 said:

@GDMike said "I wish it (DM2K) was an option from the tipi menu" in thread: 

 

What is it that users are calling the tipi menu?

 

I know there is the 'mega menu for tipi' program, but it comes out of the box with a DM2K entry and is very end user customizable. So that cannot be the one referred to.  

 

FCMENU for Force Command is also end user configurable, and also not TIPI specific.

 

Everyone has different terminology... And everyone uses this old computer differently... I just want to understand what is being asked for, as it might make enough sense for me to implement.

Probably not what @GDMike was referencing, but i the program that is executed with CALL TIPI, TIPICFG, i myself have referred to as "The Tipi Menu", as it is where i go (albeit rarely) to change TIPI specific things like dsk mappings and apply updates.

  • Like 3
Link to comment
Share on other sites

40 minutes ago, jrhodes said:

Probably not what @GDMike was referencing, but i the program that is executed with CALL TIPI, TIPICFG, i myself have referred to as "The Tipi Menu", as it is where i go (albeit rarely) to change TIPI specific things like dsk mappings and apply updates.

CALL TIPI("TIPI.DM2K") works great if you have DM2K in your root folder..  I also have the latest version at HTTP://ftp.whtech.com/TIPI/DM2K  which you can load with CALL TIPI("PI.HTTP:///ftp.whtech.com/TIPI/DM2K")  or if you set a URI to that url then "URI1.DM2K"

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

8 minutes ago, arcadeshopper said:

CALL TIPI("TIPI.DM2K") works great if you have DM2K in your root folder..  I also have the latest version at HTTP://ftp.whtech.com/TIPI/DM2K  which you can load with CALL TIPI("PI.HTTP:///ftp.whtech.com/TIPI/DM2K")  or if you set a URI to that url then "URI1.DM2K"

Yep, there are 107 things that work, but I don't want to get confused with solutions here, I want to know what the heck @GDMike was suggesting.

  • Like 1
Link to comment
Share on other sites

1 hour ago, arcadeshopper said:

CALL TIPI("TIPI.DM2K") works great if you have DM2K in your root folder..  I also have the latest version at HTTP://ftp.whtech.com/TIPI/DM2K  which you can load with CALL TIPI("PI.HTTP://tp.whtech.com/TIPI/DM2K")  or if you set a URI to that url then "URI1.DM2K"

I didn't know this, but I really would like to see a menu in the CALL TIPI cfg screen that allowed setting a path and filename along with a shortcut nickname that would launch from that menu. But at least theres another way to launch dm2k..I didn't know that was available..

yes, I know what they say about "WISH"..

Ty

Edited by GDMike
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

6 hours ago, dhe said:

Feature Request.

  I wouldn't mind having a file search function on the web interface.

Similarly, on a real TI, when requesting a directory listing, is it possible to pass a search pattern to the DSR?  I have never worked with a TI file directory outside of something like DM2K.

 

Comparable example, in Commodore DOS when you load a directory via the "$" DOS file token, you can make requests like "$0:TEST*" or "$0:*=P", where "0:" is the drive number, asking for all files starting with "TEST", or all files of type (P)rogram.

  • Like 3
Link to comment
Share on other sites

1 hour ago, OLD CS1 said:

Similarly, on a real TI, when requesting a directory listing, is it possible to pass a search pattern to the DSR?  I have never worked with a TI file directory outside of something like DM2K.

Nope, the directory open just opens a virtual file from which you read records, and accepts no name parameter (if you pass one, it's interpreted as a request for a file instead of the directory.)

 

Link to comment
Share on other sites

1 hour ago, OLD CS1 said:

Similarly, on a real TI, when requesting a directory listing, is it possible to pass a search pattern to the DSR?  I have never worked with a TI file directory outside of something like DM2K.

 

Comparable example, in Commodore DOS when you load a directory via the "$" DOS file token, you can make requests like "$0:TEST*" or "$0:*=P", where "0:" is the drive number, asking for all files starting with "TEST", or all files of type (P)rogram.

 

The DSR routines are quite specific... I suppose we could imagine extensions like modifier device names...   Things could be done to add modifiers to the device. I really haven't found much need... but I enjoy typing. And I did implement 4A side wildcard support in ForceCommand so you can glob on the DIR command as well as many others. I didn't add it to commands that require singular file arguments. This wildcarding works on non-TIPI storage as well.

 

So. now I'm in a trap.. and whatever syntax that could be used for globbing in a TIPI device name extension ( where on a 4A a device name specifies a root dir, a subdir, or a file ) needs to remain non-ambiguous with ForceCommand globbing. Or maybe ForceCommand figures out how to know if a DSR catalog file understands globbing, and just passes them through. 

 

(glob is a technical term)

 

Anything like this will introduce compatibility issues with corner cases, since the 4A filesystem allows pretty much anything but a space in a file name. Smart use of sequences will mitigate coincidence. 

 

Some things can be context aware as well... Like TIPI allows OPEN'ing a text file, and LOAD'ing the same file detecting that it'll need to convert it to a PROGRAM image first.  So.. the LOAD operation could filter out things that can't be LOAD'ed, for instance. 

 

 

 

 

Link to comment
Share on other sites

4 minutes ago, Tursi said:

Nope, the directory open just opens a virtual file from which you read records, and accepts no name parameter (if you pass one, it's interpreted as a request for a file instead of the directory.)

 

We could support something like 'TIPI.G=TEST#?.' to open a catalog on a tipi device, and only include records that match 'TEST#?'

 

The trailing magic subdir named G=TEST#? would be a filter on the device TIPI. Then you could pass that through to programs like DM2K    

 

Link to comment
Share on other sites

Also, there is this fun looking game on the 4A that is like pacman but you type the letter in the adjacent section that you want your character to travel to. This might be a good place to start. ( LOL, just kidding... I do enjoy typing over shortcuts though... easier to remember )

  • Like 1
  • Haha 1
Link to comment
Share on other sites

2 hours ago, jedimatt42 said:

(glob is a technical term)

I groked it.

2 hours ago, jedimatt42 said:

'TIPI.G=TEST#?.'

Your Amiga heritage is showing :)

 

I am not familiar with your ForceCommand syntax, so I have nothing to offer at this point.  I think "$" is a valid character for TI filenames, so that certainly would not work.  The #? strikes me as a wildcard idea for the TI, not just because of its Amiga-ness, but because it is so unique in the computer world.  Are either "#" or "?" valid for TI filenames?

Link to comment
Share on other sites

2 hours ago, OLD CS1 said:

I groked it.

Your Amiga heritage is showing :)

 

I am not familiar with your ForceCommand syntax, so I have nothing to offer at this point.  I think "$" is a valid character for TI filenames, so that certainly would not work.  The #? strikes me as a wildcard idea for the TI, not just because of its Amiga-ness, but because it is so unique in the computer world.  Are either "#" or "?" valid for TI filenames?

 

ForceCommand uses dos like '*' and '?' ---  so, DIR PAR*  would list all the files starting with 'PAR'  -- Looks like I only implemented the '*' :  jedimatt42/fcmd Wiki (github.com) - DIR

 

Everything except space ' ' and dot '.' are valid character in a 4A filename. This is where a complex character combination buys us probable immunity :) or something like the funny directory name that is actually a filter spec... 

 

 

The directory filter spec approach would be useful in other tools that can catalog a directory. The SETDIR DSR entry is stateful...

 

(I think out loud a bunch, even if out loud is just the clicky keyboard)

 

We could actually just use the modern asterisk approach... thinking about collisions, if the real name of something is 'TEST*' cause TIPI will let you do that, then that would simply have to be the dominant match for something opening 'TEST*' and then only when that dominant match is not present would it fall back on evaluating the wildcard. 

 

I hated the c64 load "$" thing back in the day, cause my friends with c64s didn't know what it meant and couldn't explain it. Learning that it was a query expression processed by the intelligent device made me appreciate it. But I don't really spend any time with my C64... If someone knows of a doc that describes all the expressions possible, ( I imagine it would be part of the floppy drive manual? -- oh, look, right there: Commodore_1541_Disk_Drive_Users_Guide_1982-09_Commodore.pdf (archive.org)

 

 

  • Like 2
Link to comment
Share on other sites

50 minutes ago, dhe said:

Can you give me the part numbers for the screws and gromlets used to mount PI to the TIPI board please?

I use 2.5 mm nylon screws for most of my Pi work (occasionally 2.5mm brass standoffs). You can find kit boxes of various lengths with nuts and washers on Amazon or Adafruit.

https://www.adafruit.com/product/3299?gclid=Cj0KCQjwwfiaBhC7ARIsAGvcPe6uCYEUSqpSrQPWFdfcEymM28w-cTCDRAUjcHkUnIJjylyUwxX12ucaAinWEALw_wcB

As an example.

Edited by Duewester
  • Like 3
Link to comment
Share on other sites

49 minutes ago, Duewester said:

I use 2.5 mm nylon screws for most of my Pi work (occasionally 2.5mm brass standoffs). You can find kit boxes of various lengths with nuts and washers on Amazon or Adafruit.

https://www.adafruit.com/product/3299?gclid=Cj0KCQjwwfiaBhC7ARIsAGvcPe6uCYEUSqpSrQPWFdfcEymM28w-cTCDRAUjcHkUnIJjylyUwxX12ucaAinWEALw_wcB

As an example.

When I have done this, I used 1 nut as the spacer. 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...