問題タブ [netbsd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - この netbsd コードで再入可能かどうか
NetBSD のソースコードを読んで「コードを読む」ことを勉強しています。
(興味のある方は < Code Reading: The Open Source Perspective > を読んでいます)
そして、私はこの機能を見つけました:
inet_ntoa は再入可能ではないため、inet_ntoa 関数をラップするために 4 つの異なる一時バッファーが導入されています。
しかし、私には、この naddr_ntoa 関数も再入
可能ではないように思えます。静的な bufno 変数は他のユーザーによって操作される可能性があるため、ここでは一時バッファーが期待どおりに機能しないようです。
それで、それは潜在的なバグですか?
git - Git をユーザーとしてインストールしますか?
github のソース tarball を使用してソースから git 1.8.0 をコンパイルすることにより、netbsd システム (4.0.1_PATCH) にユーザーとして git をインストールしようとしています。このシステムに対するユーザー権限はありますが、root 権限はありません。ホームディレクトリでソースコードをコンパイルしています。
次の一連のエラー メッセージが表示されます。
何が間違っていて、これを修正する方法についてのアイデアはありますか?
netbsd (バージョン 4.0.1 はかなり古いと思います) にユーザーとして git をインストールすることに関する提案はありますか?
c - OpenSSH の失敗
プロジェクトでOpenSSH version13を使用しています。ただし、ssh を使用して製品に接続しようとすると、ときどき nchan.cがエラーを返し、製品に次のような出力が表示され、接続が閉じられます。
これらの出力はすべて からのものnchan.c
です。コードを読んで、何が起こったのかを確認しようとするだけでも、少なくとも私には不可能に思えます! なぜOpenSSH
このエラーメッセージを出力して接続を閉じるのか、誰にも手掛かりがありますか? 誰かが OpenSSH の実装に精通していて、正しい方向に向けてくれることを願っています!
製品に接続するために使用python
しています。具体的にはpython pexpect module
. SSH 接続をセットアップし、ユーザー名とパスワードでログインしてから、いくつかのコマンドを実行して出力を確認します。ほとんどの場合、これで問題なく動作しますが、前述のように、接続が時々失敗します。上記の出力は製品で見ることができ、製品からpexpect
受け取った (End Of File) という例外がスローされEOF
ます (接続をセットアップできなかったことを意味します)。それは私が得るほとんどすべての印刷物です。OpenSSH が接続を確立したくない理由を誰かが理解してくれることを願っています!
objective-c - netbsdのgnustep
gnustepのツールチェーンが通常プレーンCを使用するnetbsd開発に適しているかどうかを尋ねたいと思います。NSObjectの参照カウントや動的なものなどの基本的なAPIでのみObj-Cの利点に興味があります。
私の質問は2つあります:
- gccのObj-CABIはgccのCABIと互換性がありますか?通常のCライブラリを使用できるようにします
- Obj-Cのランタイムレイヤーは、netbsdターゲットが埋め込まれている場所に行くのに適していますか?
前もって感謝します!
c - バッファ オーバーフローのエクスプロイト: スタック コードへの関数 ret のセグメンテーション違反
テスト プログラムでバッファ オーバーフローを悪用して、任意のコードを実行しようとしています。私は NetBSD 6 i386 を使用しています。Cコードは次のとおりです。
savePassword
コードをバッファ ( )に挿入します%ebp - 0x58
。GDB を使用したデバッグは次のとおりです。
関数のリターンで中断し、任意のコード (長さ 96 バイト) がスタックに正しく書き込まれたことを確認します。
ret
次に、組み立て手順まで続けます。
次に、スタックの一番上にある戻りアドレスを確認します (で%esp
):
このアドレスがポップされret
、ジャンプします。そのアドレスにある指示を見てみましょう。
私たちの任意のコード!
しかし、それを実行するret
と segfaults:
オペレーティング システムが、スタック メモリにジャンプすることを禁止していたようです。しかし、非実行スタック保護を無効にしました:
readelf
スタックが実行可能であることを確認します。
c - 理解できないコンパイルエラー
問題なく実行していたコードがあります。しかし今、私はそれに戻ってきましたが、それをコンパイルすることさえできません!
コンパイルされていない部分は .c ファイルであり、ライブラリについて不平を言っていると思います。
私はこれを行うことによってそれをコンパイルしようとします:
そして私は得る:
そして、これは私の .c ファイルです:
他にもありますが、ライブラリに関係していると思うので、これで私を助けてくれるかもしれません.
ここで何か見える人はいますか?
また、これが重要な場合に備えて、NetBSD でこれを行っていますが、FreeBSD で試してみましたが、同じです。