[BRLTTY] Feature request: configurable prompt pattern

Dave Mielke dave at mielke.cc
Thu Mar 15 00:28:03 EDT 2018


[quoted lines by Nicolas Pitre on 2018/03/14 at 23:30 -0400]

>This arrangement lasted for a couple years and went undetected all that time.

I had no problem being totally open about it. It just meant that I had to be 
prepared for the battle (should one arise, as it eventually did).

In the really early days I maintained a 1200 baud dial-in modem at my desk with 
its own phone number. This, too, was done with my manager's knowledge, and even 
with the knowledge of whoever was responsible for providing us phones at the 
time.

Once, after we moved from one building to another, I'd made a late evening 
appointment with her to get that modem up and running as quickly as possible. 
Then, at almost the last minute, I cancelled on her because one of our children 
"decided" that it was time to be born.

>Did they ever log in?

I have no idea. Even though they wanted to spy on me, it wasn't my goal to spy 
on them. My goal was to put before them a very important question: My 
conscience is totally clear. Is yours?

This reminds me of yet another event when they came after me, and which they 
also lost.

Long before the company had a centralized way to do authentication, NIS was the 
only way to do it. Globally, they had somewhere around 30 NIS servers, each 
with its own domain. We, on the other hand, were the first (I think) to have a 
centralized web server that, among other things, gave access to the company's 
source repository. Parts of what it gave access to did need decent 
authentication, especially since people from other companies were often on 
sight.

I figured the best way to do it was to build a list of which NIS domains were 
in use within each subnet. How to do that? I ran a job over a weekend that used 
64 processes in parallel to ask every single host in the company which NIS 
domain it was bound to. Since that question couldn't be asked directly, the 
only way to do it was to ask each node if it was bound to each domain. That 
meant about 30 requests to each host throughout the company.

This method worked out extremeloy well. Whenever our server would get a request 
for protected data, it'd calculate the subnet address and then authenticate the 
user with the correct NIS domain server. There was something, however, that I 
didn't know. When you ask a host if it's bound to an NIS server that it isn't 
bound to, it writes a log to that host's console. So, on Monday morning when 
everyone came in to work, every single console had 30 less 1 of those 
nasty-looking logs on its console. Now that seriiosly alarmed the security 
dudes. :-)

So, while everything was running so nicely and I was feeling pretty good about 
it, my manager came by and told me I had to go with him. I asked, "Where?" He 
siad that it'd be best if I found out when I got there. This wasn't his normal 
style with me so I figure they'd ordered him not to tell me.

We walked into this room and the main security dude got up and gave me a 
supposedly friendly handshake. Of course, it was a test to see how sheepishly 
or boldly I'd return the gesture. Then he sat down, invited me to sit down, and 
got to business. He told me that I was being acused of trying to crack 
passwords all over the company. That, of course, wasn't true at all but he 
wouldn't accept my denials.

He then proceeded to ask me stupid questions, and, to each one, I gave an 
answer that drove him crazy. Remember that he's doing this, and I'm responding, 
in front of his colleagues, an HR person, and my manager. This whole thing 
took, literally, about two hours. Here are a few of the highlights that I 
remember:

He asked me to show him the software that I'd run. I responded, "You're asking 
the criminal to produce the evidence? That's ridiculous. For all you know, I'll 
show you something completely different."

He told me that I had to stay out of my office for the afternoon. I asked why. 
He said that it was so that they could look through my files. I told him, 
"That's stupid. This is a network. For all you know, I'll just go home and log 
in. Aren't you much better off with me sitting at my desk so that you can see 
what I'm up to?"

Lots of this kind of stuff. He finally got frustrated with the fact that I 
wasn't responding to his crap like others must have, and asked me, "So why do 
you think you deserve special treatment?" I responded, "That's an excellent 
question. Tell me! Why do you think you deserve special treatment? If my 
management (remember, my manager is sitting right there) has a stupid idea, I 
tell them. You're asking stupid questions so I'm telling you!"

I don't remember what he asked, but my response was, "You clearly have no idea 
how to do your job. I do, so I'm telling you. You wouldn't listen to me under 
any other circumstances, but you have to listen to me now, so I'm using this 
oportunity to teach you how to provide real network security."

That was the very last time they tried to come after me. :-)

>Maybe that could be useful if someone wants to move between two 
>different types of prompts. But I think that for now, simply providing 
>the ability to change the current prompt matching should actually cover 
>most advanced use cases.

We do have two cases, and I'm not yet sure how to provide both of them. Maybe 
using short/long presses is the way to do it. The two cases are moving to the 
next/previous prompt when not on a prompt, and moving to the next/previous 
prompt based on the prompt you're currrently on.

>Maybe not. That could be extended eventually if need be. For example:
>
>prompt_match = |<regexp>|  # that's a direct match
>
>prompt_match = |<regexp1>|<regexp2>|  # that's the ultimate match
>
>No need to implement the later initially.

Sure.

-- 
I believe the Bible to be the very Word of God: http://Mielke.cc/bible/
Dave Mielke           | 2213 Fox Crescent | WebHome: http://Mielke.cc/
EMail: Dave at Mielke.cc | Ottawa, Ontario   | Twitter: @Dave_Mielke
Phone: 1-613-726-0014 | Canada  K2A 1H7   |


More information about the BRLTTY mailing list