したかったときに苦戦したメモ。Compressorをインストールして、圧縮してみたのですが、謎のエラーが出て困ってしまいました。CompressorはES6(let/const)に対応していないようです。Compressorを探してみました。用はない色々調べてみてもNode.js関連情報しか出てきません。「Node.js」に興味はなく、純粋にJavaScriptを圧縮したいだけなのに......。路頭に迷っていたのですが、Uglify-jsというNode.js関連ツールを使うことで、Node.jsとは関係なく単にJavaScriptを圧縮できることがわかりました。Wabpackというツールもあるのですが、軽く調べた感じではNode.js専用ツールっぽい感じで、単なるJavaScriptの圧縮ツールとしては使いにくそうでした。(Ver3)」でもES6には対応していません。Uglify-jsからフォークされた「Uglify-es」というツールを使います。インストールする必要があります。使用できるようになったので、Uglify-esを導入します。uglify-esMakefileUglify-js@2、Uglify-js@3、Uglify-esでみんなコマンドラインオプションが違うので、情報を探す際はご注意ください。Uglify-esのマニュアルはここです参考までに作成したMakefileを晒しておきます。$(MAP_FILE)-cソースファイルを圧縮します-mMangleします。これをつけたほうが圧縮率が高くなります。includeSources,filenamemapファイルを作成します。'/^!/'「!」マークで始まるコメント(ライセンスコメント)を残します。リリース情報adiary::リリースダウンロードはこちらから。Ver3.30の主な変更点Ver3.30のその他の変更点reStructuredTextについて既知のバグVer3.30の主な変更点reStructuredTextに対応。設定を追加する必要があります。RST(reST)に直接対応した初のCMSだといいな。リリース情報adiary::リリースダウンロードはこちらから。既知の不具合Ver3.24の変更点バグ修正が主です。RSSからのリンクhash(#rss-tm)を除去する際、リロードしないようにしました。RFC7231に準拠し、リダイレクトを相対パスで出力するよう変更。アルバムにアップロード時の拡張子制約を緩和し、半角英数以外を含むものを許可しました。【アルバム】ファイル名に使えない文字の制限を緩和しました。【Fix】トップページの2ページ目で「前のページ」のリンクが正しくない。sabazo)【Fix】mixiの画像サーバ等、一部のサイトにSSL接続できない。0」を送れていなかった。ロードする際、コメントも処理していた。形式のとき、ファイルをロードできない。【Fix/アルバム】ゴミ箱関連のファイル名の挙動がおかしい。【Fix/アルバム】ファイル名に特殊文字を含む場合の挙動がおかしい時がある。【Fix/Markdown】「|:---|:---|」のようなテーブルを認識できない。【Fix/Markdown】通常文字列に「|---|---|」などが続いた場合、テーブルと判定してしまう。Net::SSLeayモジュールで、SNIが有効になっていないため。既知の不具合PostgreSQL/MySQL運用時、外部画像の取り込みが動作しない。リリース情報adiary::リリースダウンロードはこちらから。Ver3.20以降の変更による累積的なバグ修正、httpd/EXEの修正が多めです。Ver3.23の変更点Pocketのシェア数が取得できなくなっていたので取得機能を削除しました。*1デフォルトアイコンとデフォルトロゴを変更しました。静的HTML出力が無効のとき、管理者以外にはエラーメッセージを表示しないように変更。管理メニューの流れを少し改善しました。記事編集画面でファイルアップロードの進捗を表示するよう変更。アルバムと記事編集画面のファイル選択ボタンのデザインを変更。【アルバム】アップロード中の進捗を表示するように変更。【アルバム】ファイルリネーム時に、画像以外はサムネイルを再生成するよう変更。接続するのを止め、若干高速化しました。【httpd/EXE】index.htmlを有効化しました。【httpd/EXE】大きいファイルをダウンロードする場合、すべてメモリに展開しないようにしました。【adiary.conf.cgi.sample】大きいファイルはテンポラリに書き出すよう変更。【adiary.conf.cgi.sample】<$Form_options.multipart_use_temp>を<$Form_options.use_temp_flag>に変更。*2【plugin】非公開コメントにヘルプを出せる機能を追加。【Fix/plugin】Twitter通知プラグイン。2018/06/13以降、新規認証に失敗していた。【Fix/Ver3.20-】デザイン編集時に、ヘッダが常に標準のまま(非カスタム状態で)出力されてしまう。【Fix】稀に最初のファイルアップロードに失敗することがある。【Fix】静的出力時、ヘッダにゴミが出力される。【Fix】致命的エラーメッセージ(初期ディレクトリ作成失敗)がきちんと表示されない。【Fix】大きなファイルを送信されたとき、<$Form_options.multipart_use_temp_dir>を設定していても、すべてメモリに展開していた。パーティションが異なるディレクトリを指定すると、アップロードに失敗する。【Fix】コメント欄でTABが入力できないことがある。【Security/httpd/EXE】HTTP_HOSTヘッダにタグを挿入可能だった。*4【Security】HTTP_HOSTヘッダに虚偽の設定をした上でコメントを投稿するとRSSのホスト名部分を外部から書き換えられてしまう。ディレクトリ名を設定するのかフラグを設定するのか非常にわかりにくく、自分でハマってしまったので......。multipart_use_temp_dirを設定していない場合、無条件にメモリに展開します。RSS以外に展開されることはないので、実害はあまりない。Hostヘッダインジェクションと呼ばれる攻撃です。呼ばれる設定を使用しているため問題ありません。Hostヘッダインジェクションについて今回のバージョンアップで、RSSのホスト部分を第3者が書き換え可能になるセキィリティホールが修正されています。一般的なレンタルサーバでは問題ありません。独自サーバ等でも、(最初以外の)VirtualHost部分にadiaryの設定がある場合は問題ありません。設定されている場合問題ありません。いわゆるHostヘッダインジェクションと呼ばれる問題で、Hostヘッダからサーバのホスト名を設定する仕様が原因になっています。Host名として不正なものはサーバソフトウェアが弾くのでJavaScriptを埋め込まれるといった問題は起こりませんが*6、RSSのURLが書き換えられる問題はおきます。生成し記録しておくなどの方法が有効です。adiary.httpd.plのVer1.04以前にはこの問題が存在しますが、HTTP_HOSTをそのまま埋め込むのはRSSのみなのでスクリプトを実行することはできません。RSSのXMLをパースエラーにする程度です。情報を記録するようにしました。いうスタンドアローンサーバが付属するようになりました。これを作成した際の知見メモ。