トップ «前の日(01-17) 最新 次の日(01-19)» 追記

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2005-01-18(Tue) 透明

USBキーボード

を、ぐぐって見付けた サイトを頼りに、今度はFreeBSD(98)4.10でやってみる。 NEC(98)のUSBコントローラが OHCIなんて知らなかった(道理で無反応だった訳だ)。 それを有効にしてカーネルを再構築し、キーボードを挿すと、 認識はされたものの、キーを叩いても無反応。 改めて読み直し、# options KBD_INSTALL_CDEV のコメントを外す。 しかし、繋げれば使えるわけではないらしい。

# kbdcontrol < /dev/ttyv0 -k /dev/kbd1 -l jp.106.kbd (us.iso.kbd)

を入力して(どこから?)キーボードを切替える必要があるようだった。 (jp.106.kbdを指定しても、自分のキーボードはUS-ASCII配列になっていた) BIOSはUSBキーボードを認識しないようだ。カーネルだけが認識できるらしい。 起動時メニューは勿論いらえない。 つまるところ、いざという時すぐ使えない。結論をいえば役に立たない。
それより、二つついてるシリアルポートをなんとか活かす方が。 シングルユーザモードの時にシリアルコンソールを 有効にする方法は...また今度確認しよう。

RealOnePlayer

をMacで動かす。現状これを動かせる(音の出る)マシンはこれだけだから。 ダウンロードサイトで半自動で落したplayerは動作せず(OSが 古すぎとかイチャモンつけただけ)、legacyで拾ったRealOnePlayerは起動するや 否やFirefox1.0と無理心中。 IEから立ち上げて、ようやく見えた。 34Kbpsの配信内容はさっぱり追わず、コンソールを叩いてばっかり。 netstatとtcpdumpもっと知っておかねば。 と、ろくでもないことばっかり。
ping www.google.co.jp すると75ms前後。 普段と全然変らない。帯域余り放題、でいいのか?

また変なbotが来た。

index.html からサイトの殆んど、特に 日記を舐めるように アクセスしていったログには ConveraCrawler/0.4 とあった。 ぐぐると、 こんなのが。
ふ〜ん、impolite な bot か。ログをよく見ると、こんな身勝手なアクセスを 30分程の間に50回も繰り返していた。

HOST 63.241.61.8 - - [18/Jan/2005:09:58:07 +0900] \
  "GET /~kuzu/diary/update.rb?edit=true;year=2004;month=10;day=30 \
  HTTP/1.0" 401 431

さてはコメントスパマァか。とりあえずはiptablesで出入り禁止にしておく。 でも、IPアドレスの割り当て状況をもっと追求しないと、 根絶やしにはできまい。


2006-01-18(Wed) どて

FreeBSD-SAあげた

セキュリティアドバイサリのメール見ても、 緊急でもあるまいとしばらく放置していたが、 ようやくupdateする気になった。
まず /usr/src/UPDATING を見る。ソースが cronにより更新されたらしい事を確認し、 各々のソースディレクトリに移動して # make obj && make depend && make install。
特にトラブルもなし。

apach2 on FreeBSD

apache-2.0.55    ?   orphaned: www/apache2

FreshPortsに行ってみた。
・ port moved here from www/apache2 on 2005-12-03
REASON: renamed for consistency with other apache ports
www/apache20 にて、改めて make install。

何も変ってなかった。余計だったかも。

と思ったらまたSA

FreeBSD-SA-06:05.80211 が来た。
802.11でバッファオーバーフローとか。 カーネル再構築が必須らしい。
とはいっても、"IV. Workaround"にある通り、 無線LANなど使ってないので関係ない。

よく見たらRELENG_6以降が対象になっていた。 さらに無関係だった。


2007-01-18(Thu) この際宗旨替え?

sgml-modeをちょこっと

M-x html-modeに </p>が見当たらないのが 気に入らないなぁ(省略可能なんだろうけど)。 てことで、少しいじってみる。

Plamo-4.21のemacsでは、html-modeはどうやら、 /usr/share/emacs/21.4/lisp/textmodes/sgml-mode.elcに 入ってるらしい。つまり、同じディレクトリのsgml-mode.elを 編集して、$ sudo emacs -batch -f batch-byte-compile sgml-mode.el すればいいようだ。

まずは$ grep -n html-paragraph sgml-mode.el などして、関数の位置の 当たりを付ける。で、この関数をコピペして define-skeleton html-paragraph-end などとやってみた。そして 適当なキーバインドもコピペしておく。
一応これでも使えることは使える。が、

<p>を書くなら、</p>がセット になるに決まってるじゃないか。てことで、

$ diff sgml-mode.el.ori sgml-mode.el
1383c1383
<   \n "<p>")
---
>   "<p>\n" _ "\n</p>")

PSGML...めんどそ

ツッコミ を受けて、とりあえずはpsgmlをget。

サイトには1.3.1が最新とか書いてあったが、2002年の記述である。
念のためftpで入ってみたら、 psgml-1.3.2.tar.gz があった。

make installは特にトラブルも無かったが、その後のセットアップは ぐぐったところかなりややこしそうに見えた。
また、気が向いたらいじってみるとするか。

それより、sgml-mode.elを自分のtdiary向きにいじって遊ぶとしよう。
Webから見れるようにコピーをリンクしとけばいいだろうな。

本日のツッコミ(全3件) [ツッコミを入れる]

nogajun [厳格さを求めるならpsgmlがいいですよ。 確かtdiary-modeもデフォルトがpsgmlだったような気がする。..]

kuzu [コメントどうもっす。 今確認したところ、tdiary-mode.elの1.4は違うっぽいですな。 psgmlは入れ..]

nogajun [psgmlを素で入れるときはカタログ探すのがめんどいっすね。 そゆときはdebianからソース(!)を貰ってきて入れ..]


2008-01-18(Fri) むしゃ

WindowsMail

メールデータのありかは、%USERPROFILE%\AppData\Local\Microsoft\Windows Mail だった。もちろん、デフォルトでは見えない。
ことを以前書いたかどうか、名前がありきたりすぎて検索で確認できない。ので わからない。

RAID0

をデフォルトでPCに組み込んで出荷する神経は、理解不能。

Vista Tips

起動時メニューの右クリックで、「管理者として実行」があった。
XPにしても、「別のユーザーとして実行」ができるようだけど。

CD/DVDのアタッチ、デタッチ

コンソールから、今動いているVirtualBOXの仮想マシンに、ホストのCD/DVDをつけたり外したり。
まずホストにCD/DVDを入れてマウントしておく、、、必要はなかった。

helpには"host:<drive>"と書かれていたが、/dev/cdromなどと、 デバイス名で書く必要があった ("/media/cdrom"など、マウントポイントを指定してもダメ)。
それから、外すときに"none"。

$ vboxmanage controlvm $GUEST dvdattach host:/dev/cdrom
VirtualBox Command Line Management Interface Version 1.5.2_OSE
(C) 2005-2007 innotek GmbH
All rights reserved.
 
$ vboxmanage controlvm $GUEST dvdattach none
VirtualBox Command Line Management Interface Version 1.5.2_OSE
(C) 2005-2007 innotek GmbH
All rights reserved.
 

2009-01-18(Sun) くもり

libao-alsa

mpg321だけでは、MP3ファイルは鳴らない。

$ mpg321 -o alsa testm.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for \
Layer 1, 2, and 3.
Version 0.59q (2002/03/23). Written and copyrights \
 by Joe Drew.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! \
USE AT YOUR OWN RISK!
Title  : test         Artist:                               
Album  :              Year  :                               
Comment:              Genre :                               
 
Playing MPEG stream from test.mp3 ...
MPEG 1.0 layer III, 160 kbit/s, 44100 Hz joint-stereo
Can't find a suitable libao driver. (Is device in use?)

audio/libao-alsa をbmake install してOK。


2011-01-18(Tue) 比較的温和な晴天

よく分からないが、同じになる

html および script タグは省略。

var first = {};
var second = {};
 
first.data = {foo: "bar"};
second.data = new Object();
second.data.baz = "bar";
 
document.write(first.data.foo == second.data.baz, "<br>");
document.write(first.data.foo === second.data.baz, "<br>");

どちらも true が返る。
どちらの foo も、"bar" というString を含む変数。でいいのか?

この場合、var first = second = {}; とやるとfirst.data.foo が "undifined" になってしまった。
やっぱり分かったような分からないような。

オブジェクトも値になって代入されるのか

var strobj = {};
var newobj = {};
 
strobj.qux = "foobaz";
newobj.qux = { bar: strobj.qux };
 
document.write("newobj qux bar is ", newobj.qux.bar , "<br>");
strobj.qux = "bazfoo";
document.write("newobj qux bar is ", newobj.qux.bar , "<br>");
newobj qux bar is foobar
newobj qux bar is foobar

ここでは qux の値は変化なし。

これも同じになる

var foo = {};
var bar = {};
foo.baz = bar.qux = "quux";
document.write(foo.baz == bar["qux"]);

true が返るのは、オブジェクトは連想配列として使えるから。 らしい。


2013-01-18(Fri) ぼんやりした日差しで摂氏一度

(define fizzbuzz hogehoge)

gauche で書いてみた。
スクリプトにするには、まだ足りないかと思ったが、 一応動いた。

(define fizzbuzz
  (lambda (x)
    (cond
     ((eq? (mod x 15) 0) "fizzbuzz")
     ((eq? (mod x 5) 0) "buzz")
     ((eq? (mod x 3) 0) "fizz")
     (else x))))
(define fbtime
  (lambda (y z)
    (cond
     ((> y z) #f)
     ((print (fizzbuzz y))
      (fbtime (+ y 1) z)))))

x と y,z は、別々にする必要はなかった。
また、else は有っても無くても動く。


2014-01-18(Sat) 雨が降っていたらしいが、遭わずに済んだ

キャラクタ液晶ディスプレイ

Hello, World

年末に買って放置していたが、 なんとか勉強会メソッドっぽく強行して汚く雑なはんだつけに のコピペ。
動いたことを確認し、サンプルソースから 変数、関数の定義部分のみ抜いて source コマンドに かける。

# RaspberryPi[実用]入門 Page 153-154 より
# 変数、関数定義部分のみ引用
I2CBUS="1"
CHIP_ADDR="0x3e"
BL_GPIO="4"
BL_GPIO_BASE=/sys/class/gpio/gpio${BL_GPIO}
BL_GPIO_VALUE=${BL_GPIO_BASE}/value
BL_GPIO_DIRECTION=${BL_GPIO_BASE}/direction
IP_ADDR=$(hostname -I)
HOSTNAME=$(hostname)
 
decimal_dump() {
echo $1 | python -c \
  'print " ".join([ "%d" % ord(x) for x in raw_input() ])'
}
 
send_block_data() {
 i2cset -y ${I2CBUS} ${CHIP_ADDR} $1 $2 i
}
 
send_byte_data() {
 i2cset -y ${I2CBUS} ${CHIP_ADDR} $1 $2 b
}
 
do_reset() {
  send_block_data 0 "0x38 0x39 0x14 0x78 0x5e 0x6c"
  sleep 0.25
  send_block_data 0 "0x0c 0x01 0x06"
  sleep 0.05
}
 
do_clear() {
  send_block_data 0 1
}
 
move_to() {
  send_byte_data 0 $(expr 128 + 64 \* $1 + $2)
}
 
do_disp() {
  send_block_data 0x40 "$(decimal_dump $1)"
}
 
change_bl() {
  echo $1 > ${BL_GPIO_VALUE}
}

そしてスーパーユーザで適当にコマンドを叩く。
適当な位置に移動し、Hello と World! を入力し、 GPIOのLEDをONにする。
コマンドの次元で理解してはいないけど、一応 ラッパーを利用することはできたと。

温度計壊れた。

GPIOへの接続を間違えて通電してしまっていた。
幸い、RaspberryPiは無事だったようだ。でも、装着すると Raspbianは正常に起動しなくなり、i2cdetectコマンドでも温度計は 認識されなかった。
次は間違いにくいように工夫せねばなるまい。


2016-01-18(Mon) 昨日から雨模様

POP before SMTPの失敗例

こないだの旧いメールクライアントで メールが送れず、sylpheedでできたはなしの続き。
Tsharkで文字に流し、適当に伏せ字にする。

一旦SMTPを試みて失敗(1-9)し、POPで認証(10-14)し、何もメールを 取らずにバイバイ(15-16)するが、もう一度SMTPを試みて やっぱり蹴られる(17-25)と。

 1  15:05:23.90 $OLD_MUA     -> $MAIL_SERVER SMTP 73 C: HELO $MYHOSTNAME
 2  15:05:23.94 $MAIL_SERVER -> $OLD_MUA     SMTP 93 S: 220 $SMTP_HOST ESMTP Postfix
 3  15:05:24.20 $MAIL_SERVER -> $OLD_MUA     SMTP 79 S: 250 $SMTP_HOST
 4  15:05:24.21 $OLD_MUA     -> $MAIL_SERVER SMTP 85 C: MAIL FROM:<$MAIL_ADDR>
 5  15:05:24.26 $MAIL_SERVER -> $OLD_MUA     SMTP 68 S: 250 2.1.0 Ok
 6  15:05:24.27 $OLD_MUA     -> $MAIL_SERVER SMTP 83 C: RCPT TO:<$MAIL_ADDR>
 7  15:05:24.31 $MAIL_SERVER -> $OLD_MUA     SMTP 128 S: 554 5.7.1 \
  <unknown[$MOB_IP]>: Client host rejected: Access denied
 8  15:05:24.32 $OLD_MUA     -> $MAIL_SERVER SMTP 60 C: QUIT
 9  15:05:24.36 $MAIL_SERVER -> $OLD_MUA     SMTP 69 S: 221 2.0.0 Bye
10  15:05:24.55 $MAIL_SERVER -> $OLD_MUA     POP 112 S: +OK Hello there.\
  <XXXX.XXXXXXXXXX@localhost.localdomain>
11  15:05:24.55 $OLD_MUA     -> $MAIL_SERVER POP  88 C: USER $POP_ACCOUNT
12  15:05:24.59 $MAIL_SERVER -> $OLD_MUA     POP  78 S: +OK Password required.
13  15:05:24.61 $OLD_MUA     -> $MAIL_SERVER POP  69 C: PASS $POP_PASS
14  15:05:24.66 $MAIL_SERVER -> $OLD_MUA     POP  70 S: +OK logged in.
15  15:05:24.67 $OLD_MUA     -> $MAIL_SERVER POP  60 C: QUIT
16  15:05:24.71 $MAIL_SERVER -> $OLD_MUA     POP  68 S: +OK Bye-bye.
17  15:05:24.84 $OLD_MUA     -> $MAIL_SERVER SMTP 73 C: HELO $MYDOMAIN
18  15:05:24.87 $MAIL_SERVER -> $OLD_MUA     SMTP 93 S: 220 $SMTP_HOST ESMTP Postfix
19  15:05:25.14 $MAIL_SERVER -> $OLD_MUA     SMTP 79 S: 250 $SMTP_HOST
20  15:05:25.15 $OLD_MUA     -> $MAIL_SERVER SMTP 85 C: MAIL FROM:<$MAIL_ADDR>
21  15:05:25.19 $MAIL_SERVER -> $OLD_MUA     SMTP 68 S: 250 2.1.0 Ok
22  15:05:25.20 $OLD_MUA     -> $MAIL_SERVER SMTP 83 C: RCPT TO:<$MAIL_ADDR>
23  15:05:25.24 $MAIL_SERVER -> $OLD_MUA     SMTP 128 S: 554 5.7.1 \
  <unknown[$MOB_IP]>: Client host rejected: Access denied
24  15:05:25.25 $OLD_MUA     -> $MAIL_SERVER SMTP 60 C: QUIT
25  15:05:25.30 $MAIL_SERVER -> $OLD_MUA     SMTP 69 S: 221 2.0.0 Bye

普通に通るMUAならこんな感じ。SMTPのみ。

 1  14:54:37.44 $MAIL_SERVER -> $MY_MUA      SMTP 105 S: 220 $SMTP_HOST ESMTP Postfix
 2  14:54:37.44 $MY_MUA      -> $MAIL_SERVER SMTP 80 C: EHLO $MYHOSTNAME
 3  14:54:37.50 $MAIL_SERVER -> $MY_MUA      SMTP 250 S: 250 $SMTP_HOST | \
  250 PIPELINING | 250 SIZE 10240000 | 250 VRFY | 250 ETRN | 250 STARTTLS | \
  250 AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN | 250 ENHANCEDSTATUSCODES | \
  250 8BITMIME | 250 DSN
 4  14:54:37.53 $MY_MUA      -> $MAIL_SERVER SMTP 81 C: AUTH CRAM-MD5
 5  14:54:37.58 $MAIL_SERVER -> $MY_MUA      SMTP 128 S: 334 \
  YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY==
 6  14:54:37.59 $MY_MUA      -> $MAIL_SERVER SMTP 148 C: \
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZ
 7  14:54:37.65 $MAIL_SERVER -> $MY_MUA      SMTP 103 S: 235 2.0.0 \
  Authentication successful
 8  14:54:37.65 $MY_MUA      -> $MAIL_SERVER SMTP 97 C: MAIL FROM:<$SENDER>
 9  14:54:37.70 $MAIL_SERVER -> $MY_MUA      SMTP 80 S: 250 2.1.0 Ok
10  14:54:37.71 $MY_MUA      -> $MAIL_SERVER SMTP 96 C: RCPT TO:<$SENDTO>
11  14:54:37.80 $MAIL_SERVER -> $MY_MUA      SMTP 80 S: 250 2.1.5 Ok
12  14:54:37.80 $MY_MUA      -> $MAIL_SERVER SMTP 72 C: DATA
13  14:54:37.84 $MAIL_SERVER -> $MY_MUA      SMTP 103 S: 354 \
  End data with <CR><LF>.<CR><LF>
14  14:54:37.84 $MY_MUA      -> $MAIL_SERVER SMTP 446 C: DATA fragment, $NUM bytes
15  14:54:38.07 $MAIL_SERVER -> $MY_MUA      SMTP 104 S: 250 2.0.0 Ok: \
  queued as $QUENAME
16  14:54:38.08 $MY_MUA      -> $MAIL_SERVER SMTP 72 C: QUIT
17  14:54:38.12 $MAIL_SERVER -> $MY_MUA      SMTP 81 S: 221 2.0.0 Bye

2022-01-18(Tue) 4時起きはちとこたえる

certbotのwildcard

検索結果の丸写しだけど、しないよりは。
VPS借りて、アップデートして、適当に色々貰っておいて。

$ sudo ufw allow to any port 25,80,443 proto tcp
$ sudo certbot certonly --manual \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory \
--agree-tos --manual-public-ip-logging-ok \
-d $DOMAIN.TLD -d *.DOMAIN.TLD -m $MY_MAIL_ADDR

操作中に DNSのTXTレコードを書き換える。

$ dig @SERVER _acme-challenge.$DOMAIN.TLD TXT +noedns
 
;; QUESTION SECTION:
;_acme-challenge.$MYDOMAIN.TLD.	IN	TXT
 
;; ANSWER SECTION:
_acme-challenge.DOMAIN.TLD. 200 IN	TXT
	"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

一回目は更新を検知してくれず失敗したが、 二回目はうまくいった。

更新は、またこんど。

絵文字メールアドレス

emoji mail

どうにかできた。

前に試したときは絵文字のアカウント名では認証が通らず メール送信とIMAPへのアクセスができなかった。
今回はメールアドレスと認証のアカウント名を別々にする。

SQLiteのデータベースは次のようになった。
{PLAIN}が気になるが、それはまた後で。

sqlite> select * from sqlite_master;
table|mail|mail|2|CREATE TABLE
 $ACCOUNT_LIST(id INTEGER PRIMARY KEY, addr TEXT, account TEXT,
 password TEXT, maildir TEXT)
 
sqlite> select * from $ACCOUNT_LIST;
1|user@$MYDOMAIN.TLD|user|{PLAIN}XXXXXXXXXXXXXXXXXXXX|user
2|diff@$MYDOMAIN.TLD|foo|{PLAIN}XXXXXXXXXXXXXXXXXXXX|foo
3|日本語@$MYDOMAIN.TLD|fizz|{PLAIN}XXXXXXXXXXXXXXXXXXXX|fizz
4|😺🐕@$MYDOMAIN.TLD|buzz|{PLAIN}XXXXXXXXXXXXXXXXXXXX|buzz

まず、ASCII文字だけで送受信確認から。
アカウント名とメールディレクトリの名前は、まだ別々にできなかった。

Postfixのローカル配送。

$ grep pmailbox /etc/postfix/main.cf
virtual_mailbox_maps =  sqlite:/etc/postfix/$MAILBOX_QUERY
 
$ cat /etc/postfix/$MAILBOX_QUERY 
dbpath = /etc/dovecot/$ACCOUNT_DB
query = select maildir || "/" from $ACCOUNT_LIST where addr  = '%s'

Dovecot側の設定。

$ cat /etc/dovecot/dovecot-sqlite.conf.ext 
driver = sqlite
connect = /etc/dovecot/$ACCOUNT_DB
default_pass_scheme = plain
password_query = SELECT password AS password \
     FROM $ACCOUNT_LIST WHERE account = '%n'
user_query = \
  SELECT '$MAILDIR' || maildir AS home FROM $ACCOUNT_LIST \
     WHERE account = '%n'

MUAは今の所Outlook 2019だけ。
送受信の相方にできたのはGMailだけ( SPFもDomainKeyも設定したにも関わらず 迷惑メール扱いだけど)。
相手によっては

status=bounced (SMTPUTF8 is required, but was not offered
 by host $HOSTNAME[XXX.XXX.XXX.XXX])

で蹴られることも。
設定のせいかどうか、届いてもメールアドレスが文字化けしたりもするから、 今の所到底まともには使えまい。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。