summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2026-08-23 07:37:04 +0800
committerSadeep Madurange <sadeep@asciimx.com>2026-08-23 07:37:04 +0800
commit1869f239c69d46e995f28608c4283afdbf81a297 (patch)
treec22c4fc7cf6f08ce5c2cc8809f55d10a28f827b3
parent86577b547d04f006fea28414bdc9516a8f748bdd (diff)
downloadlex-1869f239c69d46e995f28608c4283afdbf81a297.tar.gz
Reorganize directories (tmp).
-rw-r--r--README.txt3
-rw-r--r--install.cgi.sh14
-rwxr-xr-x[-rw-r--r--]install.lexd_spool.sh0
-rwxr-xr-xlex.cgi7
-rwxr-xr-xlexd-spool.sh18
-rwxr-xr-x[-rw-r--r--]uninstall.lexd_spool.sh0
6 files changed, 24 insertions, 18 deletions
diff --git a/README.txt b/README.txt
index 2fcb172..9bdb9e3 100644
--- a/README.txt
+++ b/README.txt
@@ -6,3 +6,6 @@ USAGE
4. Start service: rcctl start lexd
5. Connect, type prompt, hit enter: nc -U /var/run/lexd/sock
+INSTALL
+
+ 1. Mailer: install -c -o root -g bin -m 755 mailer.pl /usr/local/bin/lex-mailer
diff --git a/install.cgi.sh b/install.cgi.sh
index e6d5eeb..8f0963c 100644
--- a/install.cgi.sh
+++ b/install.cgi.sh
@@ -41,17 +41,13 @@ mkdir -p "/var/www/var/lex/locks"
chown www:www "/var/www/var/lex/locks"
chmod 750 "/var/www/var/lex/locks"
+mkdir -p "/var/www/var/lex/tmp"
+chown www:tool "/var/www/var/lex/tmp"
+chmod 770 "/var/www/var/lex/tmp"
+
mkdir -p "/var/www/var/lex/spool"
chown www:tool "/var/www/var/lex/spool"
-chmod 710 "/var/www/var/lex/spool"
-
-mkdir -p "/var/www/var/lex/spool/tmp"
-chown www:tool "/var/www/var/lex/spool/tmp"
-chmod 750 "/var/www/var/lex/spool/tmp"
-
-mkdir -p "/var/www/var/lex/spool/new"
-chown www:tool "/var/www/var/lex/spool/new"
-chmod 2770 "/var/www/var/lex/spool/new"
+chmod 2770 "/var/www/var/lex/spool"
mkdir -p "/var/www/var/lex/dict"
chown lex:tool "/var/www/var/lex/dict"
diff --git a/install.lexd_spool.sh b/install.lexd_spool.sh
index e613c5d..e613c5d 100644..100755
--- a/install.lexd_spool.sh
+++ b/install.lexd_spool.sh
diff --git a/lex.cgi b/lex.cgi
index a87131a..986c2f2 100755
--- a/lex.cgi
+++ b/lex.cgi
@@ -39,7 +39,8 @@ BEGIN {
my $log_dir = "/var/log";
my $base_dir = "/var/lex";
-my $spool_dir = "/var/lex/spool";
+my $tmp_dir = "$base_dir/tmp";
+my $spool_dir = "$base_dir/spool";
my $keyring_file = "$base_dir/pubring.gpg";
unveil("/dev/null", "rw") or die "unveil /dev/null failed: $!";
@@ -267,8 +268,8 @@ unless ($plain_text_len <= 200) {
my ($sec, $usec) = gettimeofday();
my $spool_filename = sprintf("spool_%d%06d_%d.job", $sec, $usec, $$);
-my $tmp_spool_file = "$spool_dir/tmp/$spool_filename.tmp";
-my $spool_file = "$spool_dir/new/$spool_filename";
+my $tmp_spool_file = "$tmp_dir/$spool_filename.tmp";
+my $spool_file = "$spool_dir/$spool_filename";
# Set umask so group gets read/write (0666 & ~0007 = 0660)
my $old_umask = umask(007);
diff --git a/lexd-spool.sh b/lexd-spool.sh
index eea19e0..c340502 100755
--- a/lexd-spool.sh
+++ b/lexd-spool.sh
@@ -6,9 +6,10 @@ USER_HOME="${HOME:-$(eval echo "~${USER}")}"
SSH_CONFIG="${USER_HOME}/.ssh/config"
SSH_HOST="lex-spool"
-SPOOL_DIR="/var/www/var/lex/spool/new"
+TMP_DIR="/var/www/var/lex/tmp"
DICT_DIR="/var/www/var/lex/dict"
-SOCKET_PATH="/var/run/lexd/sock"
+SPOOL_DIR="/var/www/var/lex/spool"
+SOCK_PATH="/var/run/lexd/sock"
SLEEP_INTERVAL=30
log_err() {
@@ -53,7 +54,7 @@ while true; do
log_info "Processing: \"${trunc_prompt}\""
# Pass prompt to socket and insert missing empty lines before uppercase headers
- response=$(print -r -- "${raw_prompt}" | nc -w 300 -U "${SOCKET_PATH}" | awk '
+ response=$(print -r -- "${raw_prompt}" | nc -w 300 -U "${SOCK_PATH}" | awk '
/^[A-Z ]+:[[:space:]]*$/ {
if (NR > 1 && last != "") {
print ""
@@ -92,11 +93,16 @@ while true; do
esac
target_file="${DICT_DIR}/${target_word}"
+ tmp_file="${TMP_DIR}/${target_word}"
+
+ remote_cmd="cat > '${tmp_file}' &&"
+ remote_cmd="${remote_cmd} mv -f '${tmp_file}'"
+ remote_cmd="${remote_cmd} '${target_file}' &&"
+ remote_cmd="${remote_cmd} rm -f"
+ remote_cmd="${remote_cmd} '${SPOOL_DIR}/${SPOOL_FILE}'"
- # Write remote dict file & remove spool file
print -r -- "${response}" \
- | ssh -F "${SSH_CONFIG}" "${SSH_HOST}" \
- "cat > '${target_file}' && rm -f '${SPOOL_DIR}/${SPOOL_FILE}'"
+ | ssh -F "${SSH_CONFIG}" "${SSH_HOST}" "${remote_cmd}"
log_info "Finished processing: ${target_word}"
)
diff --git a/uninstall.lexd_spool.sh b/uninstall.lexd_spool.sh
index 39a863a..39a863a 100644..100755
--- a/uninstall.lexd_spool.sh
+++ b/uninstall.lexd_spool.sh