Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / archives / week_2005_07_10.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
4 <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6    <meta name="generator" content="Movable Type 5.2.3" />
7
8    <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9    <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml"$>" />
11
12    <title>Status for Andrew DeFaria: July 10, 2005 - July 16, 2005 Archives</title>
13
14    <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15    <link rel="prev" href="http://defaria.com/blogs/Status/archives/week_2005_07_03.html" title="July  3, 2005 - July  9, 2005" />
16    <link rel="next" href="http://defaria.com/blogs/Status/archives/week_2005_07_17.html" title="July 17, 2005 - July 23, 2005" />
17 </head>
18 <body class="layout-one-column">
19    <div id="container">
20       <div id="container-inner" class="pkg">
21
22          <div id="banner">
23             <div id="banner-inner" class="pkg">
24                <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
25                <h2 id="banner-description">Searchable status reports and work log</h2>
26             </div>
27          </div>
28
29          <div id="pagebody">
30             <div id="pagebody-inner" class="pkg">
31                <div id="alpha">
32                   <div id="alpha-inner" class="pkg">
33                      
34                      <p class="content-nav">
35                         <a href="http://defaria.com/blogs/Status/archives/week_2005_07_03.html">&laquo; July  3, 2005 - July  9, 2005</a> |
36                         <a href="http://defaria.com/blogs/Status/">Main</a>
37                         | <a href="http://defaria.com/blogs/Status/archives/week_2005_07_17.html">July 17, 2005 - July 23, 2005 &raquo;</a>
38                      </p>
39                      
40                      
41                      
42
43                      <h2 class="date-header">July 15, 2005</h2>
44                      <a id="a000388"></a>
45                      <div class="entry" id="entry-388">
46                         <h3 class="entry-header">CVS Adm Web App - per repository</h3>
47                         <div class="entry-content">
48                            <div class="entry-body">
49                               <ul>
50   <li>Vinnie and I decided that it's best to place the passwd, groups (new), sysusers (new) files in the repository under CVSROOT</li>
51
52   <li>Started changing web app to handle this new change and added new <i>Select Server</i> and <i>Select Repository</i> screens. Much of the code now needs to pass along $cvs_server and $repository to the API</li>
53 </ul>
54                               
55                               <p class="entry-footer">
56                                  <span class="post-footers">Posted by  at 11:05 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000388.html">Permalink</a>
57                                  
58                                  
59                               </p>
60                            </div>
61                         </div>
62                      </div>
63                      
64                      
65
66                      <h2 class="date-header">July 14, 2005</h2>
67                      <a id="a000384"></a>
68                      <div class="entry" id="entry-384">
69                         <h3 class="entry-header">DOORS/LOS178 Build Procedure</h3>
70                         <div class="entry-content">
71                            <div class="entry-body">
72                               <ul>
73   <li>Managed to install DOORS. Turns out that using Tomcat for FlexLM requires port 19360 <b>not</b> port 19353</li>
74
75   <li>Exported the HybridOS Build Procedure document to create the LOS178 2.1.0 Build Procedure document</li>
76
77   <li>Attempting to document exactly what CVS access is given for a username in the readers/writers files depending on whether or not either file exists for the CVSAdm web app</li>
78 </ul>
79                               
80                               <h3>Determining CVS Read/Write Access</h3>
81
82 <p>CVS decides read/write access based on the presence of the user name in the files readers and writers in the repository. Additionally either or both of these files may be missing.</p>
83
84 <p>The CVS Manual says:</p>
85
86 <blockquote><i>
87 <p>If <tt>readers</tt> exists, and this user is listed in it, then the user gets read-only access. Or if <tt>writers</tt> exists, and this user is <b>not</b> listed in it, then they also get read-only access (this is true even if <tt>readers</tt> exists but they are not listed there). Otherwise, she gets full read-write access.</p>
88
89 <p>Of course there is a conflict if the user is listed in both files. This is resolved in the more conservative way, it being   better to protect the repository too much than too little: such a user gets read-only access.</p>
90 </i></blockquote>
91
92 <p>Based on that the following describe the access granted to a user.</p>
93
94 <center>
95 <table border=1 cellspacing=0 cellpadding=2>
96   <tbody>
97     <tr>
98       <th bgcolor="teal"><font color="white">Case</font></th>
99       <th bgcolor="teal"><font color="white">Readers</font></th>
100       <th bgcolor="teal"><font color="white">Writers</font></th>
101       <th bgcolor="teal"><font color="white">Read Access</font></th>
102       <th bgcolor="teal"><font color="white">Write Access</font></th>    </tr>
103     <tr align="center">
104       <td>1</td>
105       <td>No File</td>
106       <td>No File</td>
107       <td>No</td>
108       <td>No</td>
109     </tr>
110     <tr align="center">
111       <td>2</td>
112       <td>No File</td>
113       <td>Not Present</td>
114       <td>Yes</td>
115       <td>No</td>
116     </tr>
117     <tr align="center">
118       <td>3</td>
119       <td>No File</td>
120       <td>Present</td>
121       <td>Yes</td>
122       <td>Yes</td>
123     </tr>
124     <tr align="center">
125       <td>4</td>
126       <td>Not Present</td>
127       <td>No File</td>
128       <td>No</td>
129       <td>No</td>
130     </tr>
131     <tr align="center">
132       <td>5</td>
133       <td>Not Present</td>
134       <td>Not Present</td>
135       <td>Yes</td>
136       <td>No</td>
137     </tr>
138     <tr align="center">
139       <td>6</td>
140       <td>Not Present</td>
141       <td>Present</td>
142       <td>Yes</td>
143       <td>Yes</td>
144     </tr>
145     <tr align="center">
146       <td>7</td>
147       <td>Present</td>
148       <td>No File</td>
149       <td>Yes</td>
150       <td>No</td>
151     </tr>
152     <tr align="center">
153       <td>8</td>
154       <td>Present</td>
155       <td>Not Present</td>
156       <td>Yes</td>
157       <td>No</td>
158     </tr>
159     <tr align="center">
160       <td>9</td>
161       <td>Present</td>
162       <td>Present</td>
163       <td>Yes</td>
164       <td>No</td>
165     </tr>
166   </tbody>
167 </table>
168 </center>
169
170 <ol>
171   <li>A strict intepretation of the CVS manual might lead you to
172 believe that since readers does not exist and writers does not exist then it would fall into the "Otherwise" statement at the end of the first paragraph. However an argument can be made that the user is also not listed in the writers file because the writers file is not present. But I believe that no access should be granted.</li>
173
174   <li>Readers does not exist and the user is not listed in writers
175 so read only access.</li>
176
177   <li>Readers does not exist but the user is listed in writers. So
178 the user has write access. Does this imply read access? Does write-only access exist?</li>
179
180   <li>User is not listed in the readers file and there is no writers
181 file. This case is not covered by the CVS manual. My assumption is therefore no access. Again a strict interpretation might argue the "Otherwise" clause but I think not.</li>
182
183   <li>User is not listed in the readers file nor in the writers file
184 therefore read only access.</li>
185
186   <li>User is not listed in the readers file but is listed in the
187 writers file. User gets read/write access.</li>
188
189   <li>User is listed in the readers file but there is no writers
190 file. Read only access.</li>
191
192   <li>User is listed in the readers file but not present in writers
193 file. Read only access.</li>
194
195   <li>User is listed in the readers file and the writers file. This
196 is the conflict. Resolve the conflict by only providing read access.</li>
197 </ol>
198                               
199                               <p class="entry-footer">
200                                  <span class="post-footers">Posted by  at  5:13 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000384.html">Permalink</a>
201                                  
202                                  
203                               </p>
204                            </div>
205                         </div>
206                      </div>
207                      
208                      
209
210                      <h2 class="date-header">July 13, 2005</h2>
211                      <a id="a000387"></a>
212                      <div class="entry" id="entry-387">
213                         <h3 class="entry-header">CVS Adm Web App</h3>
214                         <div class="entry-content">
215                            <div class="entry-body">
216                               <ul>
217   <li>Got password updating working</li>
218
219   <li>Got it working such that the cookie setting code is working</li>
220
221   <li>Implemented Admin mode for cvsroot user only. This allows the cvsroot user to manage other users, groups and sysusers</li>
222
223   <li>Also when in admin mode the cvsroot user can set another persons password to something new without having to know the old password (i.e. password reset)</li>
224
225   <li>Also when in admin mode the sysuser is exposed as a drop down - allowing cvsroot to change a sysuser for a user</li>
226
227   <li>Still need to workout read/write access properly, other security issues (possibly a setuid script allowing the apache user to become cvsroot to re-write and/or check out and in files like passwd, readers and writers for repositories).</li>
228
229   <li>Another issue is what to do as far as for paranoia checking. For example, what should happen if cvsroot attempts to remove say the "int" group and there are still users associated with the int group?</li>
230 </ul>
231                               
232                               <p class="entry-footer">
233                                  <span class="post-footers">Posted by  at  5:59 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000387.html">Permalink</a>
234                                  
235                                  
236                               </p>
237                            </div>
238                         </div>
239                      </div>
240                      
241                      
242
243                      <h2 class="date-header">July 12, 2005</h2>
244                      <a id="a000386"></a>
245                      <div class="entry" id="entry-386">
246                         <h3 class="entry-header">CVS Adm Web App</h3>
247                         <div class="entry-content">
248                            <div class="entry-body">
249                               <ul>
250   <li>Managed to get logging in working</li>
251
252   <li>Moved common code to CVSAdm.pm Perl module</li>
253
254   <li>Changed to handle multiple groups</li>
255
256   <li>Changed to use global groups and sysusers files</li>
257 </ul>
258                               
259                               <p class="entry-footer">
260                                  <span class="post-footers">Posted by  at  5:44 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000386.html">Permalink</a>
261                                  
262                                  
263                               </p>
264                            </div>
265                         </div>
266                      </div>
267                      
268                      
269
270                      <h2 class="date-header">July 11, 2005</h2>
271                      <a id="a000385"></a>
272                      <div class="entry" id="entry-385">
273                         <h3 class="entry-header">CVS Adm Web App</h3>
274                         <div class="entry-content">
275                            <div class="entry-body">
276                               <ul>
277   <li>Vinnie told me of a CVS Administration Web App he wants so I started developing it</li>
278
279   <li>Working on the basic login screen and parsing of files like passwd and repository readers/writers files. Borrowing heavily from my MAPS application at home where I have done this before.</li>
280 </ul>
281                               
282                               <p class="entry-footer">
283                                  <span class="post-footers">Posted by  at  5:23 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000385.html">Permalink</a>
284                                  
285                                  
286                               </p>
287                            </div>
288                         </div>
289                      </div>
290                      
291                   </div>
292                </div>
293             </div>
294          </div>
295       </div>
296    </div>
297 </body>
298 </html>