Loading ...
Sorry, an error occurred while loading the content.
 

encrypt/decrypt functions for a session

Expand Messages
  • Charles E Campbell Jr
    Hello! I don t see any way to encrypt/decrypt strings in the vim function library, but there is a way to encrypt a file buffer. Netrw tries to make use of
    Message 1 of 33 , Nov 28, 2007
      Hello!

      I don't see any way to encrypt/decrypt strings in the vim function
      library, but there is a way to encrypt a file buffer. Netrw tries to
      make use of ftp, etc and its associated passwords simpler by retaining
      the password in a variable (which is not normally saved). Thus one
      reads a file via ftp, say, provides the password to do so, and writing
      is done without requiring another entry of the password. I thought
      about making a temporary "password" automatically using localtime() at
      first invocation of netrw and the process's pid. Any good way to get
      the vim process's pid? How about under Windows?

      Anyway, the encryption/decryption via :X isn't helpful for this effort,
      it appears. That's because: a) it requires user intervention (ie. a
      password to protect a password), b) the buffer is left unchanged, so I
      can't use it, c) I can't write the buffer to a temporary file and read
      it back in its encrypted form (I tried setting ei=all first, but that
      doesn't do it).

      Oh, well...
      Chip Campbell


      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Tony Mechelynck
      ... by making the check a part of whatever routine you use to supply the stored password. ... You could add additional checks, e.g. in CursorHold, CursorHoldI
      Message 33 of 33 , Dec 5, 2007
        thomas wrote:
        > On Dec 6, 5:06 am, Tony Mechelynck <antoine.mechely...@...>
        > wrote:
        >> thomas wrote:
        >> Vim can store the current time -- see ":help reltime()". Store it when the
        >> user types in the master password, compare it with the time when a password is
        >> needed, and ask the master password again if the time interval is "too long".
        >
        > Yes, but how do you make sure the interval is ever checked?

        by making the check a part of whatever routine you use to supply the stored
        password.

        > IIRC
        > CursorHold[I] events don't get triggered when vim doesn't have the
        > focus. And you don't know which value 'updatetime' has. If you check
        > only when the password is accessed, somebody could use the :debug
        > trick
        > even hours/days after you last used the password.

        You could add additional checks, e.g. in CursorHold, CursorHoldI and/or
        FocusGained autocommands.

        >
        > BTW I would really like to see timer events that get triggered even
        > when
        > vim is in the background. I started writing a kind of PIM plugin but
        > stopped at about 80% because I didn't have the time to find a way to
        > reliably show alarms in a cross-platform manner. But this is a
        > different subject of course.
        >
        > thomas.

        Maybe you could use some external program (such as Unix's "at" or "cron", but
        possibly handcrafted to use shorter timespans) to periodically trigger
        something in your Vim instance via the |clientserver| feature? IIUC, it could
        even be a Vim script running on the "client" Vim, looping forever with a
        ":sleep" command in the loop, and periodically triggering some effect in the
        "server" Vim.


        Best regards,
        Tony.
        --
        Paul's Law:
        You can't fall off the floor.

        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      Your message has been successfully submitted and would be delivered to recipients shortly.