JP7080866B2 - 情報処理装置、その制御方法、及びプログラム - Google Patents

情報処理装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP7080866B2
JP7080866B2 JP2019161323A JP2019161323A JP7080866B2 JP 7080866 B2 JP7080866 B2 JP 7080866B2 JP 2019161323 A JP2019161323 A JP 2019161323A JP 2019161323 A JP2019161323 A JP 2019161323A JP 7080866 B2 JP7080866 B2 JP 7080866B2
Authority
JP
Japan
Prior art keywords
password
operator
information processing
instruction
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019161323A
Other languages
English (en)
Other versions
JP2019207737A (ja
JP2019207737A5 (ja
Inventor
仁美 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019161323A priority Critical patent/JP7080866B2/ja
Publication of JP2019207737A publication Critical patent/JP2019207737A/ja
Publication of JP2019207737A5 publication Critical patent/JP2019207737A5/ja
Application granted granted Critical
Publication of JP7080866B2 publication Critical patent/JP7080866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、その制御方法、及びプログラムに関する。
従来の複合機等の情報処理装置には、PDL(Page Description Language:ページ記述言語)で記述された描画命令を情報処理装置が理解できる言語に解釈するPDLインタプリタが搭載されているものがある(特許文献1)。そのPDLインタプリタの1つであるPostScript(登録商標)インタプリタにおいて、制御オペレータ(制御命令)を実行することでPS(PostScript)インタプリタの動作を制御するための様々なパラメータを設定することができる。PC等の外部装置のユーザが制御オペレータを指定し、PSで記述された制御オペレータを外部装置から送信することで、PSインタプリタに制御オペレータを実行させることができる。例えばパラメータの一例としては、フォントキャッシュに使用するメモリ量を設定するための「MaxFontCache」などがある。
例えば、PSインタプリタの「MaxFontCache」の値を3500000バイトへ変更するためには以下の制御オペレータをPSインタプリタに実行させる必要がある。
<< /MaxFontCache 3500000 /Password (xxxx)>> setsystemparams
PSの言語仕様として、PSインタプリタにパスワードが設定されている場合は、PSインタプリタのパラメータの変更時にパスワードの指定が必要になる。例えばPSインタプリタにパスワードが設定されている場合に「MaxFontCache」等の値を変更するためには、上述の例のように、制御オペレータ内に「/Password」でPSインタプリタのパスワードを指定する必要がある。ここで指定されたパスワードがPSインタプリタに設定されているパスワードと異なる場合、PSインタプリタは制御オペレータを実行しない。
一方で、PSの言語仕様にはPSインタプリタにパスワードが設定されていても、パスワードを指定することなくパラメータの値を変更可能なオペレータであるSuperexecオペレータが存在する。例えば、PSインタプリタにそのSuperexecオペレータに対応づいた制御オペレータを実行させることで、パスワードの指定を必要とせずにPSインタプリタのMaxFontCacheの値を変更することができる。
特開2002-140177号公報
PSインタプリタを搭載した情報処理装置に管理者権限でログインしたユーザがPSインタプリタのパスワードを設定可能な場合、そのユーザが設定したパスワードはSuperexecオペレータにより無効化される。つまり、そのユーザがPSインタプリタのパスワードを設定している場合であっても、パスワードを知りえない第3者がSuperexecオペレータを使うことで、パスワードの指定がなくてもPSインタプリタに制御オペレータを実行させることができてしまう。
本発明は上記の課題を鑑みてなされたものであり、PSインタプリタを搭載した情報処理装置において、Superexecオペレータを実行できるか否かを設定できるような仕組みを提供することを目的とする。
本発明の情報処理装置は、操作部とPostScriptのインタプリタを有し、外部装置と通信可能な情報処理装置であって、前記外部装置からPostScriptデータを受信する受信手段と、前記受信手段が受信した前記PostScriptデータに含まれる命令に基づく処理を実行する実行手段と、前記操作部を介して受け付けた第1のパスワード、もしくは前記受信手段が受信したPostScriptデータに含まれる第2のパスワードを前記インタプリタの設定を変更するために必要なパスワードとして設定する設定手段とを有し、前記実行手段は、パスワードの一致に関係なく当該PostScriptデータに含まれる命令に基づく処理を実行するためのオペレータが含まれており、前記設定手段に設定された第2のパスワードと一致するパスワードが含まれていないPostScriptデータに含まれている命令に基づく処理を実行し、前記実行手段は、前記オペレータが含まれており、前記設定手段に設定された第1のパスワードと一致するパスワードが含まれていないPostScriptデータに含まれている命令に基づく処理を実行しないことを特徴とする。
本発明によれば、PSインタプリタを搭載した情報処理装置において、Superexecオペレータを実行できるか否かを設定できるような仕組みを提供することができる。
MFP101を用いたシステムの一例を示す図 MFP101のハードウェア構成を示す図 MFP101のソフトウェア構成の一例を示す図 管理者用の画面における、PSパスワード設定変更処理のフローチャートの一例を示す図 PSパスワード設定画面の一例を示す図 MFP101がPSジョブを実行する際にSuperexecオペレータを無効化する処理の一例を示すフローチャート PSジョブ700の一例を示す図
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例であり本発明は図示された構成に限定されるものではない。
図1は本発明に係るMFP(Multi Function Peripheral)を用いたシステムの一例を示す図である。
図1のシステムは情報処理装置であるMFP101、外部装置であるクライアントPC102、クライアントPC103により構成されている。MFP101とクライアントPC102、クライアントPC103はネットワーク104で互いに接続され、通信可能である。
本実施例の情報処理装置はMFP101を例に挙げて説明するが、これに限るものではない。例えば、SFP(Single Function Peripheral)等の単機能のものであってもよいし、外付けコントローラ等の印刷制御装置であってもよい。
本実施例の外部装置は、クライアントPC102、クライアントPC103を例に挙げて説明するが、これに限るものではなく、スマートフォンやタブレット等の携帯端末であってもよい。また、本実施例では外部装置としてクライアントPC102を例として説明に用いるが、クライアントPC103においても同様の処理を行うことができる。
クライアントPC102は、ネットワーク104を介してMFP101に対してページ記述言語(PDL)で記載されたPDLジョブを送信する。
ネットワーク104はEthernet(登録商標)のような有線LAN(LocalArea Network)で構成されていてもよいし、無線LANで構成されていてもよい。また、ネットワーク104はUSB(Universal Serial Bus)ケーブルで構成されていてもよい。
図2はMFP101のハードウェア構成を示す図である。MFP101は、CPU201、RAM202、ROM203、HDD204、操作部205、プリンタ206、スキャナ207、ネットワークIF(Interface)208を備える。
CPU201はMFP101を構成する各種ハードウェア204~208の制御を行うことで、MFP101が備える各機能を実現する。なお、CPU201はバスラインにより各種ハードウェアに信号を送り、他のハードウェアと相互にデータ通信を行うことを実現する。
またMFP101のCPU201は、MFP101内の制御プログラムに従ってMFP101の動作を制御する。より詳細には、MFP101の制御を行うオペレーティングシステム(OS)と、ハードウェアを制御するためのドライバプログラムをCPU201が実行する。そしてOS上に配置されたアプリケーションプログラムらが相互に動作することにより、ユーザの所望する機能の動作、制御が行われる。これらのOSや各種プログラムはHDD204に記憶され、RAM202において読み出されることで実行される。
RAM202は、プログラムや、CPU201が演算に用いるデータを一時的に記憶するためのワークメモリである。ROM203はCPU201が使用するプログラムや各種データを記憶するためのメモリである。HDD204は、各種データや各種プログラム等を記憶する記憶装置である。
操作部205は、例えばタッチパネル等のMFP101をユーザが利用するためのユーザインタフェースであり、ユーザによる操作や入力を受け付ける。また、操作部205はMFP101の情報を表示する表示部としても使用することができる。
プリンタ206は、印刷機能を実現するユニットであって、例えばネットワーク104に接続されたクライアントPC102からPDLのうちの1つであるPostScriptで記載された命令に従って画像を用紙に印刷する処理を行う。なお、本実施例では、MFP101に対する命令がPostScript(以下PS)で記載されたPDLジョブをPSジョブと呼ぶ。ここで、PSジョブの一例を図7に示す。
図7はPSジョブ700の一例を示す図である。
PSジョブ700に記述されている命令は、制御オペレータ701と描画オペレータ704で構成されている。
制御オペレータ701は後述するPSインタプリタのパラメータ等を変更するためのオペレータである。
図7のsetsystemparamasオペレータ702はフォントキャッシュがメモリを占有できる最大サイズを設定するためのパラメータであるMaxFontCacheの値を指定する。ここでは、4行目において、/myMaxFontCacheが2220011に定義されているため、MaxFontCacheの値は2220011となる。
Superexecオペレータ703は、後述するPSインタプリタのパスワードを制御オペレータ中で指定していなくても、PSインタプリタに制御オペレータを実行させる特殊オペレータである。例えば、図7のようにSuperexecオペレータ703をsetsystemparamasオペレータ702に対応づけて記述することで、パスワードを指定せずに、setsystemparamasオペレータ702を実行させることができる。なお、PSインタプリタのパスワードについても後で説明する。
描画オペレータ704は文字や図等の描画を指示するためのオペレータである。
図7のsetpagedeviceオペレータ705は、描画されるページのサイズを指示する。ここでは、横が595ピクセル、縦が842ピクセルであるA4サイズを指定している。
setcmykcolorオペレータ706は、描画されるページの色をCMYKで指定するためのオペレータである。
rectfillオペレータ707は、四角を描画するためのオペレータである。
スキャナ207はスキャン機能を実現するユニットであって、スキャナ部にセットされた原稿を光学的に読み取り、画像データに変換する処理を行う。
ネットワークIF208は、例えばEthernet(登録商標)のような有線LAN通信を行うためのネットワークIFである。なお、このネットワークIF208は無線LAN通信を行うためのネットワークIFであっても良いし、USB-LANIF等でもよい。
図3はMFP101のソフトウェア構成の一例を示す図である。
MFP101はプラットフォーム上で動作するソフトウェアとして、例えば、コピー301、スキャン302、プリント303、ログイン機能304、ユーザDB305を備える。
また、MFP101はPSインタプリタ306、中間データ生成部307、ラスタ画像生成部308、PSパスワード設定部309を備える。各々のソフトウェアモジュールはHDD204からRAM202に読み出され、CPU201が実行する。
CPU201はコピー301、スキャン302、プリント303を実行することで、各機能に対応した、ユーザが操作可能なユーザインタフェースを提供する。
CPU201はログイン機能304を実行することで、ユーザがMFP101にログインするための機能を提供する。また、新規ユーザ登録、ユーザ情報の変更等のログインユーザの管理はユーザDB305を用いて行う。
CPU201はPSインタプリタ306を実行することで、クライアントPC102上の印刷アプリケーションから受信したPSジョブに含まれる制御オペレータに従って描画オペレータを解釈し、内部表現形式であるオブジェクト描画命令に変換する。具体的には、CPU201はPSインタプリタ306を実行することで、PSジョブ中の制御命令である制御オペレータに従ってPSインタプリタ306のパラメータを変更する。パラメータの一例として、MaxFontCache、FactoryDefaultsがある。MaxFontCacheはフォントキャッシュがメモリを占有できる最大サイズを設定するためのパラメータである。FactoryDefaultsはPSインタプリタ306に設定されたパラメータのうち、不揮発性メモリに記憶されているパラメータをすべて工場出荷時の値にリセットするためのパラメータである。
また、CPU201はPSインタプリタ306を実行することで、PSインタプリタ306に設定されているパラメータに従って、PSジョブ中の描画命令である描画オペレータをオブジェクト描画命令に変換する。描画オペレータの一例としてstrokeオペレータやrectfillオペレータ等がある。strokeオペレータはラインを描画するためのオペレータであり、rectfillオペレータは四角形を描画するためのオペレータである。
PSインタプリタ306のパスワードには以下の2つのパスワードを設定することができる。パラメータの変更やstartjobオペレータの実行を許可するためのパスワードであるSystemParamsPasswordとstartjobオペレータの実行を許可するためのパスワードであるStartJobPasswordがある。
ここで、startjobオペレータとは、仮想メモリをリセットして、新しいジョブを開始するためのオペレータである。
PSインタプリタ306のパラメータを変更する場合は、制御オペレータ中にSystemParamsPasswordを記載し、その制御オペレータをPSインタプリタ306に実行させる必要がある。例えば、以下のオペレータをPSインタプリタ306に実行させると、MaxFontcacheの定義を3500000に変更する処理を実行可能である。
<</MaxFontcache 3500000 /SystemParamsPassword>>setsystemparams
PSジョブにおいて、startjobオペレータを実行するためには、SystemParamsPasswordもしくはStartJobPasswordを制御オペレータ中に記載し、PSインタプリタ306に実行させる必要がある。
また、PSインタプリタ306のパスワードを設定するためには、現在設定されているパスワードと新しいパスワードを制御オペレータ中に記載し、その制御オペレータをPSインタプリタ306に実行させる必要がある。例えば、以下のようなオペレータを含んだPSジョブをPSインタプリタ306に実行させると、PSインタプリタ306のSystemParamsPasswordを変更することができる。StartJobPasswordにおいても同様な記載を含んだPSジョブをPSインタプリタ306に実行させることで、PSインタプリタ306のStartJobPasswordを変更することができる。
<< /Password(oldpassword) /SystemParamsPassword(newpassword) >>setsystemparams
なお、PSジョブに含まれる制御オペレータにより設定されたパスワードはRAM202に記憶される。
CPU201は中間データ生成部307を実行することで、オブジェクト描画命令から所定単位毎の中間データを生成して出力する。なお、所定単位とは、例えば、ページ単位、特定の領域(所定サイズの幅、所定サイズのブロック)単位が挙げられる。中間データとは、画像を表す画像データと、画像における各オブジェクトの色を特定するための色情報と、画像における各オブジェクトのエッジを特定するためのエッジ情報とを含むものであり、ラスタ画像生成部308で処理できるフォーマットデータである。
CPU201はラスタ画像生成部308を実行することで中間データ内に記述された情報に基づいてラスタ画像を生成する。これにより、PSで記述されたデータからラスタ画像を生成することができる。なお、本実施例ではソフトウェアであるラスタ画像生成部308をCPU201が実行することで中間データからラスタ画像が生成されるが、これに限るものではない。例えば、MFP101に搭載されたハードウェアモジュールのRIP(Raster Image Processor)が中間データからラスタ画像が生成してもよい。
CPU201はPSパスワード設定部309を実行することによって、操作部205に表示される管理者用の画面の一例であるPSパスワード設定画面において、PSパスワードの設定を受け付ける。管理者用の画面とは、ユーザが管理者権限でログインした場合に表示される画面であり、ログイン機能304において管理者用のユーザIDとパスワードを用いてMFP101にログインした場合に操作部205に表示される画面である。
その処理の詳細を図4のフローチャートで説明し、その処理を実行する際に表示される画面の例を図5に示す。
図4は管理者用の画面における、PSパスワード設定変更処理のフローチャートの一例を示す図である。CPU201がHDD204に記憶されたプログラムをRAM202に読み出し、実行することで図4のフローチャートの処理は実現される。
MFP101のユーザが操作部205に表示された管理者用の画面でPSパスワードを変更するために、非図示のPSパスワード設定画面表示ボタンを選択すると、本フローチャートが開始される。
まず、S401においてCPU201は、PSパスワード設定画面の一例として図5のPSパスワード設定画面500を操作部205に表示する。
図5はPSパスワード設定画面の一例を示す図である。
PSパスワード設定画面500はMFP101のユーザが管理者用のユーザIDとパスワードを用いてログインした時に操作部205に表示可能な管理者用の画面である。また、PSパスワード設定画面500は図3で説明したPSインタプリタ306のPSパスワードとは別に管理されるPSパスワードの設定を受け付けるための画面である。
本実施例のMFP101のPSインタプリタ306にはPSジョブの制御オペレータにより設定されるPSパスワードと、PSパスワード設定画面500でユーザにより入力されたPSパスワードの二種類のPSパスワードを設定できる。なお、ここからはPSジョブの制御オペレータにより設定されるPSパスワードをPSパスワード、PSパスワード設定画面500でユーザにより入力されたPSパスワードは画面PSパスワードと呼ぶ。PSパスワードはRAM202で記憶され、画面PSパスワードがHDD204で記憶される。
入力欄501は、ユーザがSystemParamsPasswordを入力するための入力欄である。
入力欄502は、ユーザがStartJobPasswordを入力するための入力欄である。
OKボタン503は、入力されたパスワードを設定するためのボタンであり、ユーザにより選択されることでCPU201は入力欄501と入力欄502に入力された文字列をパスワードとして不揮発性メモリであるHDD204に記憶する。なお、入力欄501に何も入力されていない状態でOKボタン503が選択された場合は、SystemParamsPasswordの値はNULLとしてHDD204に記憶される。入力欄502の場合も同様に、何も入力されていない状態でOKボタン503が選択された場合は、StartJobPasswordの値はNULLとしてHDD204に記憶される。また、OKボタン503が選択されると、CPU201はPSパスワード設定画面500を閉じる。
キャンセルボタン504は、パスワードの入力を中止するためのボタンである。キャンセルボタン504はユーザにより選択されることでCPU201は入力欄501と入力欄502に入力された文字列をHDD204に記憶せずにPSパスワード設定画面500を閉じる。
S402において、CPU201はユーザにより図5のOKボタン503が選択されたかどうかを判定する。選択されたと判定された場合、S403に進む。そうでない場合、S402に戻る。
S403において、CPU201は入力欄501に入力されている文字列が、HDD204に記憶されているSystemParamsPasswordと同一であるかどうかを判定する。同一であると判定された場合、S405に進む。そうでない場合は、S403に進む。ここで、入力欄501に何も入力されていない場合は、HDD204に記憶されているSystemParamsPasswordが「NULL」であるかどうかを判定する。「NULL」である場合は、S405に進む。そうでない場合は、S403に進む。
S404において、CPU201は入力欄501に入力された文字列を新しいSystemParamsPasswordとして不揮発性メモリであるHDD204に記憶する。なお、入力欄501に何も入力されていない場合は、「NULL」を新しいSystemParamsPasswordとして不揮発性メモリであるHDD204に記憶する。
S405において、CPU201は入力欄502に入力された文字列がHDD204に記憶されているStartJobPasswordと同一であるかどうかを判定する。同一であると判定された場合、S407に進む。そうでない場合は、S406に進む。ここで、入力欄502に何も入力されていない場合は、HDD204に記憶されているStartJobPasswordが「NULL」であるかどうかを判定する。「NULL」である場合は、S407に進む。そうでない場合は、S406に進む。
S406において、CPU201は入力欄502に入力された文字列を新しいStartJobPasswordとしてHDD204に記憶する。なお、入力欄502に何も入力されていない場合は、「NULL」を新しいStartJobPasswordとして不揮発性メモリであるHDD204に記憶する。
S407において、CPU201はRAM202のPSパスワードが記憶されている領域に「NULL」を書き込み、処理を終了する。ここで、「NULL」を書き込むのは、RAM202のSystemParamsPasswordが記憶されている領域とStartJobPasswordが記憶されている領域の両方である。なお、SystemParamsPasswordとStartJobPasswordのうち更新されたものに対応するPSパスワードが記憶されている領域であってもよい。
本実施例のMFP101では、画面PSパスワードの設定が変更された場合、RAM202のPSパスワードが記憶されている領域に「NULL」を書き込む。その理由を以下で説明する。
本実施例のMFP101では、画面PSパスワードが設定されている場合、画面PSパスワードを優先的にPSインタプリタ306のパスワードとして使用する。PSパスワードがPSインタプリタ306のパスワードとして使われる場合は、画面PSパスワードが設定されていない場合、つまりHDD204に画面PSパスワードとして「NULL」が記憶されている場合である。
例えば、ユーザが制御オペレータにSystemParamsPasswordを入力することなく、PSインタプリタ306にその制御オペレータを実行させたい場合は、入力欄501に何も入力せずにOKボタン503を選択する。そうすると、HDD204のSystemParamsPasswordが記憶されている領域に「NULL」が書き込まれる。
ところが、RAM202にSystemParamsPasswordとして、例えば「xxxx」が記憶されている場合、PSインタプリタ306のSystemParamsPasswordとして使われるのは、「xxxx」である。つまり、PSパスワードが設定されている場合、ユーザが画面PSパスワードを「NULL」に設定しても、PSインタプリタ306により「NULL」をパスワードとして使用されない。
そこで画面PSパスワードが設定された後にRAM202のPSパスワードが記憶されている領域に「NULL」を書き込むことで、PSパスワードは画面PSパスワードと同じ「NULL」となる。よって、本実施例のMFP101では画面PSパスワードの設定が変更された場合、RAM202のPSパスワードが記憶されている領域に「NULL」を書き込む。
本実施例では、画面PSパスワードの設定が変更された場合に、RAM202のPSパスワードが記憶されている領域に「NULL」を書き込むが、これに限るものではない。例えば、MFP101の再起動を行うことによりRAM202をクリアしてもいい。
本実施例においては、PSパスワード設定画面500は操作部205に表示可能であると説明したが、これに限るものではない。例えば、MFP101のWEBサーバ機能を使い、PSパスワード設定画面500をWEBページとしてクライアントPC102に送信してもよい。それにより、クライアントPC102がWEBブラウザを用いることでPSパスワード設定画面500を表示することができる。
以上のように画面PSパスワードが設定されている場合、画面PSパスワードを優先的に使用することで、RAM202等の揮発性メモリに記憶されているPSパスワードを、MFP101の起動時に再設定する必要がない。また、上記の処理を行うことで、MFP101の起動時は、PSパスワードはリセットされているため、パスワードを入力せずにPSの制御オペレータをPSインタプリタ306に実行させることができるという脆弱性を修正することができる。
しかし、図7のようにPSの特殊オペレータであるSuperexecオペレータを制御オペレータに対応づけることで、PSパスワードや画面PSパスワードを設定しても、パスワードなしで制御オペレータをPSインタプリタ306に実行させることができる。
つまり、ユーザがPSインタプリタ306のパスワードを設定している場合であっても、パスワードを知りえない第3者が特殊オペレータを使うことで、パスワードを指定することなくPSインタプリタ306に制御オペレータを実行させることができてしまう。
この課題に対して、以下の処理を行うことでPSインタプリタ306を搭載したMFP101において、PSインタプリタ306のパスワードを知りえない第3者がPSインタプリタ306に制御オペレータを実行させることができないようにすることができる。
図6は本実施例のMFP101がPSジョブを実行する際にSuperexecオペレータを無効化する処理の一例を示すフローチャートである。CPU201がHDD204に記憶されたプログラムをRAM202に読み出し、実行することで図6のフローチャートの処理は実現される。
まず、S601においてCPU201はネットワーク104を介してPSジョブを受信したかどうかを判定する。PSジョブを受信したと判定した場合、S602に進む。そうでない場合は、S601に戻る。
S602において、CPU201は画面PSパスワードが設定されているかどうかを判定する。具体的には、HDD204内の画面PSパスワードが記憶されている領域を確認し、その領域内の値がNULLかどうかを判定する。NULLでない場合、画面PSパスワードが設定されていると判定でき、NULLである場合、画面PSパスワードが設定されていないと判定することができる。設定されていると判定された場合は、S603に進む。そうでない場合は、S605に進む。
S603において、CPU201はHDD204に記憶されている画面PSパスワードを、RAM202のPSパスワードが記憶されている領域に書き込む。例えば、PSパスワード設定画面500で画面PSパスワードを「xxxx」に設定され、制御オペレータによりPSパスワードが設定されている場合、RAM202に記憶されているPSパスワードを画面PSパスワードの「xxxx」に置き換える。この際、置き換えるパスワードはSystemParamsPasswordとStartJobPasswordの両方であってもいいし、SystemParamsPasswordだけであってもいい。
S604において、CPU201は特殊オペレータであるSuperexecオペレータを無効化するフラグをオンにする。つまりSuperexecオペレータを無効化すると決定する。このフラグはRAM202に一時的に記憶される。
なお、S602~S604の処理は、本実施例のようにPSジョブを受信した後に開始してもいいし、例えば、MFP101の起動時や図4のS404、S406のように画面PSパスワードの更新時に開始してもよい。その場合、CPU201はS602で設定されていないと判定された後、もしくはS604の処理の後にS601のPSジョブを受信したかどうかを判定する処理を行う。
S605において、CPU201はPSジョブに記載されているオペレータが制御オペレータかどうかを判定する。この判定においては、CPU201はPSジョブの先頭から文字列を一行単位で解釈し、それが制御オペレータであるかどうかを判定する。制御オペレータであると判定された場合、S606に進む。そうでない場合、S610に進む。
S606において、CPU201は制御オペレータであると解釈した文字列に、Superexecオペレータが対応づけて記載されているかを判定する。例えば、CPU201は以下のように制御オペレータとともにSuperexecオペレータが記載されているかどうかを判定する。

<< /MaxFontCache 3500000 >> setsystemparams
} 1183615869 internaldict /superexec getexec
上記のように、Superexecオペレータが記載されていると判定された場合、S607に進む。そうでない場合、S620に進む。
ここで、S605に説明を戻し、S605で制御オペレータでないと判定された場合について説明する。S610において、CPU201は制御オペレータ以外のオペレータを実行する。制御オペレータ以外のオペレータとは、ラインを描画するためのstrokeオペレータや四角形を描画するためのfillオペレータ等の描画オペレータである。
S607において、CPU201はSuperexecオペレータを無効化するフラグがオンになっているかどうかを判定する。ここでは、CPU201はRAM202のSuperexecオペレータを無効化するフラグが記憶されている領域から値を取り出し、オンであるかオフであるかを判定する。オンになっていると判定された場合、S608に進む。そうでない場合、S609に進む。
S620において、CPU201は制御オペレータとともに記載されたパスワードが、RAM202に記憶されているPSパスワードと一致するかどうかを判定する。一致すると判定された場合は、S608に進む。そうでない場合は、S609に進む。
S608において、CPU201は制御オペレータを実行する。
S609において、CPU201は解釈した文字列がPSジョブの終端であるかを判定する。PSの終端であるかを判定するためには、例えば解釈した文字列が「%EOF」であるかどうかを判定する。終端である場合には、処理を終了する。そうでない場合は、解釈する対象の文字列を次の行に移し、S605に戻る。
なお本実施例では、管理者の画面において、画面PSパスワードが設定されている場合に、Superexecオペレータを無効化する処理を行うが、これに限るものではない。例えば、画面PSパスワードが設定されていなくても(画面PSパスワードが「NULL」であっても)Superexecオペレータを無効化してもよいし、常にSuperexecオペレータを無効化するようにしてもよい。
また、本実施例では、Superexecオペレータを無効化するために、CPU201が、画面PSパスワードが設定されているかどうかを判定し、自動的に無効化するが、これに限るものではない。例えば、ユーザによりSuperexecオペレータを無効化するかしないかの設定を受け付けることにより、Superexecオペレータを無効化してもよい。その際、ユーザによる設定は操作部205に表示される画面で受け付けてもよいし、MFP101のWEBサーバ機能で生成されたWEBページを受信したクライアントPC102のWEBブラウザで受け付けてもよい。
また、MFP101の受信したPSジョブにユーザによって留め置き印刷の設定がされている場合に、CPU201はそのPSジョブにSuperexecオペレータが記述されている時は、そのPSジョブを実行しないようにしてもいい。つまりCPU201は留め置き印刷の設定がされてPSジョブに基づいてプリンタ206が印刷を行わないようにする。そのPSジョブを削除してもいい。
本実施のMFP101では、Superexecオペレータとともに記載されているオペレータの実行を無効化する例を示したが、これに限るものではない。例えば、CPU201がPSジョブ中にSuperexecオペレータが記載されていると判定した時点で、その制御オペレータ以降(制御命令以降)に記述されている制御オペレータの実行や描画オペレータの解釈を中止するようにしてもよい。
以上のように本実施例のMFP101はSuperexecオペレータを実行できるか否かを設定できるような仕組みを提供することができる。
なお、本実施例では情報処理装置をMFP101として説明したが、PSインタプリタを搭載したPC等であってもよい。情報処理装置がPCである場合、PCのCPUがPSインタプリタを実行し、実行後に生成されたデータを画像形成装置であるMFP101に送信する構成をとる。
<その他の実施形態>
なお、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施の形態の機能を実現するプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に記憶されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードは本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
101 MFP
102 103 クライアントPC
104 ネットワーク
306 PSインタプリタ

Claims (10)

  1. 操作部とPostScriptのインタプリタを有し、外部装置と通信可能な情報処理装置であって、
    前記外部装置からPostScriptデータを受信する受信手段と、
    前記受信手段が受信した前記PostScriptデータに含まれる命令に基づく処理を実行する実行手段と、
    前記操作部を介して受け付けた第1のパスワード、もしくは前記受信手段が受信したPostScriptデータに含まれる第2のパスワードを前記インタプリタの設定を変更するために必要なパスワードとして設定する設定手段とを有し、
    前記実行手段は、パスワードの一致に関係なく当該PostScriptデータに含まれる命令に基づく処理を実行するためのオペレータが含まれており、前記設定手段に設定された第2のパスワードと一致するパスワードが含まれていないPostScriptデータに含まれている命令に基づく処理を実行し、
    前記実行手段は、前記オペレータが含まれており、前記設定手段に設定された第1のパスワードと一致するパスワードが含まれていないPostScriptデータに含まれている命令に基づく処理を実行しないことを特徴とする情報処理装置。
  2. 前記設定手段は、前記情報処理装置に管理者権限でログインしたユーザから前記操作部を介して受け付けた前記第1のパスワードを前記インタプリタの設定を変更するために必要なパスワードとして設定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記管理者権限でログインしたユーザによる前記パスワードの入力を受け付ける受け付け手段を更に有し、
    前記設定手段は、前記受け付け手段が受け付けた前記パスワードを設定することを特徴とする請求項2に記載の情報処理装置。
  4. 前記オペレータを無効化すると設定されている場合であって、前記オペレータに対応づけられた前記命令が記述された前記PostScriptデータを前記受信手段が受信した場合、前記実行手段が前記命令に基づく前記処理を実行せず
    前記オペレータを無効化すると設定されていない場合であって、前記オペレータに対応づけられた前記命令が記述された前記PostScriptデータを前記受信手段が受信した場合、前記実行手段前記命令に基づく前記処理を実行することを特徴とする請求項1に記載の情報処理装置。
  5. 前記情報処理装置に管理者権限でログインしたユーザによって前記オペレータを無効化するか否かの指示を受け付ける受け付け手段を更に有し、
    記受け付け手段が受け付けた前記指示に従って前記オペレータを無効化するか否かを設定することを特徴とする請求項4に記載の情報処理装置。
  6. 記オペレータに対応づけられていない前記命令が含まれる前記PostScriptデータを前記受信手段が受信した場合であって、前記PostScriptデータに含まれるパスワードと前記設定手段により設定され前記第1のパスワードが一致する場合、前記実行手段前記命令に基づく前記処理を実行することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記オペレータはSuperexecオペレータであることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
  8. 前記命令は少なくとも制御オペレータを含むことを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
  9. 操作部とPostScriptのインタプリタを有し、外部装置と通信可能な情報処理装置の制御方法であって、
    前記外部装置からPostScriptデータを受信する受信工程と、
    前記受信工程で受信した前記PostScriptデータに含まれる命令に基づく処理を実行する実行工程と、
    前記操作部を介して受け付けた第1のパスワード、もしくは前記受信工程で受信したPostScriptデータに含まれる第2のパスワードを前記インタプリタの設定を変更するために必要なパスワードとして設定する設定工程を有し、
    前記実行工程で、パスワードの一致に関係なく当該PostScriptデータに含まれる命令に基づく処理を実行するためのオペレータが含まれており、前記設定工程で設定された第2のパスワードと一致するパスワードが含まれていないPostScriptデータに含まれている命令に基づく処理を実行し、
    前記実行工程で、前記オペレータが含まれており、前記設定工程で設定された第1のパスワードと一致するパスワードが含まれていないPostScriptデータに含まれている命令に基づく処理を実行しないことを特徴とする情報処理装置の制御方法。
  10. 請求項1乃至の何れか1項に記載の情報処理装置の各手段をコンピュータで実行させるためのプログラム。
JP2019161323A 2019-09-04 2019-09-04 情報処理装置、その制御方法、及びプログラム Active JP7080866B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019161323A JP7080866B2 (ja) 2019-09-04 2019-09-04 情報処理装置、その制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019161323A JP7080866B2 (ja) 2019-09-04 2019-09-04 情報処理装置、その制御方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018101006A Division JP6584589B1 (ja) 2018-05-25 2018-05-25 情報処理装置、その制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2019207737A JP2019207737A (ja) 2019-12-05
JP2019207737A5 JP2019207737A5 (ja) 2021-07-26
JP7080866B2 true JP7080866B2 (ja) 2022-06-06

Family

ID=68768616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019161323A Active JP7080866B2 (ja) 2019-09-04 2019-09-04 情報処理装置、その制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7080866B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140177A (ja) 2000-10-31 2002-05-17 Canon Inc 画像処理装置および画像処理装置の制御方法および記憶媒体
JP2009276919A (ja) 2008-05-13 2009-11-26 Fuji Xerox Co Ltd 画像情報処理装置、画像形成処理装置、及びプログラム
JP2011224857A (ja) 2010-04-19 2011-11-10 Oki Data Corp 画像形成装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3492184B2 (ja) * 1997-02-03 2004-02-03 キヤノン株式会社 ネットワークデバイスの制御方法及びその装置と前記制御方法を実行するプログラムを記憶した記憶媒体
JP6320206B2 (ja) * 2014-07-07 2018-05-09 キヤノン株式会社 印刷システム、画像処理装置、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140177A (ja) 2000-10-31 2002-05-17 Canon Inc 画像処理装置および画像処理装置の制御方法および記憶媒体
JP2009276919A (ja) 2008-05-13 2009-11-26 Fuji Xerox Co Ltd 画像情報処理装置、画像形成処理装置、及びプログラム
JP2011224857A (ja) 2010-04-19 2011-11-10 Oki Data Corp 画像形成装置

Also Published As

Publication number Publication date
JP2019207737A (ja) 2019-12-05

Similar Documents

Publication Publication Date Title
KR102549370B1 (ko) 정보 처리 장치, 제어 방법 및 프로그램
JP5677047B2 (ja) 印刷システム、情報処理装置、印刷方法、及び、プログラム
US8836969B2 (en) Image forming apparatus and method of user authentication
US9355046B2 (en) Information processing apparatus, information processing method, and computer-readable medium
US9298411B2 (en) Apparatus and computer-readable recording medium for converting data into printing data based on setting conditions
US8780388B2 (en) Printing apparatus, server, printing system, control method for printing apparatus, and storage medium storing control program therefor
RU2552148C2 (ru) Система ретрансляции данных печати, устройство формирования изображения, способ управления системой и программа
US8760680B2 (en) Data processing apparatus, method, and storage medium
EP2395423A2 (en) Information transmission apparatus, control method of information transmission apparatus, and computer program
JP5412941B2 (ja) 画像形成システム、画像形成装置、表示方法、及びプログラム
JP2021164057A (ja) 画像処理装置、制御方法およびプログラム
US20100238487A1 (en) Print system
JP2019147384A (ja) 印刷装置とその制御方法、及びプログラム
JP6584589B1 (ja) 情報処理装置、その制御方法、及びプログラム
JP7080866B2 (ja) 情報処理装置、その制御方法、及びプログラム
KR20180068301A (ko) 화상 처리 장치, 및 페이지 화상 데이터 및 오브젝트 정보를 사용하여 시트에 화상을 형성하는 방법
JP2018206311A (ja) 印刷システム、サーバ及びその制御方法とプログラム
JP2018118426A (ja) 画像形成システム、及び画像形成方法
JP2022128244A (ja) 画像形成装置、制御方法、および、プログラム
JP2015225535A (ja) 情報処理装置、及びこれを用いる認証プリントシステム
US20240004592A1 (en) Information processing device setting value for print job on the basis of settings information acquired from external device
JP7540277B2 (ja) プリンタ
US11989471B2 (en) Computer-readable storage medium, information processing device, and method for providing notification about particular processing
JP4886748B2 (ja) 画像処理ノード、および画像処理ノードを制御するための方法
JP2005004320A (ja) 印刷制御装置および印刷制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220525

R151 Written notification of patent or utility model registration

Ref document number: 7080866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151