unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
To: Po Lu <luangruo@yahoo.com>
Cc: eliz@gnu.org, stefankangas@gmail.com, larsi@gnus.org,
	emacs-devel@gnu.org
Subject: Re: master 3d38d1d: Add sqlite3 support to Emacs
Date: Sun, 12 Dec 2021 22:44:14 -0500	[thread overview]
Message-ID: <E1mwcG6-0003D4-Ty@fencepost.gnu.org> (raw)
In-Reply-To: <87ilvu1ldh.fsf@yahoo.com> (message from Po Lu on Sun, 12 Dec 2021 12:46:02 +0800)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > No, I'm proposing to modify the free plug-ins to define this symbol, and
  > then to make Emacs to check for it before telling SQLite to load the
  > plugin.  It would work the same, and it'd also be much easier than
  > modifying SQLite and having to maintain the modified version, and so on
  > and so forth.

I don't think that is legally adequate.  I have an idea for a solution
to that problem, but I need to check it with a lawyer first.

For the mean time, Emacs _should not_ offer any interface to load
sqlite3 extensions.

But eliminating that is _not_ enough to solve the problem, because
sqlite3 offers another way to load one!  It defines an SQL function,
load_extension, to load an extension.  Whatever testing that Emacs
would try to do on an extension before loading it, load_extension
would bypass it.

Is there a way we can undefine that SQL function?  The equivalent of
fmakunbound in Lisp?

Is there a way Emacs can delete that function from the SQL function
table before the user can run any SQL code?

Does SQL have a way undefine a function?  If so, Emacs could run the
SQL to undefine that function, before it lets the user run any SQL
code.

Not as nice, because less modular: Emacs could patch the SQL function
table "by hand" to remove that definition.

We could patch the code in sqlite3 that loads extensions to make it
call a hook, and ask the developers to include it so that we can
use the standard version of sqlite3.  For the mean time, we would
need to use the patched version.

The clean way to do this is to add a C function to sqlite3 which you
call with a pointer to your hook function.  That would be an upward
compatible change to sqlite3, thus no trouble for upstream.

Since Emacs will call this C function, this will prevent simply
linking Emacs with the unmodified sqlite3.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





  reply	other threads:[~2021-12-13  3:44 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20211211035614.15517.53830@vcs0.savannah.gnu.org>
     [not found] ` <20211211035616.984DD20A0A@vcs0.savannah.gnu.org>
2021-12-11  4:17   ` master 3d38d1d: Add sqlite3 support to Emacs Stefan Kangas
2021-12-11  5:00     ` Po Lu
2021-12-11  5:29       ` Lars Ingebrigtsen
2021-12-11  6:56         ` Po Lu
2021-12-11  7:14           ` Lars Ingebrigtsen
2021-12-11  7:04       ` Po Lu
2021-12-11  8:50         ` Eli Zaretskii
2021-12-11  9:20           ` Po Lu
2021-12-11 11:09             ` Eli Zaretskii
2021-12-11 12:36             ` Alexandre Garreau
2021-12-11 12:49               ` Po Lu
2021-12-11 12:57                 ` Alexandre Garreau
2021-12-11 13:29                   ` Po Lu
2021-12-11 13:45                     ` Alexandre Garreau
2021-12-11 13:51                   ` Eli Zaretskii
2021-12-11 13:55                     ` Alexandre Garreau
2021-12-11 16:47                       ` Eli Zaretskii
2021-12-11 14:26             ` Stefan Monnier
2021-12-12  3:59             ` Richard Stallman
2021-12-12  4:46               ` Po Lu
2021-12-13  3:44                 ` Richard Stallman [this message]
2021-12-13  4:01                   ` Lars Ingebrigtsen
2021-12-14  4:12                     ` Richard Stallman
2021-12-14  4:36                       ` Po Lu
2021-12-14  7:23                         ` Lars Ingebrigtsen
2021-12-14  7:40                           ` Po Lu
2021-12-14  8:30                             ` Lars Ingebrigtsen
2021-12-14  9:16                               ` Po Lu
2021-12-14 10:27                                 ` Lars Ingebrigtsen
2021-12-14 13:12                                   ` Eli Zaretskii
2021-12-14 13:15                                     ` Lars Ingebrigtsen
2021-12-14 13:38                                       ` Eli Zaretskii
2021-12-14 23:41                                         ` Andy Moreton
2021-12-15 14:53                                           ` Eli Zaretskii
2021-12-15  5:15                             ` Richard Stallman
2021-12-15  7:07                               ` Lars Ingebrigtsen
2021-12-15  7:17                                 ` Contradictiory directions (Was: Re: master 3d38d1d: Add sqlite3 support to Emacs) Po Lu
2021-12-15  7:23                                   ` Contradictiory directions Lars Ingebrigtsen
2021-12-15  7:36                                     ` Po Lu
2021-12-15  7:41                                       ` Lars Ingebrigtsen
2021-12-15  7:48                                         ` Po Lu
2021-12-15  7:52                                           ` Lars Ingebrigtsen
2021-12-15  7:59                                             ` Po Lu
2021-12-15  8:04                                               ` Lars Ingebrigtsen
2021-12-15  8:13                                                 ` Po Lu
2021-12-15  9:16                                                   ` tomas
2021-12-15  9:49                                                     ` Po Lu
2021-12-15  9:59                                                       ` tomas
2021-12-15 10:06                                                         ` Po Lu
2021-12-15 12:25                                                       ` Dmitry Gutov
2021-12-15 12:31                                                         ` Po Lu
2021-12-15 13:52                                                           ` Dmitry Gutov
2021-12-16 17:45                                                       ` Stephen Leake
2021-12-19  8:30                                                         ` tomas
2021-12-20  4:43                                                         ` Richard Stallman
2021-12-15  9:17                                                   ` Lele Gaifax
2021-12-15 12:39                                                   ` Lars Ingebrigtsen
2021-12-16  4:40                                                   ` Richard Stallman
2021-12-16  4:40                                               ` Richard Stallman
2021-12-15 15:15                                     ` Alexandre Garreau
2021-12-16  4:41                                     ` Richard Stallman
2021-12-16  4:44                                       ` Po Lu
2021-12-16  8:25                                         ` Eli Zaretskii
2021-12-16 13:39                                       ` Andrea Corallo
2021-12-16 14:02                                         ` Eli Zaretskii
2021-12-16 14:10                                           ` Andrea Corallo
2021-12-15 10:14                                   ` Óscar Fuentes
2021-12-15 10:24                                     ` Po Lu
2021-12-15 10:32                                       ` Óscar Fuentes
2021-12-15 10:42                                         ` Po Lu
2021-12-15 12:44                                           ` Óscar Fuentes
2021-12-15 13:04                                             ` Po Lu
2021-12-15 14:33                                               ` dick
2021-12-15 14:54                                               ` Alexandre Garreau
2021-12-17  4:23                                               ` Richard Stallman
2021-12-15 14:54                                             ` Alexandre Garreau
2021-12-15 18:04                                               ` Óscar Fuentes
2021-12-16  5:12                                                 ` Alexandre Garreau
2021-12-16  4:40                                         ` Richard Stallman
2021-12-15 13:51                                       ` Eli Zaretskii
2021-12-15 13:56                                         ` Po Lu
2021-12-15 15:11                                     ` Alexandre Garreau
2021-12-15 18:28                                       ` Óscar Fuentes
2021-12-15 19:55                                         ` Stefan Monnier
2021-12-15 21:15                                           ` Óscar Fuentes
2021-12-16  7:13                                             ` Eli Zaretskii
2021-12-16  9:41                                               ` tomas
2021-12-16 10:09                                                 ` Eli Zaretskii
2021-12-16 11:34                                                   ` tomas
2021-12-16 14:18                                                 ` Arthur Miller
2021-12-16 15:14                                                   ` tomas
2021-12-16 11:01                                               ` Dmitry Gutov
2021-12-16 11:08                                                 ` Eli Zaretskii
2021-12-16 11:22                                                   ` Dmitry Gutov
2021-12-17  4:24                                               ` Richard Stallman
2021-12-16  5:15                                         ` Alexandre Garreau
2021-12-15 13:36                                   ` Contradictiory directions (Was: Re: master 3d38d1d: Add sqlite3 support to Emacs) Eli Zaretskii
2021-12-15 14:34                                   ` Alexandre Garreau
2021-12-15 15:02                                     ` tomas
2021-12-15  7:26                               ` master 3d38d1d: Add sqlite3 support to Emacs Po Lu
2021-12-16  4:41                                 ` Richard Stallman
2021-12-16  8:33                                   ` tomas
2021-12-15 14:22                               ` Alexandre Garreau
2021-12-16  4:40                                 ` Richard Stallman
2021-12-13 22:35                   ` Andy Moreton
2021-12-15  5:14                     ` Richard Stallman
2021-12-15  7:10                       ` Lars Ingebrigtsen
2021-12-16  4:41                         ` Richard Stallman
2021-12-16  5:52                           ` Lars Ingebrigtsen
2021-12-17  4:25                             ` Richard Stallman
2021-12-19  4:57                               ` Richard Stallman
2021-12-19  7:24                                 ` Eli Zaretskii
2021-12-16  9:33                           ` tomas
2021-12-12  5:07               ` Alexandre Garreau
2021-12-12  5:17                 ` Po Lu
2021-12-12  5:20                   ` Alexandre Garreau
2021-12-13  3:44                 ` Richard Stallman
2021-12-13  5:30                   ` Po Lu
2021-12-13  5:36                     ` Lars Ingebrigtsen
2021-12-13  6:01                       ` Po Lu
2021-12-13  8:30                         ` Lars Ingebrigtsen
2021-12-12 12:17               ` Eli Zaretskii
2021-12-12  4:00         ` Richard Stallman
2021-12-12  4:00         ` Richard Stallman
2021-12-12  4:48           ` Po Lu
2021-12-11  5:26     ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1mwcG6-0003D4-Ty@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=luangruo@yahoo.com \
    --cc=stefankangas@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).